Установка игрового сервера Project Zomboid на Linux: различия между версиями

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к навигации Перейти к поиску
Статья переписана по результатам установки на чистой Ubuntu 24.04, добавлены снимки экрана
Уточнён совет про ошибку Missing configuration в SteamCMD
 
Строка 69: Строка 69:


[[Файл:Project-Zomboid-linux-steamcmd-login.png|800px]]
[[Файл:Project-Zomboid-linux-steamcmd-login.png|800px]]
Если вместо загрузки появилась строка «ERROR! Failed to install app … (Missing configuration)», просто введите команду <code>app_update</code> ещё раз: при первом запуске SteamCMD такое случается, со второго раза загрузка начинается.


Загрузка около 2 ГБ занимает несколько минут. Дождитесь строки «Success! App '380870' fully installed.»:
Загрузка около 2 ГБ занимает несколько минут. Дождитесь строки «Success! App '380870' fully installed.»:
Строка 236: Строка 238:
| Служба запущена, но сервер «висит» на первом запуске || Не задан пароль администратора: под службой его некому ввести. Выполните первый запуск вручную, как в шаге 6.
| Служба запущена, но сервер «висит» на первом запуске || Не задан пароль администратора: под службой его некому ввести. Выполните первый запуск вручную, как в шаге 6.
|-
|-
| SteamCMD отвечает «ERROR! Failed to install app '380870' (Missing configuration)» || Так иногда бывает при первом запуске SteamCMD. Выйдите командой <code>quit</code>, запустите SteamCMD заново, дождитесь приглашения <code>Steam></code> и повторите три команды из шага 5.
| SteamCMD отвечает «ERROR! Failed to install app '380870' (Missing configuration)» || Так иногда бывает при первом запуске SteamCMD. Введите команду <code>app_update</code> ещё раз — со второго раза загрузка начинается.
|-
|-
| После установки нет каталога <code>/home/zomboid/zomboid-server</code> || Команда <code>force_install_dir</code> была введена с ошибкой или после <code>login</code>, и сервер установился в <code>/home/zomboid/Steam/steamapps/common/</code>. Запустите SteamCMD заново и повторите три команды из шага 5 по порядку.
| После установки нет каталога <code>/home/zomboid/zomboid-server</code> || Команда <code>force_install_dir</code> была введена с ошибкой или после <code>login</code>, и сервер установился в <code>/home/zomboid/Steam/steamapps/common/</code>. Запустите SteamCMD заново и повторите три команды из шага 5 по порядку.

Текущая версия от 20:08, 14 ноября 2026

Инструкция по установке выделенного сервера Project Zomboid на VDS с Ubuntu 24.04. Все команды и снимки экрана сняты с настоящего сервера: инструкция проверена 14 ноября 2026 года на чистой Ubuntu 24.04.4 с сервером версии 42.22.2.

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

  • VDS с Ubuntu 24.04 LTS и доступом root по SSH.
  • Память: по умолчанию серверу выделено 8 ГБ, и вместе с остальным он занимает около 10 ГБ. На VDS с 8 ГБ памяти предел нужно снизить до 4 ГБ (шаг 6) — тогда сервер занимает около 6 ГБ. Меньше 8 ГБ памяти брать не стоит.
  • Диск: файлы сервера занимают 6,8 ГБ; с запасом на обновления и сохранения нужно от 15 ГБ свободного места.
  • Процессор: от 2 ядер.

Учётная запись Steam и купленная игра для установки сервера не нужны.

1. Обновите систему

sudo apt update && sudo apt upgrade -y

На свежей системе обновление идёт от 5 минут до получаса. По ходу могут появиться два места, где нужно ваше участие.

Окно выбора раскладки клавиатуры. Обновление остановится и покажет окно «Configuring keyboard-configuration». Ничего менять не нужно: нажмите Enter, в следующем окне снова Enter.

Сообщение о новом ядре. Если в конце вы видите «Pending kernel upgrade», система обновила ядро и ждёт перезагрузки.

Перезагрузите сервер и подключитесь снова через минуту:

sudo reboot

2. Установите нужные пакеты

sudo apt install -y wget lib32gcc-s1 lib32stdc++6
  • lib32gcc-s1 и lib32stdc++6 нужны программе SteamCMD, через которую скачивается сервер.

3. Создайте пользователя для сервера

