Установка сервера 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=, сервер сам подтягивает их при следующем запуске.
Полезные ссылки
- Project Zomboid Dedicated Server на SteamDB
- Официальная вики: Multiplayer Server Configuration
- Документация SteamCMD