Серверы Project Zomboid могут крашиться или не запускаться по нескольким хорошо известным причинам. Это руководство охватывает наиболее частые причины, встречающиеся в тикетах поддержки Legion Hosting — от бага с памятью в Build 42, требующего дополнительной RAM при запуске, до переполнения резервными копиями, заполняющего /tmp, и повреждённых файлов конфигурации. Прорабатывайте разделы ниже по порядку.
Прежде чем начать — найдите логи крашей
Почти каждый краш Project Zomboid оставляет следы в одном из двух мест. Проверьте оба перед попыткой любого исправления, чтобы знать, какой раздел этого руководства применим к вам.
Вывод консоли GPanel
- Войдите в GPanel.
- Выберите ваш сервер Project Zomboid из списка серверов.
- Нажмите на вкладку Console.
- Прокрутите до конца вывода. Ищите строки, помеченные
ERROR,FATAL,OutOfMemoryErrorилиException. Последние 20–30 строк перед остановкой сервера обычно наиболее значимы. - Если консоль пуста, процесс сервера завершился раньше, чем смог что-либо записать — это само по себе подсказка (см. раздел о памяти B42 ниже).
Файл сервера debug.log
Project Zomboid записывает подробный лог в debug.log в каталоге данных сервера. Этот файл часто содержит полный стек-трейс Java, который напрямую указывает на причину краша.
- В GPanel перейдите на вкладку File Manager.
- Перейдите в
/.cache/Logs/. Вы увидите файлы с именами вродеdebug.log,DebugLog-server.txtили файлы логов с датами. - Откройте самый свежий файл лога. Используйте Ctrl+End или прокрутите в самый низ и читайте оттуда вверх.
- Ищите ключевые слова
OutOfMemoryError,IOException,NullPointerExceptionилиSandboxVars. Скопируйте соответствующие строки — они понадобятся вам, если вы откроете тикет в поддержку.
Исправление 1 — Высокое использование памяти при запуске в Build 42 (известный баг игры)
Если ваш сервер немедленно завершается при запуске без ошибки в консоли, или консоль показывает OutOfMemoryError или ошибку Java heap space, серверу не хватает памяти до того, как мир завершит загрузку.
Симптомы
- Сервер запускается, консоль прокручивается несколько секунд, затем останавливается без ошибки, видимой игроку.
- Консоль показывает
java.lang.OutOfMemoryError: Java heap spaceилиGC overhead limit exceeded. - Сервер работает при одних перезапусках, но не при других (доступность памяти варьируется).
- Сервер работал нормально на B41, но стабильно крашится после обновления до B42.
Шаги
- В GPanel нажмите на ваш сервер и перейдите на вкладку Console. Запишите текущее выделение RAM вашего сервера, показанное в строке ресурсов или панели информации о сервере.
- Если ваш план включает менее 10 ГБ RAM, сервер может крашиться во время запуска, потому что B42 требует примерно 9 ГБ для инициализации. Вам потребуется повысить тарифный план или дождаться, пока The Indie Stone выпустит исправление.
- Если ваш план уже имеет 10 ГБ или больше, а сервер всё равно крашится при запуске, перейдите на вкладку Startup в GPanel.
- Найдите поле с пометкой Java Memory, Max RAM или Xmx. Убедитесь, что оно установлено не более чем на 80–85% от вашей общей доступной RAM. Например, на плане в 12 ГБ установите это значение в
10240(10 ГБ в мегабайтах). Не устанавливайте его равным или выше вашей общей RAM — операционной системе и другим процессам также нужна память. - Нажмите Save на вкладке Startup, затем перезапустите сервер.
- Наблюдайте за консолью во время запуска. Если сервер достигает строки
SERVER STARTEDилиLuaManager: Loading lua files...завершается без краша, выделения памяти теперь достаточно.
Исправление 2 — BackupsOnStart переполняет /tmp (краш при запуске)
Project Zomboid можно настроить так, чтобы он создавал полную резервную копию мира при каждом запуске сервера. Когда эта резервная копия записывается в /tmp — размер которого ограничен на большинстве Linux-хостов — сервер крашится в середине запуска с ошибкой записи на диск, как только /tmp заполняется.
Симптомы
- Сервер стабильно крашится при каждом перезапуске, но раньше работал.
- Консоль или
debug.logсодержит ошибки вродеIOException: No space left on deviceили упоминания записи в/tmp/. - Краши имеют тенденцию усугубляться со временем по мере роста сохранения мира.
- Сервер иногда запускается, если попробовать вскоре после чистой перезагрузки хост-ноды (прежде чем
/tmpснова заполнится).
Шаги — отключение BackupsOnStart
- В GPanel перейдите на вкладку File Manager.
- Перейдите в
/.cache/server/. Найдите файл конфигурации вашего сервера — он обычно называетсяservertest.iniили как ваше имя сервера с последующим.ini(например,MyServer.ini). - Откройте файл
.iniдля редактирования. - Используйте функцию поиска вашего браузера (Ctrl+F) для поиска
BackupsOnStart. - Измените значение с
trueнаfalse:BackupsOnStart=false - Находясь в файле, также проверьте настройку
BackupsOnVersionChangeи установите её вfalse, если место на диске вызывает беспокойство:BackupsOnVersionChange=false - Сохраните файл и перезапустите сервер. Следите за консолью, чтобы убедиться, что сервер достигает строки
SERVER STARTED.
/.cache/saves/multiplayer/ или свяжитесь с поддержкой Legion Hosting, чтобы узнать о вариантах запланированного резервного копирования на вашем плане.
Исправление 3 — Повреждённый SandboxVars.lua или конфигурация сервера
Project Zomboid хранит настройки мира в Lua-файле под названием SandboxVars.lua. Если этот файл редактируется вручную и сохраняется с синтаксической ошибкой, или если передача файла была прервана, сервер немедленно крашится при запуске, когда пытается разобрать файл.
Симптомы
- Консоль показывает
ERROR: SandboxVars,LuaManager errorили ошибку разбора Lua с номером строки. - Краш начался сразу после того, как вы отредактировали настройки в файле
.iniили напрямую вSandboxVars.lua. - Сервер может показывать
Bad argument #1 toили похожие ошибки времени выполнения Lua.
Шаги — проверка и восстановление SandboxVars.lua
- В GPanel перейдите в File Manager и перейдите в
/.cache/saves/multiplayer/<YourServerName>/. - Откройте
SandboxVars.luaдля редактирования. - Проверьте, что файл начинается с
VERSION = 1,(или подобного) внутри блокаSandboxVars = {и заканчивается закрывающей}. Любая отсутствующая запятая, незакрытая фигурная скобка или посторонний символ вызовут сбой разбора. - Если вы не можете определить ошибку, самое безопасное исправление — полностью удалить
SandboxVars.lua. Сервер заново сгенерирует его со значениями по умолчанию при следующем запуске. Примечание: это сбросит ваши настройки песочницы (лут, количество зомби и т. д.) к значениям по умолчанию — данные карты и данные игроков не затрагиваются. - Также проверьте файл
.iniв/.cache/server/на наличие похожих проблем, если вы недавно редактировали его вручную. Убедитесь, что каждая строка следует форматуKey=Valueбез пустых строк внутри значения. - Сохраните изменения и перезапустите сервер.
SandboxVars.lua. Вместо этого используйте внутриигровую панель администратора или интерфейс настроек сервера в GPanel, если он доступен. Прямые правки подвержены ошибкам и могут сломать сервер из-за единственной пропущенной запятой.
Исправление 4 — Пустой пароль администратора, вызывающий краш
Project Zomboid требует непустой пароль администратора для запуска мультиплеерного сервера. Если поле пароля пустое, процесс сервера немедленно завершается после попытки инициализировать учётную запись администратора.
Симптомы
- Совершенно новый сервер или недавно сброшенный сервер падает при каждой попытке запуска.
- Вывод консоли очень короткий — сервер печатает несколько строк инициализации и затем останавливается.
debug.logможет содержать ссылку на учётную запись администратора или проверку пароля.
Шаги
- В GPanel нажмите на ваш сервер и перейдите на вкладку Startup.
- Найдите поле с пометкой Admin Password или RCON Password. Убедитесь, что оно содержит значение — оно не должно быть пустым.
- Если поле пустое, введите пароль. Используйте не менее 8 символов. Избегайте специальных символов вроде
!,#,$или@в пароле администратора, так как некоторые версии PZ некорректно разбирают их в аргументах запуска. - Нажмите Save и перезапустите сервер.
- В качестве дополнительной проверки откройте файл
.iniв/.cache/server/и убедитесь, что строкаAdminPassword=имеет значение после знака равенства.
Исправление 5 — Сброс мира (крайняя мера при постоянных крашах)
Если сохранение мира становится повреждённым — например, после жёсткого краша сервера, неудачного обновления или ошибок файловой системы — сами данные сохранения могут быть невосстановимыми. В этом случае удаление мира и начало с нуля — единственный вариант.
Шаги
- Остановите ваш сервер в GPanel, прежде чем вносить какие-либо изменения в файлы сохранений. Редактирование файлов на работающем сервере может вызвать дальнейшее повреждение.
- В GPanel перейдите на вкладку File Manager.
- Перейдите в
/.cache/saves/multiplayer/. - Вы увидите одну или несколько папок с именем вашего сервера (например,
servertest). Перед удалением при желании скачайте папку в качестве резервной копии, выбрав её и используя опцию скачивания — даже повреждённое сохранение может быть частично восстановлено позже. - Удалите папку, соответствующую имени вашего сервера, внутри
Multiplayer/. Не удаляйте саму папкуMultiplayer. - Также перейдите в
/.cache/db/и удалите файл<YourServerName>.db. Эта база данных хранит статистику игроков и может ссылаться на старый мир — её повторная генерация избегает несоответствий. - Запустите ваш сервер. Он сгенерирует свежий мир, используя настройки в вашем файле
.ini.
.ini, пароль администратора, список модов и настройки портов — все они сохраняются. Следующий запуск использует точно те же настройки для генерации нового мира.
Краткий диагностический справочник
| Что вы видите в логе | Наиболее вероятная причина | Исправление |
|---|---|---|
OutOfMemoryError или Java heap space |
Недостаточно RAM для запуска B42 | Исправление 1 — Баг памяти B42 |
IOException: No space left on device |
BackupsOnStart заполняет /tmp |
Исправление 2 — BackupsOnStart |
Ошибка SandboxVars или ошибка разбора Lua |
Повреждённый или отредактированный вручную файл конфигурации | Исправление 3 — SandboxVars.lua |
| Сервер немедленно завершается, очень короткий вывод консоли | Пустой пароль администратора | Исправление 4 — Пароль администратора |
| Стабильно крашится независимо от изменений конфигурации | Повреждённое сохранение мира | Исправление 5 — Сброс мира |
Всё ещё крашится после всех шагов?
Если ваш сервер всё ещё крашится после проработки каждого исправления выше, откройте тикет в поддержку Legion Hosting. Включите следующее, чтобы помочь команде поддержки быстро диагностировать проблему:
- Последние 50 строк вывода консоли GPanel на момент краша
- Полное содержимое самого свежего файла
debug.logилиDebugLog-server.txt - Версия билда Project Zomboid вашего сервера (показана в консоли при запуске, например
Build 42.x.x) - Ваше выделение RAM, как показано в GPanel
- Происходит ли краш при каждом запуске или только после того, как сервер некоторое время поработал
- Любые изменения, которые вы внесли до начала краша (добавление модов, правки конфигурации, обновления игры)
Откройте тикет в поддержку и укажите ID вашего сервера и сообщения об ошибках из консоли GPanel.