Как установить выделенный сервер Project Zomboid на Ubuntu
Этот пример описывает выделенный сервер Project Zomboid Build 42.20.2 на Ubuntu 24.04.4 LTS с отдельной учётной записью pzserver. Команды и настройки могут отличаться в других версиях сервера. В примере компьютер MINISFORUM UM760 Slim с Ryzen 5 7640HS (6 ядер, 12 потоков), 16 ГБ DDR5 и NVMe SSD 1 ТБ; Ubuntu установлена вместо Windows 11 Pro, серверу выделено 8 ГБ.
Установка SteamCMD и пользователя
На Ubuntu включите архитектуру i386 и multiverse, обновите индекс и установите SteamCMD: sudo dpkg --add-architecture i386 sudo add-apt-repository multiverse sudo apt update sudo apt install steamcmd
Создайте отдельную учётную запись и войдите в неё: sudo adduser --disabled-password --gecos "" pzserver sudo -iu pzserver SteamCMD и сервер запускайте от pzserver. Перед командами sudo systemctl и sudo ufw вернитесь через exit в учётную запись администратора.
Установка и первый запуск
От pzserver установите приложение сервера: /usr/games/steamcmd +force_install_dir /home/pzserver/server +login anonymous +app_update 380870 validate +quit В /home/pzserver/server/ProjectZomboid64.json задайте -Xmx8g; оставьте память для Ubuntu и остальных процессов.
До регистрации службы запустите сервер вручную: cd /home/pzserver/server ./start-server.sh -servername zomboid По запросу задайте пароль администратора. Убедитесь, что запуск завершился успешно, затем остановите сервер Ctrl+C. В примере конфигурация находится в /home/pzserver/Zomboid/Server/zomboid.ini и zomboid_SandboxVars.lua, а мир — в /home/pzserver/Zomboid/Saves/Multiplayer/zomboid/.
Служба systemd
После успешного ручного запуска создайте /etc/systemd/system/zomboid.service со следующим содержимым: [Unit] Description=Project Zomboid Dedicated Server After=network-online.target Wants=network-online.target [Service] Type=simple User=pzserver Group=pzserver WorkingDirectory=/home/pzserver/server Environment=HOME=/home/pzserver ExecStart=/home/pzserver/server/start-server.sh -servername zomboid Restart=on-failure RestartSec=10 KillSignal=SIGINT TimeoutStopSec=180 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target
От администратора выполните: sudo systemctl daemon-reload sudo systemctl enable --now zomboid.service sudo systemctl status zomboid.service Для наблюдения за журналом: journalctl -u zomboid.service -f.
Настройки и порты
Пример zomboid.ini: PauseEmpty=true DefaultPort=16261 UDPPort=16262 Public=false MaxPlayers=32 DoLuaChecksum=true BackupsCount=5 BackupsOnStart=true BackupsOnVersionChange=true PauseEmpty=true останавливает игровое время, пока никто не подключён.
В примере используются UDP 16261 и 16262. Для доступа только в локальной сети проброс на роутере не нужен. При включённом UFW разрешите порты: sudo ufw allow 16261/udp и sudo ufw allow 16262/udp. Для подключений извне дополнительно настройте проброс портов на роутере.
Моды
В /home/pzserver/Zomboid/Server/zomboid.ini укажите идентификаторы модов в Mods и Workshop ID в WorkshopItems через точку с запятой. Пример конфигурации: Mods=Official_JP;P4VideoMeister;SawAllLogsDropPlanks WorkshopItems=1227676938;2744797858;3713977259 После изменения списка перезапустите службу: sudo systemctl restart zomboid.service. Подбирайте моды под свою ветку игры.
Обновление и резервная копия
Перед обновлением сохраните конфигурацию, миры и базу игроков: /home/pzserver/Zomboid/Server/, /home/pzserver/Zomboid/Saves/ и /home/pzserver/Zomboid/db/. Установочные файлы можно заново загрузить через SteamCMD.
Остановите службу, обновите сервер от pzserver и запустите снова: sudo systemctl stop zomboid.service sudo -iu pzserver /usr/games/steamcmd +force_install_dir /home/pzserver/server +login anonymous +app_update 380870 validate +quit sudo systemctl start zomboid.service Сам перезапуск службы обновление не выполняет.
После обновления проверьте журнал и Steam Build ID: journalctl -u zomboid.service -n 100 --no-pager grep -E '"buildid"|"TargetBuildID"' /home/pzserver/server/steamapps/appmanifest_380870.acf