Project Zomboid Руководство

Тонкая настройка песочницы Project Zomboid: SandboxVars.lua, спавн лута и поведение орды

Тонкая настройка файла SandboxVars.lua на сервере Project Zomboid: балансировка множителей орды ZombieConfig, циклы респавна лута, валидация синтаксиса через luac и оптимизация CPU.

Тонкая настройка песочницы Project Zomboid: SandboxVars.lua, спавн лута и поведение орды

Выделенный сервер Project Zomboid позволяет полностью изменить баланс апокалипсиса — от медитативного выживания с редкими медлительными мертвецами до хардкорного кошмара со спринтерами и мгновенным отключением электричества. Все ключевые правила мира определяются не в основном конфигурационном файле .ini, а в файле настроек песочницы _SandboxVars.lua. Неправильное редактирование этого файла часто приводит к критическим падениям производительности JVM или фатальным синтаксическим ошибкам при запуске сервера.

В этом практическом руководстве мы разберём структуру файла _SandboxVars.lua, влияние множителей зомби на нагрузку процессора, настройку циклов респавна лута и проверку синтаксиса перед перезагрузкой сервера.

Расположение и назначение конфигурационных файлов#

На выделенном сервере под управлением Linux настройки игровых миров изолированы в домашней директории пользователя в каталоге ~/Zomboid/Server/:

bash
ls -la ~/Zomboid/Server/

Здесь хранятся три взаимосвязанных файла:

  1. <ИмяСервера>.ini — сетевые порты, лимиты игроков, список используемых Workshop-модов и карты.
  2. <ИмяСервера>_spawnregions.lua — точки появления новых персонажей.
  3. <ИмяСервера>_SandboxVars.lua — физика мира, характеристики зомби, климат, скорость порчи продуктов и правила спавна предметов.

Ключевые параметры симуляции зомби и нагрузка на процессор#

Основной источник нагрузки на оперативную память и ядро процессора — расчет путей (pathfinding) для сотен и тысяч зомби. Параметры популяции находятся внутри таблицы ZombieConfig:

bash
grep -E "ZombieConfig|LootRespawn|Nutrition" ~/Zomboid/Server/servertest_SandboxVars.lua

Значения множителей определяют кривую сложности:

lua
SandboxVars = {
    ZombieConfig = {
        PopulationMultiplier = 1.0,
        PopulationStartMultiplier = 0.5,
        PopulationPeakMultiplier = 1.5,
        PopulationPeakDay = 28,
        RespawnHours = 72.0,
        RespawnUnseenHours = 16.0,
        RespawnMultiplier = 0.1,
        RedistributeHours = 12.0,
    },
    LootRespawn = 3,
    SeenHoursPreventLootRespawn = 16,
    WaterShutModifier = 14,
    ElecShutModifier = 14,
}
  • PopulationMultiplier — базовый скаляр плотности. Значение выше 2.0 резко увеличивает задержки тиков (tick lag) на серверах с числом игроков более четырёх.
  • PopulationStartMultiplier и PopulationPeakMultiplier — позволяют создать плавное нарастание опасности от первого дня к пиковому (день 28 по умолчанию).
  • RedistributeHours — период (в игровых часах), с которым орды перераспределяются по клеткам карты. Слишком частое значение (например, 1-2 часа) перегружает процессор непрерывными пересчетами.

Настройка возобновления лута и отключения коммуникаций#

На долгоживущих серверах запасы консервов, медикаментов и оружия в городах неизбежно истощаются. За регулярное обновление контейнеров отвечает параметр LootRespawn:

  • 1 — отключено (None);
  • 2 — каждый игровой день (Daily);
  • 3 — каждую неделю (Weekly);
  • 4 — каждый месяц (Monthly).

Значение SeenHoursPreventLootRespawn = 16 защищает игроков от внезапного появления лута прямо на глазах: контейнеры обновятся только в том случае, если ни один персонаж не заглядывал в комнату или здание на протяжении указанного количества часов.

Если вам требуется стабильный сервер с гибкой конфигурацией песочницы, автоматическим перезапуском при зависаниях и распределением оперативной памяти, специализированный хостинг серверов Project Zomboid позволяет редактировать SandboxVars.lua через визуальный веб-интерфейс без риска сломать синтаксис.

Валидация синтаксиса Lua и применение настроек#

Поскольку конфигурация песочницы представляет собой валидный скрипт на языке Lua, любая пропущенная запятая или незакрытая фигурная скобка приведёт к аварийной остановке сервера при старте. Проверьте синтаксис компилятором luac:

bash
luac -p ~/Zomboid/Server/servertest_SandboxVars.lua

Если команда не вывела сообщений об ошибках, перезапустите сервис сервера для вступления изменений в силу:

bash
sudo systemctl restart zomboid

Обратите внимание: изменения параметров генерации лута распространяются только на новые циклы обновления, а изменения плотности зомби вступят в силу после миграции или зачистки существующих чанков.

Источники#