← К вики

Установка сервера Project Zomboid

Как поднять выделенный сервер Project Zomboid через SteamCMD, настроить админ-пароль и запустить его через systemd.

Время: 20 мин · Сложность: ★★☆☆☆

Подходит: ✓ Ubuntu 22.04 · ✓ Debian 12


Краткое описание

Сервер Project Zomboid ставится через SteamCMD и работает на Java (входит в комплект дистрибутива сервера, отдельно ставить не нужно). Из особенностей — при первом запуске нужно сразу задать админ-пароль, иначе управлять сервером потом можно будет только через RCON с нуля.

Когда пригодится

  • Нужен постоянный мир для кооператива, который не зависит от того, кто из игроков сейчас в сети
  • Переносите сохранение с уже прожитого мира на новый сервер
  • Хотите настроить собственные правила выживания (лут, скорость зомби, respawn) через servertest.ini

Что понадобится

  • VPS от 3 ГБ RAM (сервер сам ест немного, но со временем растут файлы сохранения — на долгоживущих мирах закладывайте запас по диску)
  • Доступ по SSH — см. Подключение по SSH
  • Открытые порты 16261/udp (игра) и 27015/udp (RCON, опционально)

Пошаговая инструкция

1. Установите SteamCMD

apt update
apt install -y lib32gcc-s1 curl
useradd -m -s /bin/bash steam
su - steam
mkdir ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

2. Скачайте сервер Project Zomboid

./steamcmd.sh +force_install_dir /home/steam/pzserver +login anonymous +app_update 380870 validate +quit

Java для запуска сервера идёт в комплекте установки — ничего ставить отдельно не нужно.

3. Запустите сервер один раз, чтобы сгенерировать конфиги

cd /home/steam/pzserver
./start-server.sh -servername myserver

Дождитесь строки SERVER STARTED, остановите Ctrl+C. После этого в ~/Zomboid/Server/ появятся myserver.ini и myserver_SandboxVars.lua.

4. Задайте админ-пароль

Обязательно сразу после первого запуска — иначе получить админку в игре можно будет только заново через консоль сервера:

cd /home/steam/pzserver
./start-server.sh -servername myserver -adminusername admin -adminpassword смените_меня

Дождитесь SERVER STARTED и снова остановите. Пароль сохранится в базе аккаунтов сервера, повторно указывать его при обычном запуске не нужно.

5. Настройте основные параметры

Откройте ~/Zomboid/Server/myserver.ini и поправьте нужное:

Public=true
PublicName=Мой сервер Project Zomboid
MaxPlayers=16
Password=
PVP=false
PauseEmpty=true

Настройки сложности игры (скорость зомби, частота лута и т.д.) — в myserver_SandboxVars.lua рядом.

6. Заведите systemd-юнит

/etc/systemd/system/pzserver.service:

[Unit]
Description=Project Zomboid Dedicated Server
After=network.target

[Service]
User=steam
WorkingDirectory=/home/steam/pzserver
ExecStart=/home/steam/pzserver/start-server.sh -servername myserver
Restart=on-failure
RestartSec=15

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now pzserver

7. Откройте порты

ufw allow 16261/udp
ufw allow 27015/udp

RCON-порт (27015/udp) нужен, только если планируете подключаться внешними инструментами администрирования — для обычной игры достаточно 16261/udp. Подробнее — Настройка UFW.

Проверка результата

  • systemctl status pzserver — active (running)
  • В логе видна строка SERVER STARTED:
    journalctl -u pzserver -f
    
  • Сервер отображается в списке серверов игры при Public=true, либо доступен напрямую по <IP>:16261

Возможные ошибки

Сервер запускается, но в игре не получается зайти под правами админа — админ-пароль не был задан на первом запуске (шаг 4). Остановите сервер, повторите запуск с -adminusername/-adminpassword, дождитесь SERVER STARTED, затем верните обычный запуск через systemd.

java.lang.OutOfMemoryError — серверу не хватает памяти на большом мире с длинной историей. Увеличьте объём RAM на сервере или уменьшите -Xmx для клиентских процессов, если сервер соседствует с другими Java-приложениями.

Мир не сохраняется после перезапуска — процесс был остановлен через kill -9 или обрыв сессии SSH без systemctl stop. Всегда останавливайте через systemctl stop pzserver, чтобы сервер успел сохраниться.

Игроки не видят сервер в общем списке — проверьте Public=true в myserver.ini и что порт 16261/udp открыт. Список серверов Project Zomboid обновляется не мгновенно, подождите пару минут после старта.

FAQ

Как обновить сервер?

systemctl stop pzserver
/home/steam/steamcmd/steamcmd.sh +force_install_dir /home/steam/pzserver +login anonymous +app_update 380870 validate +quit
systemctl start pzserver

Где хранятся сохранения мира? В ~/Zomboid/Saves/Multiplayer/<servername>/. Для бэкапа достаточно архивировать эту папку.

Как поставить моды? ID модов Steam Workshop прописываются в myserver.ini через WorkshopItems= и Mods=, сервер сам подтягивает их при следующем запуске.

Полезные ссылки

Следующие статьи

Используем cookie, чтобы сайт работал, и — если разрешите — аналитику: видим, где людям неудобно, и чиним. Рекламных трекеров нет.