Server keeps crashing
Each time it crashes, the crash report is always different. I’m not sure what the issue is, I could just be over looking it, but I can’t find it.
I use Birdflop.
https://mclo.gs/G3VmHkY
https://mclo.gs/KO14L9C
https://mclo.gs/9yI4vus
https://mclo.gs/WNp0Gan
https://mclo.gs/xq4CgVT
https://mclo.gs/qyxQwSJ
https://mclo.gs/nKz7dRw
95 Replies
Thanks for asking your question!
Make sure to provide as much helpful information as possible such as logs/what you tried and what your exact issue is
Make sure to mark solved when issue is solved!!!
/close
!close
!solved
!answered
Requested by sleepystarxx#0
16-20GB of RAM
Ryzen 9 7950X
6 Cores
20 players
Anything interesting in Spark profiler? I'm not a super expert so I just looked at your general config. I must say, even for modded, having up to 18GB of RAM allocated is generally a garbage collection nightmare. Shouldn't really need that much especially since you have ModernFix and FerriteCore installed. What happens if you lower the allocation to a maximum of 8GB?
I’ll let ya know
restarting it now
I just noticed you said 20 players :pepecross:
Even so, I'd be more concerned with world gen over RAM IMO. It really depends on your modpack, though, but generally world gen on modded is going to be your number one contributor to server load and, as a result, crashes. Is this on a pre-generated world?
We have 450 members, so.. but only around 20 people play daily, they switch out and stuff
no it’s not pre-generated
Gotcha. In that case, we might find more clues in the Spark profiler. It should more clearly show any possible correlation of lag and eventual crashes with loaded chunks and player count. You might want to consider pre-generating a relatively large radius around spawn so that only the infrequent expedition will have to generate new chunks. Loading already generated chunks is always going to be much, much faster regardless of the storage medium.
Hopefully someone else can chime in that maybe understands the logs better, but those are my guesses/ideas.
okay
thank you bunches.
Making a spark profiler would be useful
don’t use /spark profiler open links
only use links from /spark profiler stop
I can’t grab a spark profiler, because the server only starts having issues seconds before a crash
i can try to get one now, but again, the server is fine right now, just… it crashes almost immediately when having issues.
this is turning the RAM down to 8GB
Allocating 16-20GB of RAM may negatively impact performance due to GC
Can you send the profiler link so I can peak in the tick tree?
okay, let me get it
spark
spark is a performance profiler for Minecraft clients, servers, and proxies.
Spark Profile Analysis
❌ Processing Error
The bot cannot process this Spark profile. It appears that the platform is not supported for analysis. Platform: Fabric
Requested by sleepystarxx#0
here
I have always found observable to be hella laggy and sketchy. I recommend you remove it
When I use 18 GB the GC is never this bad
Your view and sim distance is too high, 8 view 6 sim max
okay
Do you have lithium?
we can’t have it
why not
also uh 8Gb isn’t enough for your server you might want to increase it haha
we have preformant, it was recommended by the owner of the modpack, and it doesn’t work with Lithium
Yeah was just about to say, safe to put that back up.
It’s normally 16
we turned it down to test
bc of what Loliswat said
Yeah, but from the looks of it 8 is not enough
I would honestly recommend lithium over performant
That was something I had them try just as a test to see how GC reacted.
it caused performance issues
uh
you are having performance issues right now
performant actually boosted TPS and lowered MSPT
i understand
it just makes it worse
okay, fair enough
Those GC timings are worrying though
i know :(((
Honestly? Try remove observable, never seen much use for it when you can use spark
Just out of curiosity, do you know the type and speed of the RAM you're using? I doubt it's an issue but still am curious.
Neruina appears to be very laggy
Yeah I keep seeing Neruina and Observable shoot up. What are those?
Observable is a mod that lets you see where high entity counts are
Neruina is a ticking entity fixed that stops entities from crashing worlds
However, although spark is showing high thread usage it isn’t necessarily causing lag
Yeah it could be a good sign then.
Create & cobblemon is alright tbh
It’s the GC I’m worried about
Well I just checked the CPU and the lowest compatible spec RAM is DDR5 at 3600MHz so I doubt that could be it.
spark
spark is a performance profiler for Minecraft clients, servers, and proxies.
Spark Profile Analysis
❌ Processing Error
The bot cannot process this Spark profile. It appears that the platform is not supported for analysis. Platform: Fabric
Requested by sleepystarxx#0
i removed observable
i put the distance and sim to the respective numbers
ram is at 16
running spark report now
Hmm so everything looks normal now, but your issue is exactly this, right? Eveyrthing looks normal and is fine, and then randomly you get a lag spike that crashes the server?
Cobblemon is contributing to a sizeable portion of the lag
however you’re not above 50mspt yet which is good
Cobblemon is the base of the Modpack, it’s called BCG+
yeah
It’s honestly just the CPU not being fast enough
GC seems fine so far
you are physically at the limits of your CPU
Consider downloading ServerCore
you can decrease spawn rates and other factors to improve performance
You could install a tool on the host to inspect CPU load per core to see if that's really the case, but it might be. I wouldn't have the prerequisite knowledge to be able to know how the single core performance of your CPU would match up with expectations for this workload.
well
mc is primarily single theeaded
I’m not entirely sure if birdflop provides a dedicated thread or not
My point exactly
They have a 16-core CPU so the overall CPU load percentage is not going to tell us much. Seeing the per-core load would give more insight, but I don't think Linux comes with anything out of the box to do that. I know there's tools you can install to see such information.
Was the view/simulation distance not already 8/6? Because if it wasn't then maybe that was really the unly change necessary. You could even knock this down further and have all of the clients install Distant Horizons to give the illusion of a further view distance while lowering server load.
it was 10 10
Birdflop Node Stats
Check the status of Birdflop's nodes.
^ can you tell us what node you are on?
Ah okay, so that's definitely helping a bit.
ServerCore does have dynamic view where it adjusts the view and sim distance depending on lag
That node doesn’t looked overloaded at all
yeah
I'm seeing the TPS start to drop slightly as the entity and chunk count increases, but nothing that looks out of place. It seems fine to me so far. This kind of matches my experience in that the view/simulation distance will have the most impact since every increase of one chunk has to load a radial increment more than the previous, almost creating an exponential growth in load. So lowering it even by two or three will have a strong effect.
Lithium and Servercore do not work on our server because of the mod it interferes with, Performant does better than either, it was worse when we had the others
Have you pregenerated?
They said no
!chunky - Pregenerate your chunks.
Set a worldborder to stop players going further.
Plugin: Chunky
Chunky is a plugin that will load chunks in a defined radius into server memory, making it easier, and less performance impacting on your server when a player loads those chunks.
If you've setup a worldborder, start with by typing
/chunky worldborder
. Otherwise, you can set a radius using /chunky radius #
. Then run /chunky start
.
It is a good idea to let this run with no players online. If your server does crash, just start it back up and /chunky resume
and it should pick back up where it left off.
Once it tells you that the task is finished, you may remove the chunky plugin folder and the Chunky .jar from your server.Admincraft Canned Responses
(Also a mod)
it will take a long time and will take up plenty of space
chunk gen is one of the heaviest for a server
pregenning removes that load
we have that
uhhh, if I use it while people are online it will definitely crash right?
It will be bad (speaking from experience).
It will use as much of the CPU as it can. When I did my pregen I let it sit for about three days until it was done. Then I opened up the server and it was lag free. But I also had an old crappy Xeon while you have a Ryzen with a base clock of 4.5GHz, so maybe a few hours?
Obviously depends on the radius you choose. I think I did something like 5000 blocks?
I'm curious what Disk I/O looks like right before the crash. Are you able to see this with your hosting provider?
@⦻ St4r ⦻ what mod on earth causes problems with lithium
Lithium is a must have - especially since performant is arr
performant
asked for help then left
dw im still here
its my server
idk why she left
weird
anyways
have learned the problem isnt something on our end
host?
yeah on birdflop the node were hosting from is going through some colocation issues
they made an announcement about it
ah that sucks
apparently its been going on since the first of june when the issues started just now getting around to noticing them
damn 2 weeks for issues?
must be something big lol
well im assuming tbh since their offering credit for outstanding invoves due from june 1st to whenever it is resolved
gotcha good luck with that
sounds long xd
just hope it gets fixed sooner rather then later, but i did also apply the fixes u guys suggested with sim and view distance
i also removed observable
ofc you don't want players waiting a month
would be inconvenient
fr
its been crashing for days now
yikes
good luck lol
sounds like you're gonna need it
thx
i hope not
xd
btw any recommendations for server flags
These are our current flags
don't use AlwaysPreTouch
alright
i removed it
Maybe decrease your ram, 18gb is a lot
Also why do you have that random test condition at the beginning that always evaluates to true?
I would get rid of that and prefix the java command with exec. That makes the actual java process to take over the script and not be a child of bash. E.g.) exec java ...