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

Настройка выделенного сервера Project Zomboid Build 42: конфиги, крафт и сетевые изменения

Установка и настройка выделенного сервера Project Zomboid Build 42 на Linux: SteamCMD ветка unstable, распределение RAM, новые параметры крафта в SandboxVars и systemd.

Настройка выделенного сервера Project Zomboid Build 42: конфиги, крафт и сетевые изменения

Обновление Build 42 для Project Zomboid — самое масштабное за всю историю игры. Оно полностью перерабатывает систему выживания в постапокалипсисе: добавляет многоуровневый крафт в стиле средневековья (кузнечное дело, гончарство, ткачество), расширяет вертикальность зданий до 32 этажей (от подвалов до небоскрёбов), обновляет графический движок динамического освещения и кардинально переписывает сетевой код для выделенных серверов.

В этой статье подробно разобран процесс развёртывания выделенного сервера Project Zomboid Build 42 на Linux: установка через SteamCMD, выбор экспериментальной ветки, расчёт оперативной памяти, конфигурация новых параметров крафта в SandboxVars.lua и запуск службы systemd.

Что нового в сетевой части и архитектуре Project Zomboid Build 42#

Переход на Build 42 потребовал от разработчиков The Indie Stone глубокой переработки серверного бэкенда:

  1. Увеличенная высота мира: Карта теперь поддерживает до 32 вертикальных уровней вместо прежних 8. Это привело к росту объёма данных чанков и повысило требования к пропускной способности сети.
  2. Воксельное освещение и видимость: Сервер теперь передаёт скорректированные окклюзии света и тени, что предотвращает появление «невидимых зомби» в тёмных углах комнат.
  3. Глубокое дерево ремёсел: Сотни новых предметов, инструментов и промежуточных материалов для кузнечного дела и скотоводства требуют увеличенного пула памяти для отслеживания рецептов.
  4. Сетевые сокеты: Сервер использует порт UDP 16261 для аутентификации и прямого трафика игроков, распределяя соединения по выделенным портам 16262+.

Установка сервера Build 42 через SteamCMD и выбор ветки#

Для работы сервера Project Zomboid на Linux рекомендуется дистрибутив Ubuntu 22.04 или 24.04 LTS. Создайте отдельного системного пользователя zomboid:

bash
sudo adduser --system --home /home/zomboid --shell /bin/bash zomboid
sudo apt update && sudo apt install -y steamcmd lib32gcc-s1

Переключитесь на пользователя zomboid и запустите установку выделенного сервера (App ID 380870). Для доступа к сборкам Build 42 используется специальная ветка (например, unstable):

bash
/usr/games/steamcmd +force_install_dir /home/zomboid/pz_server \
  +login anonymous \
  +app_update 380870 -beta unstable validate \
  +quit

Флаг validate гарантирует целостность загруженных файлов игры и Java-рантайма.

Настройка оперативной памяти и параметров JVM для Build 42#

Из-за новой системы крафта и расширенных вертикальных чанков минимальный объём RAM для сервера Build 42 вырос. Рекомендуется выделять не менее 6–8 ГБ оперативной памяти для комфортной игры 4–8 игроков.

Отредактируйте скрипт запуска сервера /home/zomboid/pz_server/ProjectZomboid64.json:

json
{
  "mainClass": "zombie/network/GameServer",
  "classpath": [
    "java/",
    "java/istack-commons-runtime.jar",
    "java/jassimp.jar",
    "java/javacsv.jar"
  ],
  "vmArgs": [
    "-Djava.awt.headless=true",
    "-Xms6144m",
    "-Xmx6144m",
    "-XX:+UseG1GC",
    "-XX:MaxGCPauseMillis=20",
    "-XX:G1ReservePercent=15"
  ]
}

Фиксация -Xms и -Xmx на значении 6144m (6 ГБ) предотвращает динамическое изменение кучи во время спавна орд зомби.

Конфигурация крафта и новых механик в SandboxVars.lua#

Настройки песочницы для сервера располагаются в файле: ~/Zomboid/Server/servertest_SandboxVars.lua

В Build 42 появились новые блоки параметров, управляющие скоростью ремесла, спавном скота и износом инструментов:

lua
SandboxVars = {
    Speed = 3,
    Zombies = 3,
    Distribution = 1,
    DayLength = 3,
    StartYear = 1,
    StartMonth = 7,
    StartDay = 9,
    Crafting = {
        SmithingSpeed = 2,
        CraftingXPModifier = 1.5,
        ToolDegradation = 2,
    },
    Animals = {
        BreedingRate = 2,
        FeedConsumption = 2,
    },
    Lighting = {
        DynamicNight = true,
    }
}

Убедитесь, что в файле ~/Zomboid/Server/servertest.ini включён параметр Public=true, если вы хотите, чтобы сервер отображался в общем публичном браузере серверов.

При использовании современной панели управления серверами переключение между стабильной веткой Build 41 и экспериментальной Build 42 выполняется без терминала, а профили памяти распределяются автоматически.

Настройка портов и запуск службы systemd#

Откройте необходимые сетевые порты в брандмауэре UFW:

bash
sudo ufw allow 16261/udp comment "Project Zomboid Handshake"
sudo ufw allow 16262:16272/udp comment "Project Zomboid Direct Ports"
sudo ufw status verbose

Создайте сервисный юнит systemd /etc/systemd/system/zomboid.service:

ini
[Unit]
Description=Project Zomboid Dedicated Server (Build 42)
After=network.target

[Service]
Type=simple
User=zomboid
WorkingDirectory=/home/zomboid/pz_server
ExecStart=/home/zomboid/pz_server/start-server.sh -servername servertest
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Примените конфигурацию и запустите сервер:

bash
sudo systemctl daemon-reload
sudo systemctl enable --now zomboid
sudo journalctl -u zomboid -f --no-pager

При первом запуске сервер попросит задать пароль администратора admin. Дождитесь строки: *** SERVER STARTED ****Сервер Project Zomboid Build 42 готов принимать выживших в обновлённом мире Нокс-Кантри.

Источники#