Игровой сервер не должен работать от root. Создайте для него отдельного пользователя:

sudo useradd -m -s /bin/bash zomboid

Пароль этому пользователю не нужен: входить под ним по SSH никто не будет, а переключаться на него вы будете командой из шага 5.

4. Скачайте SteamCMD

sudo mkdir -p /opt/steamcmd
cd /opt/steamcmd
sudo wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
sudo tar -xzf steamcmd_linux.tar.gz
sudo chown -R zomboid:zomboid /opt/steamcmd

Архив маленький (2,3 МБ), но с серверов Steam он может качаться около минуты — это нормально.

5. Установите сервер Project Zomboid

Переключитесь на пользователя zomboid и запустите SteamCMD:

sudo su - zomboid
cd /opt/steamcmd
./steamcmd.sh

При первом запуске SteamCMD скачивает собственное обновление (около 40 МБ). С серверов Steam оно может идти несколько минут — дождитесь приглашения Steam> и ничего не вводите раньше.

Затем введите по очереди три команды. Порядок важен: каталог установки задаётся до входа.

force_install_dir /home/zomboid/zomboid-server
login anonymous
app_update 380870 validate

Если вместо загрузки появилась строка «ERROR! Failed to install app … (Missing configuration)», просто введите команду app_update ещё раз: при первом запуске SteamCMD такое случается, со второго раза загрузка начинается.

Загрузка около 2 ГБ занимает несколько минут. Дождитесь строки «Success! App '380870' fully installed.»:

Выйдите из SteamCMD:

quit

Проверьте, что файлы на месте:

ls /home/zomboid/zomboid-server

6. Первый запуск и настройка

В каталоге сервера есть штатный скрипт запуска start-server.sh и своя Java — отдельно её ставить не нужно.

Память. Предел памяти сервера записан в файле ProjectZomboid64.json в виде -Xmx8g (8 ГБ). Если на VDS меньше 12 ГБ памяти, снизьте его. Команда ниже ставит 4 ГБ; для другого значения замените 4g:

cd ~/zomboid-server
sed -i 's/"-Xmx8g"/"-Xmx4g"/' ProjectZomboid64.json
grep Xmx ProjectZomboid64.json

Первый запуск. Запустите сервер вручную. Имя после -servername — это название набора настроек и сохранений:

./start-server.sh -servername servertest

Сервер спросит пароль администратора: «Enter new administrator password». Введите пароль и нажмите Enter, затем повторите его. Пароль при вводе виден на экране. Он понадобится, чтобы зайти в игру под именем admin.

Дальше сервер создаёт мир — это около полутора минут. Дождитесь строки «*** SERVER STARTED ****»:

Остановите сервер командой quit: он сохранит мир и завершится.

Настройки. При первом запуске сервер создал файл настроек. Откройте его:

nano ~/Zomboid/Server/servertest.ini

Что стоит изменить:

  • PublicName — название сервера.
  • Public — показывать ли сервер в общем списке (true или false).
  • Password — пароль для входа на сервер. Пусто — вход без пароля.
  • MaxPlayers — предел числа игроков.
  • PauseEmpty — ставить игру на паузу, когда на сервере никого нет.
  • DefaultPort и UDPPort — порты сервера, по умолчанию 16261 и 16262.

Сохраните файл (в nano: Ctrl+O, Enter, Ctrl+X) и проверьте главные строки:

grep -E '^(PublicName|Public|Password|MaxPlayers|DefaultPort|UDPPort)=' ~/Zomboid/Server/servertest.ini

Вернитесь к root:

exit

7. Настройте автозапуск

Чтобы сервер запускался вместе с системой и поднимался после сбоя, создайте для него службу:

sudo nano /etc/systemd/system/zomboid-server.service

Вставьте:

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

[Service]
Type=simple
User=zomboid
WorkingDirectory=/home/zomboid/zomboid-server
ExecStart=/home/zomboid/zomboid-server/start-server.sh -servername servertest
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

8. Запустите сервер и проверьте его

sudo systemctl daemon-reload
sudo systemctl enable zomboid-server
sudo systemctl start zomboid-server

Запуск занимает около полутора минут. Проверьте состояние службы — должно быть active (running):

sudo systemctl status zomboid-server --no-pager -n 0

