Forge Server Tools · every failure mode · guides
A server that dies the same way twice will die that way a hundred times. How to tell a repeating crash from unrelated ones, and stop the loop.
Every hosting panel, and every start.sh wrapped in while true,
restarts a dead server. None of them notice that it is dying the same way
every time.
The usual shape: a mod crashes on a block or entity that is still in the world. The server restarts, loads that chunk, and crashes identically. Every 40 seconds, all night, until the disk fills with identical crash reports or your host suspends you for the restart churn.
ls -t crash-reports/ | head -5
Open those five and compare their Caused by: lines. If they match, the
server is looping and restarting it again will not help. Stop the server, fix
the cause, then start it.
The naive guard — "stop after 5 restarts" — gets this wrong in both directions. It stops a server that crashed five times for five unrelated reasons, and it cheerfully allows four identical crashes first.
What actually works is a signature built from two things:
Caused by:, or the top exception),
with every run of digits replaced;The digit-stripping is not optional and it is the step everyone skips. The same
bug reports a different index, coordinate or entity id every single time it
fires — Index 42 then Index 7. Without normalising those, every
crash looks unique, and a loop detector built on exact matching never fires at
all.
Crash reports name the thing being ticked when the server died:
-- Entity being ticked -- -- Block entity being ticked --
Those sections give coordinates. Load the world in single-player, go there, and remove it — or disable that mod's spawning in its config. See ticking entity crashes.
Forge Server Doctor performs the whole procedure above — reads the report, finds the real cause under the wrappers, skips the vanilla frames, and names the mod jar. 24 failure modes, each with its fix. The free edition covers the six most common startup failures.