Установка игрового сервера Project Zomboid на Linux: различия между версиями
Статья переписана по результатам установки на чистой 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. | | 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:
- VPS/VDS серверы — для небольших и средних серверов
- Выделенные серверы — для высоконагруженных игровых серверов