Сервер готов, когда в его журнале появилась строка «*** SERVER STARTED ****». Вторая команда показывает, что порты 16261 и 16262 заняты сервером:

sudo journalctl -u zomboid-server -o cat | grep -E "SERVER STARTED|listening on port" | tail -2 | cut -c1-100
sudo ss -uln | grep 1626

Управление службой:

sudo systemctl stop zomboid-server      # остановить (мир сохраняется)
sudo systemctl restart zomboid-server   # перезапустить
sudo journalctl -u zomboid-server -f    # смотреть журнал, выход — Ctrl+C

9. Откройте порты в файрволе

Внимание: сначала разрешите SSH и только потом включайте файрвол. Иначе связь с сервером оборвётся. Если SSH у вас на нестандартном порту, вместо первой команды выполните sudo ufw allow НОМЕР_ПОРТА/tcp.

sudo ufw allow OpenSSH
sudo ufw allow 16261:16262/udp
sudo ufw enable

Если появится вопрос «Command may disrupt existing ssh connections. Proceed with operation (y|n)?», ответьте y. Проверьте результат:

sudo ufw status

10. Зайдите на сервер

В игре откройте список серверов и добавьте свой: IP-адрес сервера, порт 16261 и пароль сервера, если вы его задали. Имя и пароль учётной записи игрок придумывает сам при первом входе. Чтобы зайти администратором, укажите имя admin и пароль из шага 6. Команды администратора — в статье Команды администратора на сервере Project Zomboid?.


Обновление сервера

После выхода обновления игры остановите сервер, обновите файлы и запустите снова:

sudo systemctl stop zomboid-server
sudo -u zomboid /opt/steamcmd/steamcmd.sh +force_install_dir /home/zomboid/zomboid-server +login anonymous +app_update 380870 validate +quit
sudo systemctl start zomboid-server

Внимание: обновление возвращает файл ProjectZomboid64.json к исходному виду, и предел памяти снова становится 8 ГБ. Если вы его снижали, перед запуском повторите команду sed из шага 6 (от имени пользователя zomboid). Настройки сервера и сохранения при обновлении не затрагиваются.

Где лежат сохранения

Всё, что создаёт сервер, лежит в домашнем каталоге его пользователя:

  • /home/zomboid/Zomboid/Server/ — настройки (servertest.ini, настройки песочницы servertest_SandboxVars.lua);
  • /home/zomboid/Zomboid/Saves/Multiplayer/servertest/ — мир;
  • /home/zomboid/Zomboid/db/ — учётные записи игроков.

Чтобы перенести или сохранить сервер, остановите его и скопируйте каталог /home/zomboid/Zomboid целиком.

При остановке службы сервер сам сохраняет мир:

Если что-то пошло не так

Что видите Причина и решение
Сервер не запускается или завершается вскоре после запуска Не хватает памяти: серверу выделено больше, чем есть на VDS. Снизьте предел в ProjectZomboid64.json (шаг 6) так, чтобы он был на 2 ГБ меньше памяти VDS.
В журнале «ERROR: ld.so: object 'libjsig.so' from LD_PRELOAD cannot be preloaded» Это сообщение можно не замечать: сервер при нём работает.
После обновления сервер перестал помещаться в память Обновление вернуло предел памяти 8 ГБ. Повторите команду sed из шага 6.
Служба запущена, но сервер «висит» на первом запуске Не задан пароль администратора: под службой его некому ввести. Выполните первый запуск вручную, как в шаге 6.
SteamCMD отвечает «ERROR! Failed to install app '380870' (Missing configuration)» Так иногда бывает при первом запуске SteamCMD. Введите команду app_update ещё раз — со второго раза загрузка начинается.
После установки нет каталога /home/zomboid/zomboid-server Команда force_install_dir была введена с ошибкой или после login, и сервер установился в /home/zomboid/Steam/steamapps/common/. Запустите SteamCMD заново и повторите три команды из шага 5 по порядку.
Служба в состоянии «failed» Посмотрите причину: sudo journalctl -u zomboid-server -n 50 --no-pager. Чаще всего это опечатка в пути или скрипт запуска не сделан исполняемым.
Сервер запущен, но зайти не удаётся Проверьте, что порты открыты (sudo ufw status) и что в игре указан верный адрес и порт.

Для размещения игровых серверов рекомендуем услуги ARK-HOSTER.RU: