Checking lag sources on a spigot server

We are running a public vanilla minecraft server through oracle cloud. With 10+ people the tps can drop down to 12 without anybody doing anything resource intensive like exploring or running any big farms. Through spark we can see that the server isnt utilizing all the resources, using only 6-10 GB of ram out of the available 24 it should have, any the CPU is usually around 30%, rarely going up to 60%. Spark says the biggest source of the lag is guard.EntityTick() but we cant figure out what it actually means by that or where would we find that inside the world. We would rather not install fabric/forge. So the question is, how can I find the source of the lag, or figure out why the server isnt utilizing all the resources it has?
42 Replies
Snow Kit
Snow Kit5d ago
can you share the spark profile?
electrofox61
electrofox61OP5d ago
spark
spark is a performance profiler for Minecraft clients, servers, and proxies.
Snow Kit
Snow Kit5d ago
have you tried using paper or pufferfish
PaperMC
Downloads
Find downloads for our software – including Paper, Velocity, and Waterfall.
Pufferfish Host | Downloads - Pufferfish Fork
Download Pufferfish and Pufferfish+ Minecraft server jars
Snow Kit
Snow Kit5d ago
all plugins will be compatible
Snow Kit
Snow Kit5d ago
also, use launch flags from https://flags.sh/ and only allocate about 8GB. You don't need 24GB of ram to run a minecraft server and having more ram allocated will slow down your server
flags.sh
flags.sh
A simple script generator to start your Minecraft servers with optimal flags.
electrofox61
electrofox61OP5d ago
paper will definietly not be used since its an SMP with automated farms and stuff, and i never heard about pufferfish so ill look it up we will also try changing the ram
Snow Kit
Snow Kit5d ago
well pufferfish is based on paper you can disable features to make paper act closer to vanilla villagers are the main source of lag anyways tbf
duolingo se acerca
If you don't want paper, try fabric with Lithium
Snow Kit
Snow Kit5d ago
We would rather not install fabric/forge
duolingo se acerca
Oh, didn't read that But weird, people should be able to join without installing fabric on the client afaik
electrofox61
electrofox61OP5d ago
To be fair if we have no other option we'll probably get fabric first instead of switching to paper, currently its running okay and ye, dealing with villagers could be something we do
duolingo se acerca
If your decision for not using paper/fabric/forge is to keep the vanilla mechanics or breaking redstone contraptions, the people from Hermitcraft actually use fabric with Lithium because of that reason, it doesn't break vanilla mechanics In the meantime, most of your lag is caused by entities, so keep them controlled
No description
electrofox61
electrofox61OP5d ago
not using paper is definietly for keeping vanilla mechanics, as for fabric/forge, i dont have anything against it, it would just mean some downtime for the server til we switch, but if it improves performance we'll switch eventually entitylag on a public server seems to be harder to control tho, since everybody has their own base and its kind of hard to tell people to "not have animals" or "not have villagers", but we'll keep it in mind
Skullians
Skullians5d ago
yes, it is harder to control because you’re using a software with no perf improvements
zam
zam3d ago
if you didnt make the switch; make it. was in the same boat as you. most plugins that we used (geyser, coreprotect, simple vc) had replacements on paper or the exact same plugin. honestly had better performance on it somehow
electrofox61
electrofox61OP3d ago
well currently we are on the edge of switching, currently the worries are 1. coreprotect alternative seems a little lacking, altough its not a dealbreaker 2. heard about possible world corruptions so want to make sure thats not a thing when switching to fabric 3. something for fabric that can check sources of lag, simular to observable but ye, we'll probably try out fabric soon enough
ProGamingDk
ProGamingDk3d ago
spark exists for fabric so should be fine
electrofox61
electrofox61OP3d ago
oh, i guess i never checked that huh
zam
zam3d ago
yeah, the mod is a LITTLE lackluster and yeah spark is on fabric i had no issues w/ world corruption you just need to move the folders and rename there's a guide. no user data lost at all
electrofox61
electrofox61OP3d ago
ye, tbf i also feel it wouldnt be logical if there was world corruption just from this, but its better to be safe then sorry, so we'll still make a backup and stuff
zam
zam3d ago
that's what i did and it went perfectly
electrofox61
electrofox61OP3d ago
well, it went pretty well, only thing we lost is the authentication since we didnt find a way to convert loginsecurity database to the easyauth database, which is a shame
electrofox61
electrofox61OP3d ago
while the transfer went well, performance didnt improve at all (we also tried changing the RAM for the server to 8GB as suggested, but it didnt change much) https://spark.lucko.me/7B300Xlmlg
spark
spark is a performance profiler for Minecraft clients, servers, and proxies.
ProGamingDk
ProGamingDk3d ago
fabric isnt known to be fast (comparatively), paper will blow it out the water
zam
zam3d ago
Odd
ProGamingDk
ProGamingDk3d ago
oh offline mode 😭
zam
zam3d ago
What provider are you using?
electrofox61
electrofox61OP3d ago
Oracle cloud
zam
zam3d ago
ah
electrofox61
electrofox61OP3d ago
we'd like the true vanilla experience, to my knowledge paper still changes vanilla mechanics where some are not even configurable
ProGamingDk
ProGamingDk3d ago
right but i was saying about the performance most things are tho, purpur lets you change even more things to vanilla
Schroedes
Schroedes3d ago
I know you don't want paper but I love it, performance wise it is amazing, I would at least give it a try and tweak it as needed I can't comment on purpur since I've never used it, I've mostly used paper (and a little bit of fabric in the past)
electrofox61
electrofox61OP3d ago
it honestly doesnt fill me with much confidence that paper itself knows it cant give the full vanilla experience, and from what i heard setting it up so it doesnt break anything would take a long time we'll see, right now we'll try to make fabric work as best we can i guess, maybe i'll look into paper/purpur eventually
zam
zam3d ago
Paper isn't worth it for what people want. There's a different in a online popular server SMP vs. a legit minecraft survival world. Paper just breaks too many mechanics in modern minecraft for automation and chunks. Disable it all you want, Paper breaks the gamme from inside just to increase performance. If you want better performance with full vanilla, you gotta spend more unfortr
MachineBreaker
Paper doesnt break that many vanilla mechanics, craftbukkit and spigot do They're recovering vanilla mechanics actually
electrofox61
electrofox61OP3d ago
id be interested to hear what spigot breaks cause i didnt hear or experience anything, yet paper is known for breaking vanilla mechanics and "fixing" them, they say it themselves https://docs.papermc.io/paper/vanilla
Vanilla-like Experience | PaperMC Docs
This page lists all changes that result in a different experience than Vanilla.
Schroedes
Schroedes3d ago
All I'm saying is that if you want better performance paper works well, it won't give you exactly the same experience as vanilla but you have to pay the price for things like that sometimes
MachineBreaker
CraftBukkit for example introduced a queued neighbor update logic while vanilla one is instant Which affects redstone components
Snow Kit
Snow Kit3d ago
I should also mention that oracle’s free tier is pretty slow
electrofox61
electrofox61OP2d ago
Its just weird because weve never had problems with it even in modded games (granted, we didnt have 10+ players) and the specs seem alright (and we'd like to avoid spending money of course), but im open to hear about suggestions about other hosting options, whether its paid or not
electrofox61
electrofox61OP2d ago
Oh cool, ill check that out when i have the chance, altough things may be different since im in central europe (hungary)

Did you find this page helpful?