Перейти к содержанию

Лаги и рывки на сервере Project Zomboid: диагностика

Как проверить общие и локальные рывки, память, моды, сохранения и сеть.

При рывках и телепортации игроков или зомби сначала сравните наблюдения разных участников, нагрузку сервера и сеть. Синхронные рывки у всех могут указывать на сервер; проблема одного игрока — на его соединение или компьютер, но это лишь признаки, а не точный диагноз. Сохраните резервную копию мира и настроек перед экспериментами с модами.

Сопоставьте симптомы

СимптомЧто проверить
У всех одновременноЛоги, CPU, память, сеть сервера
Зомби замирают и перемещаютсяНагрузку и сетевую синхронизацию
Хуже при росте игроков или удалении друг от другаCPU, память и загрузку областей
Только один игрокЕго сеть и компьютер, не исключая сервер
Только во время быстрой ездыЗагрузку карты и диски сервера и игрока
Периодические всплескиВремя сохранений и производительность диска

Память и процессор

Проверьте лимит Java -Xmx и доступную память, оставив ресурсы операционной системе: чрезмерное значение может привести к остановке процесса. В статье приведены ориентиры 6 ГБ для vanilla до шести игроков, 8 ГБ для нескольких модов и примерно 12 игроков, 12 ГБ для крупных наборов модов и 12–32 игроков, а также 75–80% памяти, доступной для сервера, для Java. Это ориентиры, а не подтверждённые требования или гарантия: измеряйте нагрузку и учитывайте другие процессы. Указанные места настройки: StartServer64.bat в Windows и ProjectZomboid64.json в Linux; проверьте конфигурацию своей установки. Обновление SteamCMD может перезаписать файлы.

Мир и моды

Сравните нагрузку, когда игроки находятся рядом и в разных областях, и проверьте популяцию, частоту возрождения, большое количество трупов и загрузку карты при быстрой езде. В статье упомянуты Zombies = 4 как Normal, ZombieConfig.RespawnHours и HoursForCorpseRemoval; проверьте значения и действие в вашей версии. Для проверки модов после резервирования отключайте недавно добавленные по одному на тестовой копии, перезапускайте и сравнивайте результат; не предполагайте, что удаление модов безопасно для существующего мира. Проверьте обновления модов и карты и их совместимость с версией сервера. В статье Insane обозначен значением 1; изменения популяции главным образом проявляются в областях, загруженных после изменения. При рывках во время езды попробуйте снизить скорость и проверьте диск.

Сохранение, версия и сеть

Предупредите игроков перед плановым сохранением и остановкой, затем проверьте состояние мира после запуска. В статье предлагается ежедневный перезапуск и SaveWorldEveryMinutes=15; периодичность выбирайте по результатам наблюдений, это не универсальное исправление. Проверьте диск и совпадение обновлённых версий клиента и сервера.

Для домашнего сервера проверьте исходящий канал и стабильность подключения; проводная сеть может помочь исключить проблемы Wi-Fi. Сверьте UDP-порты с фактической конфигурацией сервера: в статье приведены 16261 и 16262, но их актуальность зависит от версии и режима. Для одного игрока проверьте задержку, фоновые загрузки и файлы игры в Steam. Если его отключает лимит задержки, проверьте PingLimit, прежде чем менять его.

Когда искать предел оборудования

Если при обычной нагрузке сохраняются проблемы, изучите журналы и показатели CPU, памяти и диска: может потребоваться более производительный сервер. PauseEmpty останавливает время при отсутствии игроков и не устраняет лаг во время игры. Утверждение, что Build 42 требует больше ресурсов, чем Build 41, зависит от конфигурации и нуждается в измерениях.