MC Toolkit

Руководства / Устранение неполадок

Код выхода — не причина краха, а пожатие плечами

Число не говорит вам ничего. Строка над ним говорит всё — и она уже лежит в папке с логами.

Сервер Java, который умирает, печатает Exit Code 1 и останавливается. Это всё сообщение. Код выхода 1 означает «процесс завершился аварийно» — это категория, а не причина, и под неё попадает всё: от отсутствующей папки мира до мода, который падает при загрузке классов.

Где живёт настоящий ответ

Код выхода печатает ваш лаунчер или панель хостинга, а не сама игра. Причина — в logs/latest.log, а при крахе — в отчёте, который сервер сохраняет в crash-reports/. Читайте лог с конца назад, пока не дойдёте до первой строки Exception, Caused by: или Failed to. Эта строка называет класс, мод или файл.

[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 здесь — отсутствующая зависимость, а не повреждённый мир. Код выхода не сказал вам ничего из этого.

Коды выхода, которые вы действительно увидите

КодОбычное значение
0Чистое завершение — /stop или плановый перезапуск
1Watchdog убил зависший тик, JVM отказалась запускаться, либо лаунчер или загрузчик модов сообщил о крахе
137Убит ОС, почти всегда — OOM-killer
143SIGTERM — оркестратор контейнеров остановил процесс

Код 137 — тот, который люди ошибочно принимают за крах. JVM не сломалась; что-то вне её решило, что процесс съел слишком много памяти.

Java и Bedrock — это не одна и та же проблема

Выделенный сервер Bedrock — другая программа с собственным логированием, и советы, написанные для логов Java, на него не переносятся.

Сборки с модами падают иначе

С модами первое исключение часто лишь симптом. Неудачное применение миксина порождает лавину, где настоящий виновник — первая строка Mixin apply failed, а не NoSuchMethodError тридцатью строками позже. Ищите в логе Mixin прежде, чем искать Exception.

Проверка, жив ли сервер

Лог говорит, почему сервер умер. Он не говорит, жив ли он сейчас. Запрос статуса к порту сервера отвечает на это за один запрос. Инструмент здесь проверяет серверы Java; Bedrock общается по UDP и требует собственного запроса.

Вставьте лог в инструмент Диагностика сервера, чтобы вытащить сбойную строку, и укажите в нём свой хост, чтобы убедиться, что сервер действительно отвечает.

Диагностика сервера →

Другие руководства

Смотреть все →