#help-development
1 messages · Page 865 of 1
Nah it's not
rip
It's another 10,000 iq idea
for sure
it certainly won't be outdated and replaced by thirdparty ones in a matter of months

Spigot needs brig colors absolutely required so I'm going to sell my soul
at least this does not look like there are any sources
and it seems to actually search for those too
Not like redoing what we have IMHO it's perfectly fine but could use some improvements e.g. still no brig support to be found it's mostly that and if I find anything else
yea but "no brig support" isn't just shat in
you can't just shit in brig into the existing API lol
True it'll be hard but I'm going to go for it anyways
good luck 👍
I guess that is my queue to go back to work on paper, gotta hardfork before that mess ever makes it into spigot 
Mainly I need to aim high because this semester I have 5 hour gaps in between classes
On 2 days a week
And I can't go home
Lynx is now deprecated
Oh come on why no brig it'll be fun
It might take a few months to make nice though unlike inventory api this isn't something I can think up and make in a week
Like, I am sure it is possible, what owen is doing for paper seems reasonable, but the PR is just, kinda unmergable
So like, you just end up wasting time for 0 gain beyond showing it is technically possible
Well I think the main issue is the opposition to breaking changed with brig has
I mean a) yes, but b) maitaining a framework on the server api level just becomes annoying
you can just expose brig and dip, probably the most sensible thing to do
Well that is kinda the goal the API is already public no? What'd be wrong with exposing it some
Granted you have the drawbacks of using a third party library though
a lot of work
but doable
but you said command API prior
which is completely different from just exposing brig
Alex told me about a legendary async tab completion too that exists I wanted to try out too
I mean considering chat is asynchronous tab completion not being is weird
Well it isn't on the server side yea xD
Yes but command api sounds funnier
¯_(ツ)_/¯
its a waste of time. md would be a mad man to take on the responsibility of maintaining a command framework on spigot that is more complex as the current implementation
I'm all about the funnies and 0% about the naming practically have you seen my greatest achievement Pineapple???
like, cloud has a full team of people. so does AFC
ha, got it working
Yeah cloud is super nice no point in a server software doing that ahit
using bt with --generate-source and manually setting the src-folder in intellij to "$BuildTools/Spigot/" seems to have done it
dunno what other useless shit it also indiced now, but idc to be honest
Anyways since school starts next week with the gaps and all I figured I should start stuff only issue is running BT on my laptop 😂
best of luck 😅
seems to do exactly what i want now. thx
nice 
Last time my laptop sounded like it was gonna take off
Into space
you should hear my macbook when it runs papers applyPatches
Dude I did it in class and some kid rolled his chair over by my desk and asked wtf you doing and I said compiling minecraft server software yk the standard thing that makes your laptop sound like this
the shitty version of a kernel dev
I was in data structures those kids didn't know how to code for shit
They'd be impressed by PineappleChat smh
I'm going into classes related to my actual career now though ig that's loosely related but not directly
which theme is this
There’s two types of people in programming classes
Those that have already been programming for 5 years
And those that barely know what a computer is
No in between
Turns out I'm the first
Can confirm
What methods can be used to modify a mob's existing nbt data?
For instance if i want to modify a dropped_item entity's itemstack data, what can i do?
fr there were some people who were in my entry level programming class who were actually already software engineers
their company was simply paying for their degree
Sometimes you gotta have that degree
one of the guys said I was better at coding than most of his co-workers I am now terrified to get a job
( i am not good at coding )
Yes
Cast it
Entity datatype
Item item = (Item) entity;
Still, apart from item, how do you modify a mob's nbt
Via api methods
?
All vanilla NBT values should be exposed via some sort of method
See the javadoc classes for various entities to find the methods you need
Spiget API
you can't download premium plugins being the caveat
can i use it for fabric?
no this isn't hte place to ask about fabric
also its spiget -> API For Spigot Resources, not spiget -> API for Fabric Resources
ok thks
Modrinth has a downloads api iirc
ye i thinks so
hello, i got a bukkitrunnable and it is supposed to runtasklater, but in some cirumstances in need to run the task immediately, can i get the runtasklater task and run it immediately somehow?
You'll have to save it in memory in that case
i alr saved those tasks in memory
but i dont see a run immediately method or something
do you know how i can run it?
Pretty sure they have an exposed run method
If not either reflection or make a wrapper
Id suggest the latter but you do as you see fit
i dont think im capable of doing any of those two, is there are tutorial on these methods ?
?jd-s
you sure this explains what a wrapper is?
one second let me check source
CraftTask Implements Runnable
use reflection
no need, just cast BukkitTask to CraftTask
actually a cached MethodHandle right here
i mean, you could just cast to Runnable
or runnable ^
don't cast to CraftTask though
then you lose multi-version compat
casting to runnable blindly should be fine though
so cast to bukkitrunnable?
CraftTask would mean specific version
does precommandprocces event.getcommand return the command with or without the /
no cast to Runnable
okay
its returns the whole message with /
alright
Just use BukkitRunnable#run
you cannot cast a bukkittask to bukkitrunnable
i tried that once but it doesnt work
If u got code that needs to run instantly, do it properly, and then cancel the task.
i could do that, but only the task knows what should happen
and i do not
as there are different things that can happen
easiest solution is running the task immediately
Make a method that does what the task does and call it from the task and whenever you need to run it now, maybe
Or am I misunderstanding the idea of this thingy
as i stated, only the task knows what's going the happen as the variables put in the task are never the same
and i dont know the variables
im putting player objects in the task and i dont know which player objects are in the task
You could make a class that stores the variables instead of the task/runnable
i guess, but why shouldnt i just run the task?
If you can't how do you want to?
Hmmm
runnable.run();
tasks.remove(runnable);
Crazy
i know
I would make a task wrapper
well, wait
at what point do you know when the task needs to be run
if you know at point of scheduling whether it'll need to be run immediately or later, then I don't see the problem
if you need to schedule it and later potentially run it early, I would make a wrapper that schedules the task and stores it, with a runEarly() method orn something that cancels the task and runs it immediately instead
you could store the actual thing to be executed as a Runnable separately from the task
Hi there, was wondering, do you have any special method for testing plugins that need more than one player? I've been using a cracked client as a secondary acc for a while, but there might be a better way
Also, I remember that forge repo allows gradle runClient (I think) that opened a client with an offline account to test mods and that's quite useful imo, so is there any standalone repo or a way to do that from the terminal? (I searched on google and find quite old threads, +9 years)
Hello everyone! I have a question regarding Bukkit/Spigot 1.20.2. I'm working with ProtocolLib, canceling/sending some packets with delays. I'm encountering a peculiar issue: upon the FIRST LOGIN of player X after a server restart, all of their tools have the breaking speed equivalent to a bare hand (as if the tools don't exist). However, upon relogging (regardless of how many times), the breaking speed becomes normal for the same player X. The server has no plugins except mine, and it uses the Purpur core. After a server restart, all players experience the tools having zero breaking speed until they relog.
Is there a specific network packet responsible for breaking speed, or how can this be explained? Which direction should I investigate?
P.S.: Sorry for my English.
Lmao I didn't know it could create offline accounts and didn't use it before hahah thankyouuu
everyone who talks about "optimizing" here all the time should just be more like kotlins compiler lol
"yo bro I dont think its worth it"
xd
someone should make a language pack
that
changes the messages to something like that
"man you forgot a simicolon again its like the 100th time today"
"switches are a thing yk?"
"this is stupid try this instead"
that's how I see optimisations 99.9% of the time
unnecessary complexity for little achieved
I mean, always depends how hot the path is your are optimizing
given I doubt noInit is called like, every other millisecond, its w/e
If it doesn't cause performance issues I don't optimise it
Well, depends on the project I guess.
rather add one to the mario theme
if you are writing a plugin that is a somewhat terrible attitude
"mamamia, what happened here?"
obviously there is a point where it is overoptimization, for sure
bowser laugh on build failure
but like, coding with speed in mind in a modular landscape where your module will have to share cpu time with 20 other modules is not a dumb idea
the other modules better have my same mindset 💯
Yea exactly
The only reason to overoptimize is when you are bored and finished your project already
Then you just completely rewrite the whole thing to run 20 times faster and look 70 times cleaner than before
I mean looking cleaner is debatable
I often end up having to use new caches in places that kind of annoy me because I find it to look much worse than a simple getter call
Alright, I downloaded the latest build of Spigot-1.20.2, set up a local server with it, and my plugin. Everything is the same; upon the initial login, the tools break at the speed of a bare hand, but upon relogging, everything works fine. What versions are available?
But true if it was fundamentally bad code in the first place then sometimes optimisation helps cleaning it up
What versions of what are available?
yeah
"if i use for. will it lag my server???"
Versions of the source of the problem of course... Maybe there is some network packet that can be forcibly sent through ProtocolLib to "update" the digging speed?
does anyone by chance know which packet needs to be sent (with nms) for player unwearing armour, otherwise I'll need to find it here: https://wiki.vg/Protocol
Digging speed is controlled by the item and the players attributes
So whatever packets are sent corresponding to those
Break speeds are hardcoded
that is exactly what I am trying to do
The only thing I can think of here is item tags being removed from some reason
My brain was thinking attack speed
Yeah breaking speed is controlled by the item and the block tags
this reminds me of the "doctor I broke my entire body" joke
this is not possible for me because I need to code a plugin for 1.8
oh wait but I can still do it how it is done in CraftBukkit's code
pov: it's a simple for loop that iterates 30 times
it just sends a ClientboundSetEquipmentPacket for the given slots
yeah and in the next line they check for updates on the main thread but they're more worried about the simple for loop
how is it called in older versions?
Clientbound is Out, so I guess it's PacketPlayOutEquipment or PacketPlayOutEntityEquipment or PacketPlayOutSetEntityEquipment or sth like that
net.minecraft.server.v1_8_R3.Packet<net.minecraft.server.v1_8_R3.PacketListenerPlayOut
PacketPlayOutEntityEquipment
thanks btw, let me see if it works
Can you be more specific about the names of the packets I need to send? Or maybe Bukkit/spigot APIs have ready-made methods to "force" server2client synchronization?
I think a better question is what the heck are you doing to break it in the first place
Very briefly, I cancel the event of Server2Client sending all packets except these:
"SPAWN_POSITION",
"SET_SUBTITLE_TEXT",
"SET_TITLE_TEXT",
"CLEAR_TITLES",
"SET_TITLES_ANIMATION",
"SET_ACTION_BAR_TEXT",
"SYSTEM_CHAT",
"KICK_DISCONNECT",
"LOGIN"
And when canceling, I write them to LinkedList to send them in the same order a little later. I can't explain the main purpose of this case. But I have mentioned the main functionality
You need to sync item and block tags
Not sure why you're cancelling all the packets though 🤷♂️
Roughly speaking I make a plugin for authorization and try to buffer Server2Client packets to send them only after login. This hides unnecessary data about the player before he logs in
wut
Does the bukkit API support this? Or what packets need to be sent?
Where is "version list"
Oh version_numbers not protocol history

Wait 1.20.2 was the configuration phase
Wack I thought it was .3
But yeah don't cancel the config packets
Sending them later wont work since they can't be sent outside the configuration phase
legal yes, will it work maybe not
Hmm, which packages are configuration packages? Uh, interesting.
They should be clientbound
rule :D - compare primitives with ==, compare objects with .equals
so I'm guessing the same folder as the other clientbound packs
that's how I go by it
ill primitive you in a minute
wtf
ye ik, my friend made this code
There are cases where you want to compare with ==
I mean how do you determine which package is "configuration" and which is not? Is there any information?
enums :D
You just have to be aware of what it does
doesnt it compare their location in the ram
You read the Minecraft code
That's how you work with NMS
Yes, I got myself the CraftBukkit sorts, however I haven't figured it out yet. I mainly write for 1.7.10 version, and in this version network is completely different. I can't get used to it yet
6.1.1 Clientbound Plugin Message (configuration)
6.1.2 Disconnect (configuration)
6.1.3 Finish Configuration
6.1.4 Clientbound Keep Alive (configuration)
6.1.5 Ping (configuration)
6.1.6 Registry Data
6.1.7 Resource Pack (configuration)
6.1.8 Feature Flags
6.1.9 Update Tags
Thank you very much, I'll try not to reject these packages now and see what happens 🙂
How about just blocking the packets you want to block
instead of whitelisting packets
Can't help but be curious why they are delaying packets
To prevent the server from sending unnecessary heavy packets when attacked by bots
1.7.10...
As well as hiding information about the player's location, inventory and more
On 1.7.10 I write in general mods, not plugins. However, it was necessary to temporarily switch to 1.20.2
hmm, whats wrong with this?
it moves it but not interpolating it
just instantly gets moved
ah let me try
been going off this: https://www.spigotmc.org/threads/how-do-you-manipulate-display-entities.599735/
so
nah, still doesn't interpolate
Is there some way to track when the server is done loading? Like, the moment the server sends the "Done!" message into the console
did you recently spawn it?
yeah, i just had to put a delay on it
Hi , what is cheapest minecraft hosting ?
bloom is a nice host
i've used it for quite a while
bloom are one of the cheapest i know of
i mean i wouldn't say poor but its a good host for how cheap it is
support is pretty good, idk about availability
what ? 24$ with 8G ? isn't cheap !
thats performance plus
normal performance for 18 would suit most servers
you probably also wont find actually good hosting for cheaper than this
I'd guess you can play with 6gb ram with like 8 players, dunno about 8gb
not matter i need a potato server :/ ( just jokking)
even performance+ is a good deal imo
potato performance is good for me :/
Are you kidding with 20$, You can perfect pay a good vps machine on Contabo hosting
isn't cheap , because i have hostings with 4gb with 3$ but i am looking for cheaper hosting !
you ain't getting cheaper than that
^^
people ain't selling 4gb servers for $0.50 per gb
if you need cheaper the next option is self hosting which in the long run would probably be more expensive
I do know a hosting that gives you 6gb for 0.5$ lmao
yeah , american and europian hostings isn't cheap :/
their cpu is probably ass though
But it's shared and it doesn't give anything above 6gb so
because their datacenter is expensive
i like how they list Aikars flags as a selling point
Omid you cant take just raw numbers into consideration, things like location, availability, support and other things for instance the more exact hardware specifications matter also
Lool, many plataforms as a service costs less than that
I've been running a little smp for my friends for a few months, runs fine
yeah pretty bs, not to mention they're sorta outdated
or well, they could be updated to match the current mc jvm resource consumption more sophisticatedly
new flags just dropped conclube optimization flags
lol well I want to find some optimal ones w j24
If You want to run a whole network, just buy a vps. It's cheaper than paying many hosts
once that releases
yeah but who uses anything higher than 17
21 virtual threads
enough of a reason to migrate
also gen zgc!
which is an interesting subimpl of zgc
does zgc even do much to spigot/mc
unsure
zgc has been known for very volatile consumptions
but gen zgc aims to stabilize the consumption over time but regionalizing objects depending on their lifetime
sus
yup
tbf g1gc is just fine for like 99+% of servers
yea definitely
Buy a vps!!
what about those really nerdy servers that have 2 terrabytes of ram and run folia
You forget all problems
gen shenandoah :p
i had a lot of trouble finding a vps that felt like it had good price to perf so i just said fuck it n rent a dedi from ovh
(fckin american servers, why cant ANY of them be cheap enough)
lmao on amazon, all the books about gradle are not part of kindle unlimited - except for this one lmao
the only one included in the subscription is ofc the 1 star bullshit book
i don't feel like spending 60€ on a book that will be outdated in 2 years agao
i generally don't like directing people to youtube videos but this is genuinely good
I can't find the network packet name for Feature Flags and Update Tags in ProtocolLib
🤔
this already seems outdated 😭
thanks but I really hate watching videos 🥲 people always be talking and talking and ugh why don't they just write down the information
let's do A POWERPOINT
ha kotlin! you promised to not need semicolons but why do you require the commas here? aren't they pointless?
Hii, i buy machines at reliablesite or contabo. Atleast in contabo prices are really good and has too decent machines
contabo is bad though
16gb of ram around 10$ per month in Contabo
Ram isn't everything
hetzrnwr
maybe check on hetzner in finland, they are cheap for dedicated servers
You can have plenty of ram and a potato cpu
for dedicated servers, not vps
i mean you will host minecraft server, not a whole buisness
hetzner
you're essentially making a primary constructor, which can be collapsed to a single line, so need some delimiters
isnt that host for dedicated servers?
Better off using a Minecraft host like Bloom then
but it is not collapsed
cuz its basically a constructor no?
they do cloud
wouldnt u need... commas
you'd have to have a pretty smart tokenizer to determine whether or not your tokens are collapsed or not its easier probably to just force a syntax
that's like saying that semicolons shuold be needed in the left pic because I could have written it like in the right pic 😄
good choice
well dif thing to the tokenizer I assume ( requires some form of , or -> and { doesn't
yeah but why
hetzner doesnt exactly have american servers tho now do they
basically yeah
mmm well I'd assume ( is considered to be a constrcutor in pretty much every form so you need to know when params start and end
or dedis
Could always go for a US vps
yeah but they could also just use a newline there like they do for everywhereelse. guess they were just lazy
from a lexing standpoint just saying yeah ( denotes constructor start, but probs didn't care to go further than that
already looking at $6 for 2c/(hopefully?)4tr with 2GB of ram :(
they only got x86 VPS in the US (hillboro, or and ashburn, va)
i mean idc if its x86_64 or ARM tbh
ARM is nice but ive only used it on oracle so far lol
2 cores, 2gb ram, 40gb ssd for 4.58€ at hetzner
but 2 cores = 2 threads
just get the CCX63. it got 48 cores and only costs 342€ lol
so what you tyring to host? You are over engineering too much haha
what I said is that constructors are specified to always have parameter delimiters and a data class's properties are a primary constructor - as to why, that's jetbrains's design choice, imo it's better with commas
lmao, in my case I paid a thousand euros for 2 impeccable servers with 128gb ddr3, dual xeon 16 cores and 2tb sdd on each machine. I paid them so cheap because they were auctioned from a company that went bankrupt and they had to auction everything so they wouldn't be seized
I'm having a bit of trouble figuring out how to read the text on a sign post-double-sided signs.
A lot of online resources only show how to do this for single-sided signs, and looking at the spigot docs, it seems that a lot of these old methods have since been depreciated.
What I would like to do:
When an on player interact event is fired, get the sign they clicked, and read the lines from the side of the sign they clicked on. I would also like to be able to cancel the sign edit event so that the player is not able to edit the sign, even if it isn't waxed.
Would someone be able to show me how this is done?
Thanks!
maybe a minecraft server or two + extra stuff
Thanks for this. I don't suppose you'd know how the get the sign side from a player right click event? Is there a way to cast a BlockFace to a Side? Thanks.
with extra stuff, you should mean databases and website and/or discord bot hosting. Right?
yeah
okay, so yeah. I would recommend a vps in that case because you can have all together and pay what you really need
Let say you can be really good with a 16gb vps
I have setup a versioncatalog in settins.gradle.kts called "libs", which I can access just fine in all my build.gradle.kts files, except inside buildSrc - is there anything special about buildSrc? What can I do to be able to access it there too?
maybe ill give contabo another look, bc for most places i checked (vultr, ovh, hetzner, etc), my ovh dedi has better pricing
Read the reviews
atleast for mc hosting most say they are pretty stabl. Ofc they not designed for buinesses usage there yeah move outside
what does that? I can run it and send it here
it's a benchmark, you can just run it without installing anything: curl -sL yabs.sh | bash https://github.com/masonr/yet-another-bench-script
not found mfalex, its it correct?
curl is installed
what does it not find then?
don't copy paste the link
whut
only the curl -sL yabs.sh | bash part
💀
i'm checking my vps lol (not on contabo but for fun)
test is running, once is done ill let you know here
sorry for copy-pasting what ever
thx! It'll take like 10 minutes or so
and then it gives you a link with the results
oh pretty cool, i didnt know that give you link
huuuh I thought hetzenr only gives you 1gbit/s?
on my end, it's running
You'd have to make use of the clicked face in the event combined with the BlockData of the sign
how the fuck are you getting 6.66 GBIT/S ? 💀
that is in send speed, right ?
so i'm getting fucked in IPv4, let's go
on one hand, i'm getting 32 ms, and on the other end 1 ms
explicitly define the version catalog for buildSrc (in buildSrc/settings.gradle.kts) and declare a dependency on the accessor class in buildSrc's buildscript: (implementation(files(libs::class.java.superclass.protectionDomain.codeSource.location)))
then you can just get it in a convention plugin with val libs = the<org.gradle.accessors.dm.LibrariesForLibs>()
They probably guarantee 1gb/s
Unused capacity is wasted 
hmmm I'll try that

today is friday and you asked a question
what happened to wednesday only
I must have forgotten which day it is today
lol
Benchmark results for a QEMU Standard PC (i440FX + PIIX, 1996) with an AMD EPYC 7282 processor.
there you have
oh yeah that's only the cpu benchmark. the file stuff is just in the text output on console
oh okay
Just would complain about the location them the benchmarks are okay
Because the location fucks you with the ping
weird, your 4k IO is extremely slow but 512k and 1m are super fast lol.
Here's mine:
- Hetzner Dedicated AX41: https://paste.md-5.net/ogozofareh.rb
- Tiny home server: https://paste.md-5.net/supudaloma.rb
- Hetzner Cloud CX11: https://paste.md-5.net/godotowona.rb
yeah, thats really weird. Was firs tthing i realized
mfalex may i ask you about your opinion with the cpu Xeon E5-2697A v4. Its the cpu that contains the servers i bought in the auction
i dont know anything about hardware
oh okay, right. Thanks tho
the recipe in the code is correct but different in the game
what?
it's pretty bad for minecraft
not a high core clock, loads of cores, old (broadwell)
Xeon E5-2697A can still be good
since it's worth around $3000, the processor itself
and xeon series are specifically made for servers
if it wasn't good, companies wouldnt make servers with it
that's merely a reference price, it probably goes for hundreds of bucks on ebay or such
not really, it's from 2016
if it's from hetzner's auction, they are just old servers
companies still use xeons for minecraft even in 2024
not sure if its bad or good but i guess if they use it it must be good
the E5-2697A v4 goes for not even a hundred bucks on ebay lol
or they're just running old hardware
soing this in a ubuntu termal, and i cant figure out how to make the start script
also using screen
could you please provide everything you are using
And also this should be on #help-server if im not wrong
Lets move there and i can give u a hand
oh sorry
np, its okay
old hardware doesn't mean it doesn't perform
its not like they stopped working
yeah, there you are totally right. Because threadreapper cpus have been used for many years for hostings when know "Epyc cpus replaces them" - This talking from amd side
we talking bout contabo ye?
other then core count which isn't a major factor really, the only real difference between old server cpu's and modern ones is mostly going to be instruction sets
its not like a 4ghz cpu that is dubbed outdated is slower then a 4ghz cpu today. They both run at the same speed and adding cores doesn't add cumulatively the processing speed
what those cores allow you to do is run more things at once, not that they are somehow faster 😛
this is like one of the worst hosting providers I know of
would never recommend them to anyone
yeah they sucky suck
when you want it to compile but are too lazy to implement that class
yeh
i know, but about prices is decent
In my case i prefer reliable but they dont sell vps, jusrt dedicated servers
they are not reliable
far from it
if you want to use them go for it, its your experience and or money
reliable site, is a dedicated machines host - hhaaha
oh amazing, i havent seen a circus since i was 10y, around 8y without seeing one
whats time? Isnt it around 8 pm
hmmm
how are your circuses?
probably better then the ones we have in the US these days
like 8 trucks pulling up to an empty dirt lot
setting up a couple tents
seats are 15 bucks
big tents with chairs on it and none animals. They just do weird things, real circuses where the ones which used to came with animals
if you just want to stand and watch it's like 12
I saw a weird circus video up north where they used animatronics n shit
this seems boring
do they at least have clowns?
yes, atleast haha
but i wouldnt go to anyone anymore haha
last one was like 7y and it was liked i described
there was cirque du soleil like 2 hours away during new years
the most interesting was the globe where motorbikes run inside. Then borring and borring
it better be a hell of a circus if I was going to pay this much to go to a circus
otherwise I will just go visit six flags
it's like the top one in the world
company was valued at a billion a solid decade ago
they use their own proprietary acrobatics stuff
was a crazy production
there were like 3 employees that died tho
acceptable
in the span of 30+ years it's acceptable
even if it wasn't, that line of work you can't expect someone to not get hurt at some point
yeah
one was an acrobat that slipped
another was some kind of winch that slipped or dettached
makes sense on the winch part
them cables and hooks fly pretty fast when they detach XD
all the deaths were pretty much blunt force trauma
think the cable slipped from the pulley or sumn idk
but no spectator managed to see the person die
lady just slipped and hit the floor hard
I made bad experiences with Contabo
contabo has lots of ram to account for the shitty cpu perf
They seem to be extremely shared and very low end hardware
That's why they are cheap as fuck
it's like "no other vps provider offers 60gb ram for like 30 bucks a month" and you realize they just have these shitty 4th gen cpus with like 2tb ram crammed in
yeah thats why they cheap, they are VPs, not dedicated servers
shared between 19 ppl
This is not the reason
damn I'm starting to regret having ordered food
if you wanna fully perfomance buy OVH rise tier and then you forget about everything
was looking really fit at the gym today
gonna guilt myself for eating like shit all night
Virtualization is not the issue. The issue is 20000 people using the same cpu core bc it is allocated as shit and very bad hardware
Something clown, but is google free tier better than Contabo? 🤔
A good KVM root has like a performance diff of 5% to dedicated max
you know about hardware? In how much would you evaluate a machine wtih this things
Uhh yes
With the things a full contabo dedi has?
2TB of like what, 2100Mhz RAM? 4th gen intel xeon cpu's? Lmao
I mostly know about consumer hardware tho, not that much about Enterprise
actually 4th gen xeon is 2023 stuff
no no, i mean i bought 2 servers really chap for 500 usd each one in an auction it was like winning or shooting. But i offered without scaring and i winned because they had just some rams modules brokened and no 9 volts battery.
Each machine has a double Xeon E5-2697A, 128gb ddr3 2666Mhz and 2tb sdd
You gotta notice that Intel Xeon CPUs are a catastroph for things like mc servers
answering to?
General
oh okay, have you read my message on top? Not wondering be rude, just know how good the machines i have are
but you can't extract as much as you can from like a 5950x
2tb of ram right? or i get losted
Always depends on usecase
in general, just with the idea i bought them in an auction and they dont have any issue
any server cpu that is not latest gen is not qualified to run a medium-scaled mc server
250€ per machine of that is kinda good
500$ each machine i paid, in total 1k dollar
I guess it's alright
ryzen 5000 is last gen
technically 2 gens old now
Could have gotten better hardware tbh for that money tho
oh right, because i seem worst machines than mines and they ask more than 1800k dollars and being really generous ofc
I said server cpu
Ryzen 5000 is not a server cpu series
Server series of amd are Threadreapper and EPYC
threadripper is pro-sumer
latest gen epyc cpus are great in my eyes
what means that? sorry im too dumb
iirc it's just a ryzen cpu but with like 10x the cores
and less single-core performance because power limits
Im about to order a KVM root with no oversharing, 48GB of DDR4 mem and Turboed Epyc 7543p cpus like 12 cores
For 25€
between a "professional" user and a consumer
25 each month?
Ye
lmaoo, where
Mchost
For example if you're compiling linux or android often you'd want to get a pc with the latest threadripper and like 1tb of ram
can you link it please i cant find it
and shell out 20k
Just google mchost
as long as you make mad money
doesnt appear im from uruguay, lot of outside things are not well indexed
wish I was in uruguay rn
MC-HOST24 bietet dir günstige Minecraft Server auf Prepaid-Basis ohne Slotbegrenzung zu günstigen Preisen an
got a cute chick across the border
oh thanks, it isnt even indexed. i will put up the vpn on washinton and give a look into it
dedicated servers right? or just vps
spanish i dont have that knownledge haha
just know vps and dedicated servers
is that something like Kubernates?
i mean dedicated servers are not shared machines. Its like if you buy a server and installs it at home. You are just alone in it buts instead of you having at home, its in a data center 🤔
Yes I know
I meant "their dedis are shared but not overshared"
Well at least they promised me after I asked them lol
it can be depending how it is setup
companies just lie, better option is own setup
no one fucks you
well then I can sue them lmao
well that's how contabo keeps their prices near zero
in an ideal setting, you would use a bare metal virtualization setup and allocation VM's appropriately in regards to the hardware it has available
lol
however, if you don't use a bare metal virtualization setup, already that is a performance hit
yes exactly, that is how mchost explained it ot me. They do not allocate more cores to users than they have on a machine
and then if you over allocate resources to the extreme like they do, then most definitely
proxmox on bare-metal is good
with KVM ofc
ofc dedicated is better, but is it worth the 200% price uplift?
for me, the answer is no
depends on your needs really. Because I like to have my own stuff and prefer to use my own configurations, absolutely
for those that are starting out and have really no experience at all, most likely not
But i will tell you something crappy from uruguay, since here internet security doesnt exists. Just starting from that our internet fiber optic connection is part of just one company provider. Meaning that if you want fiber optic internet must use that provider and then on top of it put your ISP (in case you want one).
Along that, our network is like a fucking locahost with a simple scanning of their ISP you can fully get all the ips of each router and so them, each device address. Something extra, the modems they give you dont have admin user they dont exists on them. So then, you cant open ports meaning you cant have servers at home.
yeah sure, that's why I said "for me, the answer is no"
I would also prefer my own configs and so on, but the price uplift is not worth for me
the modems not having a hardware firewall doesn't mean you can't open ports. The setup you are describing sounds more like a shared ip setup where it would be impossible anyways to allow people to arbitrarily open ports
my only issue with mchost in why I couldn't recommend them is they do not allow you full control over the VM
oh do you have experience with using them?
And something extra, until a while ago it was a monopoly. No one else had the right to bring internet through fibre optics other than that company. Now, anyone can do it, but as we are 3.5 million inhabitants, who is going to invest millions of dollars in bringing a different and independent fibre optic provider. As simple as basic mathematics, you don't get your investment back at any time and it's not profitable either.
Yes, they have this web panel and they charge on the basis of ram which is quite dumb if you were to compare them to an actual VPS provider
the web panel is completely optional
you can just not use it
Well, I don't remember them allowing you full control of the VM
they could have changed since I last reviewed them
you just get normal root access
you can even go into the bootloader
well bootloader is pointless on a VM anyways
not like you are going to be able to do much there
you could just flash your own ISO on it that way
so yeah, the system itself is full control
i agree with frost, there is not most hateable thing that a providing that cant be managed via CLi instead using their shity panels. Most of time you lost lot of time trying to find the option in the fucking panel
seems they have changed and I wonder if its because of people like myself who pointed out how a VPS provider was superior if you were charging based off ram and only allowed the usage of a web panel
when did you test it out?
its like some years ago. I tested them out two times
when they were first getting started
huh?
in 2019, it was completely fine. I tested it there
completely normal root access
it must have been a different provider then that had similar naming
possible
looking at their page now, this isn't what I remembered lmao
unless they were bought out
they were always the same 🤷♂️
ive been here longer than mc host
so either I am mistaken or they were bought out, in either case it seems they allow what you should as a hosting provider 😛
I have tested quite a bit of hosting providers over the years
well than it could be, idk
otherwise how can I recommend?
wdym?
you can't recommend one provider over another if you don't actually have experience with the provider you are comparing
yeah that's true
.d8888b. 888 888
d88P Y88b 888 888
Y88b. 888 888 This is a browser feature intended for
"Y888b. 888888 .d88b. 88888b. 888 developers. If someone told you to copy-paste
"Y88b. 888 d88""88b 888 "88b 888 something here to enable an Instagram
"888 888 888 888 888 888 Y8P feature or "hack" someone's account,
Y88b d88P Y88b. Y88..88P 888 d88P it is a scam and will give them access
"Y8888P" "Y888 "Y88P" 88888P" 888 to your Instagram account.
888
888
888
See https://www.facebook.com/selfxss for more information.
💀
years ago I would test all kinds of providers. Lately I don't really do that as much as I used to. But from my experience of back then, many people some successful others not so much were getting away with providing hosting in where they limited you to a web panel. I have tried a few of these and from my experience they sucked but it made sense why they restricted you this way and it was because they were charging by the ram allocation
the only providers in regards to hosting that I see the usage of web panel only being acceptable
were shared web hosting providers
...and straight up gameservers
the only gameservers which I wouldn't call it a game server per-say that I am familiar with in where being provided a panel was probably the best solution was them ventrilo and teamspeak providers
couldn't really see those being done any other way lol
everything huge uses aws
i agree
well that's a sign for that it is not huge
and they pay dearly for this when stuff hits the fan because there is absolutely nothing the devs or anyone else can do except wait on amazon to fix something
this is true with google as well
and between them both they have actually lost customers over such things lmao
but then again, those customers were not smart enough to realize centralizing everything to a single point was probably not the best idea either
never seen fortnite go down
so what do you advise? buy own hardware and datacenters?
it will when Amazon encounters another significant problem that affects their API and servers
don't forget to buy lots of diesel generators
generators love drinking diesel
not solely relying on google or amazon and rather using their stuff in a way that allows using other services for CDN's or backup CDN's
etc
discord is a prime example in what happens
i love drinking diesel too
discord exclusively uses google's api's
fancy! I prefer regular gasoline
but if any of the google api stuff or services go down, so does discord
if cloudflare dies, a lot of shit dies
and this has happened a few times already
true
what happens if the lavalamp explod
it burns you
Then all random is 0?
then everyone get hacked
Lol
to conclude, were can you host with decent machines and prize too, because ovh is not a good option for those starters
what's wrong with ovh?
aren't they using a camera to film those lamps? If so they could just point the camera towards the street
Lol
😂
prices? Maybe i dont know 💀
They could pay someone minimum wage to dance in front of the camera
Lmao
Ask a latin america to start a buiness hosting on OVh, they will take you to jail as steal crime lmao
OVH is for illegal game servers lmfao
why? for illegal reasons bullets offshare machines exists 🤔
Can't host a game server offshore. Ping matters
Quebec doesn't care about legal threats from other countries
Extremely based
Quebec whats that? its sound to me
Quebec is the French province in Canada
a baboon would even do it for free - well you gotta give them a banana from time to time
They are super based because they are super patriotic and hate everyone else. Legal threats don't even bother them
oh okay, so you Queuebec is good alternative for illegalibility and decent ping?
"What did you say, you sued me? Pff, good luck"
Why did I do that weird thing with the quote sign
In theory yes
» I don't know « said mfnalex. Which is me.
I am myself
Wait, does that mean I can ignore DMCAs in quebec
No
thanks for that good ifno, i ididnt know Quebec was liked that. Now i will have to move muy bullets offshare machines to Queuebec
You are mfnalex
I wouldnt wanna go to quebec, everyone there will try to speak french with you
@vocal cloud could u answer us? Dont let us with the dought. Thanks!!
Bonjour, le baguette, le pain au chocolat, je suis stupide, au revoir, croissant. All of my french vocab
dought doesnt mean "duda"
ajajaja
duda
dude
You'd have to be anonymous
Why
Since they can take legal action at you.
Why, if rights doesnt exists there¡ dont lie to us please
correct, it does not mean duda. (??)
what is it even supposed to be after all lol
The game servers that I know are hosted on OVH in Quebec are still up and the devs anonymous
oh perfect
thats the concept of bullets offshare machins using them anonymous and doing illegal acts. What a good service
Yeah, except you can get good ping in America and Europe
lmao why didnt i learnt that before? 😡
Probably because you have to make sure to be anonymous because they will sue your ass
Personally I like digital ocean droplets
Although I don't do illegal stuff LoL
The most illegal thing ive done, is tracked a whole vps. Because on their netowkr they used a weird plugman which allowed you to download remote plugins and execute them. So i just compiled a plugin with some sort of instruction for downloading a malware and sending everything to a self bullet offshare machine to thailand
And I did it solely for the purpose of learning about malware and remote communication. Because the plugin simply forced certain processes to shut down and exploited vulnerabilities to gain super user permissions.
Once that was done, what it did was to inject itself into the system as any spywhere would do. And open a websocket connection very complicated to trace to a bullet offshare machine in thailand.
On that machine it would send me info on authentication logins, credential changes, general logging. And even access to a vps own terminal by using what is reverse shell.
what
for java plugin
1.16.5, spigot
you want to open menu when you click on npc?
yes
uh wait let me see
In this video, you will learn how to create a custom event for NPCs! Not using Citizens or ProtocalLib API. You will learn how those APIs do it! This video shows how to right-click an NPC and perform some sort of event. Whether it's opening a GUI or sending a message, you can do whatever you would like!
Patreon:
https://www.patreon.com/codedre...
thanks
Hey guys, with the LuckPerms API, I'm removing players from groups like this
Group group;
if(player.hasPermission("group.vassal")) {
group = api.getGroupManager().getGroup("vassal");
} else if(player.hasPermission("group.duke")) {
group = api.getGroupManager().getGroup("duke");
} else if(player.hasPermission("group.lord")) {
group = api.getGroupManager().getGroup("lord");
} else {
group = null;
}
It works, but when I add these groups to a track it seems to fail. Anyone know how to fix this?
wdym "add them to a track"?
Basically permission nodes and weights
is there any better way of doing this? I doubt there is but:
@JvmStatic
fun tinyString(string: String): String {
val builder = StringBuilder()
for (char in string) {
builder.append(TINY_LETTERS[char.lowercaseChar()])
}
return builder.toString()
}```
like default -> group1 -> group2 -> admin
just converts a normal letter into a tiny one aka 'z' to 'ᴢ'
okay discord doesn't let me use it
there
@JvmStatic
fun tinyString(str: String) = buildString {
for (char in str) {
append(TINY_LETTERS[char.lowercaseChar()])
}
}```
if you want it clean
You can probably have a tiny improvement by simply adding an offset to your chars instead of getting it from a map.
wdym by offset?
rubbish
Also what a clown syntax
Looking for a dev to make a bungee plugin. Redirects geyser players to one server and Java to another. Dm me if you can help
yeah i dont like how kotlin did mapOf
just use those chars as index to an array and leave all unused slots on some invalid value, no more map lookups
Nope, i mean an offset added to your characters.
ah okay
at first i didnt realize these were small caps
so i was like wtf just use .toLowerCase()
But make sure to create an offset array, starting at the lowest char. Otherwise you will have a ton of empty memory
But a map is cleaner at that point
wdym offset array, idx 0 = lowest used char?
i believe we can waste like 20 bytes in 2024
fuck java chars are two bytes, in vga they are one
a is 61
So you have an array [ta, tb, ...] where tx refers to your tiny values.
You dont start with 60 empty entries, but simply access the array with an offset of 60
so tiny_a = array[normal_a - fixed_offset]
well ye obviously, thats what i said
just use those chars as index to an array and leave all unused slots on some invalid value, no more map lookups
This implies you would have an array with a ton of empty slots
Anyway yeah I just made an array and then used the character value to access it
i mean i just used a CharArray
idk why the index is -10 though
one sec
i tried this idk if this is right or not
but i is -10 ig so
what does that toTinyChar extension do?
wrong a
hmm, that might be the issue
yeah
not sure why i put the tiny a there
actually big brain
nah that didn't change the index
can't you just do offset = tinyA - normalA and then add that offset to every char you want to make tiny
shoot
ah
why not just use a string
to store the letters
sth like this should do
val ABC = "abcdefghijklmnopqrstuvwxyz"
val abc = "ᴀʙᴄᴅᴇғɢʜɪᴊᴋʟᴍɴᴏᴘǫʀsᴛᴜᴠᴡxʏᴢ"
fun Char.tiny() {
return if (this in ABC) {
abc[ABC.indexOf(this)]
} else { this }
}
fun String.tiny() {
return this.map { it.tiny() }.joinToString("")
}
If my string is "\n", is it 2 or 1 char long
1
Hmmm
\n is just the char 10
How should you properly remove a user from a luckperms group with the API?
looks like String#padEnd doesn't work properly on some chars https://paste.md-5.net/ujecevameb.rb
Is there a way to check if a player has started breaking a block (not the BlockBreakEvent)
you get their User object and the group's Group object, then you create an InheritanceNode for that group, and you just do user().data().remove(inheritanceNode) I guess
BlockDamageEvent
thanks
did this work? I havent tested it
how would i go about moving an armorstand based on where its punched? ex, the lower down the higher it goes
you'd get the armorstand's bounding box, then you can get the center. Now you can get the vector between the hit location and the center
i cant find a way to get the hit location
ok thanks
you'll have to check whether it even gets called
if it's not called, you can just do a raytrace to get the exact hit position
does anyone know a java/kotlin library to generate properly formatted markdown tables?
It does get called for armour stands, and it also exposes the point that was interacted with, so it's especially useful for armour stands
ofc I could just print out the values like this
| col1 | col2 | col3 |
|-|-|-|
| mfnalex | 27 | whatever |
and it'd look correct, but I'd like to already have a proper formatted markdown source code
ok nice! I was confused because the ArmorStandManipulateEvent extends PlayerInteractEntityEvent but not PlayerInteractAtEntityEvent
Serves a different purpose is all
At is the same as the regular interact event, it just gives you a Vector too
downside is it uses jitpack
ha! fancy! thanks
RIP
it's on jitpack
looks like its no longer maintained so if it don't work RIP
yeah
i don't think there is any "compile" scope
you'll want to use implementation
compile was Ye olde scope
im still looking for a good gradle book
Good luck
By the time a Gradle book gets published, all the information is inaccurate
Lol
btw does someone know how I can access my VersionCatalog inside buildSrc scripts? I can access it fine inside normal build.gradle.kts files, but for actual scripts inside buildSrc I have to use this stupid workaround: https://github.com/SpigotBasics/basics/blob/main/buildSrc/src/main/kotlin/Libs.kt
this forces me to do libs("acf-bukkit") instead of libs.acf.bukkit
Hey guys, if I'm making subcommands by using a switch statement after a prefix
/k (subcommand)
How can I add these to the /help menu?
By manually doing so ig?
You kind of can't? Depends on what you want
You can set your command's usage in the plugin.yml to something that placeholds your arguments, e.g. usage: /<command> <myarg>
Or you can register your own help topic
when you tab commands you can have autocomplete; is it possible to make the subcommands show up for those?
like
After that there's options like claim, leave, create, etc
Yes. You'll need to implement and register TabCompleter
similar to what you see when you do /gamemode
Or you can also use the TabExecutor
If you wrote your command in the main class, you can just override onTabComplete(). If you have a separate class with a CommandExecutor implementation, then you can also implement TabCompleter, or replace CommandExecutor with TabExecutor and override that same method
Command#setExecutor() will automatically assign the TabCompleter for you, as long as the type you register is also an instance of it :p
I'll just throw ACF into this chat - avoids all this hassle and does all the tabcomplete, generating help menus, parsing arguments etc automatically
yikes why don't they use TimeUnit or sth instead
^ agree +1
Lamp and Cloud are also great for this
I shall remind silent about my opinion about cloud
how can I declare that the constructor of a class throws sth?
class ModuleLoader @Throws(InvalidModuleException::class) constructor(val file: file) {
}
^ try this
Holy god of kotlin
yep thx, that works
I thought you didn’t know Kotlin y2k
idk why kotlin does it like this its weirdly more verbose than java
yeah some things in kotlin are weird
I'm participating in the basics development