Частые проблемы
Это руководство описывает диагностику и устранение крашей выделенного сервера Project Zomboid. Рассматриваются серверные сбои: нехватка памяти, ошибки конфигурации, проблемы с резервными копиями, пустой пароль администратора, повреждение сохранения и ошибки модов.
Где смотреть причину краша
Перед изменением файлов проверьте консоль и серверные логи. Последние строки перед остановкой процесса чаще всего указывают на причину сбоя.
Консоль сервера
В консоли проверьте последние строки перед остановкой сервера. Ищите:
ERROR
FATAL
Exception
OutOfMemoryError
Java heap space
STACK TRACE
No space left on device
SandboxVars
WorldDictionaryExceptionЕсли консоль обрывается без понятной ошибки, проверьте память, пароль администратора, список модов и файл запуска.
Файлы логов
Логи Project Zomboid находятся в директории:
.cache/Logs/Проверьте самые свежие файлы, например:
debug.log
DebugLog-server.txt
*_DebugLog-server.txtОткройте лог, перейдите в конец файла и читайте строки снизу вверх до первого блока ошибки.
Краш из-за нехватки памяти
В нашей сборке сервер запускается через ProjectZomboid64, но использует встроенную Java/JRE из папки jre64. Поэтому в логах Project Zomboid могут встречаться Java-ошибки памяти, даже если команда запуска не вызывает java напрямую.
Признаки:
- сервер запускается и завершается через несколько секунд;
- в консоли есть
java.lang.OutOfMemoryError; - в логе есть
Java heap space; - после перехода на Build 42 сервер перестал стабильно запускаться;
- сервер падает во время загрузки мира или Workshop-модов;
- консоль не успевает вывести подробную ошибку.
Build 42 потребляет больше памяти при запуске и загрузке мира, чем Build 41. Большой список модов, модовые карты, активный мир и повреждённый Workshop-кэш дополнительно увеличивают расход RAM.
Что проверить
- сколько RAM выделено серверу в тарифе;
- не достигает ли сервер лимита памяти сразу после запуска;
- не был ли сервер недавно переведён с B41 на B42;
- не добавлен ли большой список Workshop-модов одной правкой;
- не загружается ли несовместимый мир после смены версии;
- не остались ли B41-моды после перехода на B42 или B42-моды после возврата на B41.
Если сервер упирается в лимит памяти, исправление конфигурации не всегда решит проблему. Сначала проверьте запуск без новых модов и с чистым списком WorkshopItems/Mods. Если чистый сервер запускается, причина находится в модах, карте или сохранении.
Если чистый сервер также падает по памяти, серверу требуется больше RAM или переход на менее требовательную сборку.
Не перезапускайте сервер много раз подряд, пока он скачивает Workshop-моды. Повторные остановки во время загрузки могут оставить неполный Workshop-кэш и привести к новым ошибкам при следующем запуске.
Краш из-за BackupsOnStart
Project Zomboid может создавать резервную копию мира при запуске. На больших мирах это приводит к заполнению временной директории или диска.
Признаки:
- сервер падает во время запуска;
- в логе есть
IOException; - в логе есть
No space left on device; - ошибка появляется после роста мира или частых перезапусков;
- в логе есть упоминание
/tmpили backup-файлов.
Исправление
Откройте файл:
.cache/Server/{server_name}.iniНайдите параметры:
BackupsOnStart=
BackupsOnVersionChange=Установите:
BackupsOnStart=false
BackupsOnVersionChange=falseПосле изменения сохраните файл и перезапустите сервер.
Отключение автоматических резервных копий не отменяет необходимость делать backup. Создавайте резервные копии вручную перед обновлениями, сменой версии, добавлением модов и сбросом мира.
Краш из-за SandboxVars.lua
SandboxVars.lua отвечает за настройки мира: зомби, лут, время, воду, электричество, респавн и другие игровые параметры.
Файл находится здесь:
.cache/Server/{server_name}_SandboxVars.luaПризнаки ошибки:
- краш начался после ручного редактирования sandbox-настроек;
- в консоли есть
SandboxVars; - в логе есть ошибка Lua-синтаксиса;
- в логе указан номер строки;
- есть ошибки вида
LuaManager,bad argumentилиunexpected symbol.
Что проверить
- закрыты ли фигурные скобки;
- нет ли лишних символов после конца файла;
- не пропущена ли запятая между параметрами;
- не добавлены ли кавычки там, где сервер ждёт число;
- не повреждён ли файл после загрузки через SFTP.
Пример корректной структуры:
SandboxVars = {
Zombies = 4,
Distribution = 1,
ZombieSpeedType = 3,
LootAbundance = 3,
DayLength = 2,
}Если найти ошибку не получается, восстановите файл из резервной копии. Если резервной копии нет, можно удалить повреждённый SandboxVars.lua, чтобы сервер создал новый файл со стандартными значениями. Это сбросит sandbox-настройки, но не удалит карту и персонажей.
Краш из-за server.ini
Основной файл сервера:
.cache/Server/{server_name}.iniПризнаки:
- краш начался после изменения настроек сервера;
- сервер не принимает порт, пароль, имя или список модов;
- в консоли есть ошибки чтения конфигурации;
- сервер запускается с настройками, отличающимися от ожидаемых.
Каждая строка должна иметь формат:
Key=ValueНе вставляйте многострочные значения, лишние кавычки и комментарии внутрь параметров.
Особое внимание проверьте у строк:
DefaultPort=
Password=
MaxPlayers=
RCONPort=
RCONPassword=
Mods=
WorkshopItems=
Map=
BackupsOnStart=
BackupsOnVersionChange=Пустой пароль администратора
Project Zomboid требует пароль администратора для запуска мультиплеерного сервера.
Признаки:
- новый сервер завершается сразу после запуска;
- консоль показывает короткий вывод и процесс останавливается;
- в логе есть упоминание admin-пользователя или проверки пароля;
- в Startup поле пароля администратора пустое.
Исправление
В Startup укажите пароль администратора. Он не должен быть пустым.
Рекомендуется использовать пароль от 8 символов. Не используйте сложные спецсимволы в пароле администратора, если сборка передаёт пароль через аргументы запуска.
После сохранения параметров перезапустите сервер.
Краш после добавления модов
На сайте Project Zomboid поддерживает автоматическую загрузку модов из Steam Workshop. Startup-команда скачивает Workshop-предметы, определяет Mod ID, обновляет WorkshopItems, Mods и при наличии модовых карт обновляет Map.
Если ошибка появилась после добавления модов, проверяйте не только сам .ini, но и Workshop-кэш, список модов и совместимость с текущей версией сервера.
Признаки:
- сервер падает после изменения
ModsилиWorkshopItems; - в консоли есть
STACK TRACE; - лог указывает на конкретный Mod ID;
- сервер запускается без модов, но падает с текущим списком;
- краш начался после перехода между B41 и B42.
Что проверить
WorkshopItemsсодержит Workshop ID, а не ID коллекции;Modsсодержит внутренний Mod ID, а не Workshop ID;- формат
Modsсоответствует версии сервера; - для Build 42 используется нужный формат с обратным слэшем, если он требуется вашей сборке;
- добавлены зависимости модов;
- мод поддерживает текущую версию Project Zomboid;
- модовая карта прописана в
Mapиspawnregions.lua, если это требуется.
Формат Build 41:
Mods=ModID1;ModID2
WorkshopItems=1234567890;9876543210Формат Build 42:
Mods=\ModID1;\ModID2
WorkshopItems=1234567890;9876543210Для диагностики удалите последний добавленный мод из Mods и WorkshopItems, затем запустите сервер. Если сервер запустился, проблема находится в последнем изменении списка модов.
Повреждённый Workshop-кэш
Признаки:
- мод удалён из конфига, но сервер продолжает его загружать;
- Workshop-моды скачиваются не полностью;
- сервер падает во время загрузки Workshop-контента;
- в логах есть ошибки чтения файлов мода.
Кэш Workshop находится здесь:
steamapps/workshop/content/108600/Чтобы удалить кэш конкретного мода, удалите папку его Workshop ID:
steamapps/workshop/content/108600/{workshop_id}/При следующем запуске сервер заново скачает этот Workshop-предмет.
Если повреждён весь Workshop-кэш, остановите сервер и очистите:
steamapps/workshop/После запуска сервер скачает Workshop-моды заново. Для большого списка модов первый старт займёт больше времени.
WorldDictionaryException
WorldDictionaryException связан с повреждением словаря мира. Ошибка появляется после добавления, удаления или замены модов, которые меняют предметы, транспорт, тайлы или рецепты.
Файл словаря мира:
.cache/saves/multiplayer/{world_name}/WorldDictionary.binУдаление WorldDictionary.bin — крайняя мера. Это может повредить предметы, транспорт и данные объектов в сохранении.
Порядок действий
- Остановите сервер.
- Сделайте резервную копию всей папки мира.
- Проверьте последние изменения в списке модов.
- Верните прежний список модов, если ошибка появилась после удаления или замены мода.
- Удаляйте
WorldDictionary.binтолько если сервер не запускается и других вариантов восстановления нет.
Повреждённое сохранение мира
Признаки:
- сервер падает даже без изменений конфигурации;
- краш происходит на этапе загрузки мира;
- ошибка сохраняется после отключения модов;
- лог указывает на файлы сохранения, чанки, database или world dictionary;
- краш начался после аварийного завершения, сбоя диска или неудачного обновления.
Папка мира:
.cache/saves/multiplayer/{world_name}/Перед удалением мира скачайте папку сохранения. Даже повреждённый мир может содержать полезные данные для восстановления.
Сброс мира
Сброс мира удаляет прогресс карты, постройки, состояние лута и данные персонажей, связанные с этим миром.
- Остановите сервер.
- Сделайте резервную копию папки мира.
- Перейдите в
.cache/saves/multiplayer/. - Удалите папку мира с именем вашего сервера.
- Перейдите в
.cache/db/. - Удалите файл
{server_name}.db, если требуется полный сброс связанных данных. - Запустите сервер.
Конфиги сервера при этом не удаляются. .ini, SandboxVars.lua, список модов и настройки запуска сохраняются.
Ошибка после переключения B41/B42
Признаки:
- сервер перестал запускаться после смены Beta Branch;
- игроки получают ошибку версии;
- старый мир не загружается на новой сборке;
- моды падают сразу после перехода на другую сборку.
Проверьте:
- B41 и B42 используют разные сохранения;
- моды должны соответствовать текущей сборке;
- формат
Modsдолжен соответствовать сборке; - после смены ветки нужны актуальные серверные файлы;
- игроки должны выбрать ту же ветку игры в Steam.
Для перехода между сборками используйте новый Server Name, чтобы сервер не пытался загрузить несовместимый мир.
Краткая диагностика по логу
| Сообщение в логе | Причина | Действие |
|---|---|---|
OutOfMemoryError |
Недостаточно RAM для запуска сервера, мира или модов | Проверить лимит RAM, B41/B42, моды и сохранение |
Java heap space |
JVM внутри ProjectZomboid64 не хватает памяти |
Проверить лимит RAM сервера, версию сборки, список модов и размер мира |
No space left on device |
Заполнен диск или временная директория | Отключить BackupsOnStart, очистить лишние файлы |
SandboxVars |
Ошибка sandbox-конфига | Проверить {server_name}_SandboxVars.lua |
STACK TRACE |
Ошибка мода, карты или Lua | Проверить последние строки перед трассировкой |
WorldDictionaryException |
Повреждён словарь мира | Вернуть список модов или восстановить backup |
IOException |
Ошибка чтения/записи файлов | Проверить место на диске, backup, права и повреждённые файлы |
Что приложить в поддержку
- последние 30–50 строк консоли перед крашем;
- самый свежий файл из
.cache/Logs/; - значение
Server Name; - версию сервера: B41 или B42;
- список последних изменений: моды, карта, SandboxVars, Beta Branch;
- размер мира и наличие резервной копии;
- объём RAM, выделенный серверу;
- строки
Mods,WorkshopItemsиMap, если краш связан с модами.
Что не делать
- не удалять мир без резервной копии;
- не очищать весь
.cacheбез понимания последствий; - не удалять
WorldDictionary.binдо backup; - не добавлять большой список модов одной правкой;
- не запускать B42 на мире B41 и B41 на мире B42;
- не перезапускать сервер много раз подряд во время загрузки Workshop-модов;
- не менять
Server Nameбез проверки, какие конфиги и сохранения теперь будут использоваться.