Exit-Code ist kein Absturzgrund, sondern ein Schulterzucken
Die Zahl sagt dir nichts. Die Zeile darüber sagt dir alles, und sie liegt bereits in deinem Logs-Ordner.
Ein Java-Server, der stirbt, gibt Exit Code 1 aus und bleibt stehen. Das ist die ganze Meldung. Exit-Code 1 bedeutet „der Prozess wurde unnormal beendet" — es ist eine Kategorie, keine Ursache, und sie deckt alles ab, von einem fehlenden Weltordner bis zu einer Mod, die beim Laden der Klassen eine Exception wirft.
Wo die eigentliche Antwort steckt
Der Exit-Code wird von deinem Launcher oder Hosting-Panel ausgegeben, nicht vom Spiel. Die Ursache steht in logs/latest.log und bei einem Absturz im Report, den der Server unter crash-reports/ speichert. Lies vom Ende des Logs rückwärts, bis du auf das erste Exception, Caused by: oder Failed to stößt. Diese Zeile nennt die Klasse, die Mod oder die Datei.
[Server thread/ERROR]: Encountered an unexpected exception
java.lang.NoSuchMethodError: net.minecraft.world.level.Level.getBiome
at com.example.mod.ExampleMixin.inject(ExampleMixin.java:41)
Caused by: java.lang.NoClassDefFoundError: com/example/lib/Helper
NoClassDefFoundError ist hier eine fehlende Abhängigkeit, keine beschädigte Welt. Der Exit-Code hat dir nichts davon verraten.
Exit-Codes, die dir tatsächlich begegnen
| Code | Übliche Bedeutung |
|---|---|
| 0 | Sauberes Herunterfahren — /stop oder ein geplanter Neustart |
| 1 | Der Watchdog hat einen hängenden Tick abgeschossen, die JVM wollte nicht starten, oder ein Launcher bzw. Mod-Loader hat einen Absturz gemeldet |
| 137 | Vom Betriebssystem getötet, fast immer durch den OOM-Killer |
| 143 | SIGTERM — ein Container-Orchestrator hat ihn gestoppt |
Code 137 ist derjenige, den Leute fälschlich als Absturz lesen. Die JVM ist nicht gescheitert; etwas außerhalb von ihr hat entschieden, dass der Prozess zu viel Speicher verbraucht hat.
Java und Bedrock sind nicht dasselbe Problem
Der dedizierte Server von Bedrock ist ein anderes Programm mit eigenem Logging, und Ratschläge, die für Java-Logs geschrieben wurden, lassen sich nicht darauf übertragen.
Modded-Stacks scheitern anders
Mit Mods ist die erste Exception oft nur ein Symptom. Wenn ein Mixin nicht angewendet werden kann, entsteht eine Kaskade, bei der der wahre Übeltäter die erste Mixin apply failed-Zeile ist, nicht die NoSuchMethodError dreißig Zeilen später. Durchsuche das Log nach Mixin, bevor du nach Exception suchst.
Prüfen, ob der Server läuft
Ein Log sagt dir, warum er gestorben ist. Es sagt dir nicht, ob er jetzt lebt. Eine Statusabfrage am Serverport beantwortet das mit einer einzigen Anfrage. Das Tool hier prüft Java-Server; Bedrock spricht UDP und braucht seine eigene Abfrage.
Füge das Log in das Tool Server Diagnostics ein, um die fehlerhafte Zeile herausziehen zu lassen, und richte es auf deinen Host, um zu bestätigen, dass der Server tatsächlich antwortet.