Установка игрового сервера 7 Days to Die на Linux
Инструкция по установке выделенного сервера 7 Days to Die на VDS с Ubuntu 24.04. Все команды и снимки экрана сняты с настоящего сервера: инструкция проверена 15 ноября 2026 года на чистой Ubuntu 24.04.4 с сервером версии V 3.4.0.
Что понадобится
- VDS с Ubuntu 24.04 LTS и доступом root по SSH.
- Память: пустой сервер на карте Navezgane занимает около 2 ГБ; с игроками и на больших случайных картах — в несколько раз больше. Берите VDS от 8 ГБ.
- Диск: файлы сервера занимают 17 ГБ; с запасом на обновления и миры нужно от 30 ГБ свободного места.
- Процессор: от 4 ядер.
Учётная запись 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 sdtd
Пароль этому пользователю не нужен: входить под ним по 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 sdtd:sdtd /opt/steamcmd
Архив маленький (2,3 МБ), но с серверов Steam он может качаться около минуты — это нормально.
5. Установите сервер 7 Days to Die
Переключитесь на пользователя sdtd и запустите SteamCMD:
sudo su - sdtd cd /opt/steamcmd ./steamcmd.sh
При первом запуске SteamCMD скачивает собственное обновление (около 40 МБ). С серверов Steam оно может идти несколько минут — дождитесь приглашения Steam> и ничего не вводите раньше.
Затем введите по очереди три команды. Порядок важен: каталог установки задаётся до входа.
force_install_dir /home/sdtd/7dtd-server login anonymous app_update 294420 validate
Если вместо загрузки появилась строка «ERROR! Failed to install app … (Missing configuration)», просто введите команду app_update ещё раз: при первом запуске SteamCMD такое случается, со второго раза загрузка начинается.
Загрузка 14,5 ГБ (на диске 17 ГБ) занимает 15–40 минут. Дождитесь строки «Success! App '294420' fully installed.»:
Выйдите из SteamCMD:
quit
Проверьте, что файлы на месте:
ls /home/sdtd/7dtd-server
6. Настройте сервер
В каталоге сервера есть штатный скрипт запуска startserver.sh и образец настроек serverconfig.xml. Сам образец править не стоит: при обновлении игры Steam перезапишет его. Сделайте свою копию и откройте её:
cd ~/7dtd-server cp serverconfig.xml myserver.xml nano myserver.xml
Каждая настройка — это строка вида <property name="…" value="…"/>; менять нужно только значение в кавычках после value=. Что стоит изменить в первую очередь:
ServerName— название сервера в списке.ServerPassword— пароль для входа. Пусто — вход без пароля.ServerMaxPlayerCount— предел числа игроков.GameWorld— карта:Navezgane(готовая) илиRWG(случайная; её размер и зерно задаютWorldGenSizeиWorldGenSeed).GameName— имя сохранения. Если его сменить, сервер начнёт новую игру.ServerPort— порт сервера, по умолчанию 26900.
Сохраните файл (в nano: Ctrl+O, Enter, Ctrl+X) и проверьте главные строки:
grep -oE 'name="(ServerName|ServerPassword|ServerMaxPlayerCount|GameWorld|GameName|ServerPort)"[[:space:]]+value="[^"]*"' myserver.xml
Вернитесь к root:
exit
7. Настройте автозапуск
Чтобы сервер запускался вместе с системой и поднимался после сбоя, создайте для него службу:
sudo nano /etc/systemd/system/7dtd-server.service
Вставьте:
[Unit] Description=7 Days to Die Dedicated Server After=network.target [Service] Type=simple User=sdtd WorkingDirectory=/home/sdtd/7dtd-server ExecStart=/home/sdtd/7dtd-server/startserver.sh -configfile=myserver.xml Restart=always RestartSec=5 [Install] WantedBy=multi-user.target
8. Запустите сервер и проверьте его
sudo systemctl daemon-reload sudo systemctl enable 7dtd-server sudo systemctl start 7dtd-server
Первый запуск занимает около двух минут. Проверьте состояние службы — должно быть active (running):
sudo systemctl status 7dtd-server --no-pager -n 0
Сервер пишет журнал не в службу, а в файлы output_log__дата.txt в своём каталоге. Он готов, когда в журнале есть строка «StartGame done», а порты 26900 и 26902 заняты:
sudo sh -c 'grep -h "StartGame done" /home/sdtd/7dtd-server/output_log__*.txt | tail -n 1' sudo ss -lntu | grep -E ":2690[0-2] "
Управление службой:
sudo systemctl stop 7dtd-server # остановить (мир сохраняется) sudo systemctl restart 7dtd-server # перезапустить sudo journalctl -u 7dtd-server -f # смотреть журнал, выход — Ctrl+C
9. Откройте порты в файрволе
Внимание: сначала разрешите SSH и только потом включайте файрвол. Иначе связь с сервером оборвётся. Если SSH у вас на нестандартном порту, вместо первой команды выполните sudo ufw allow НОМЕР_ПОРТА/tcp.
sudo ufw allow OpenSSH sudo ufw allow 26900/tcp sudo ufw allow 26900:26902/udp sudo ufw enable
Если появится вопрос «Command may disrupt existing ssh connections. Proceed with operation (y|n)?», ответьте y. Проверьте результат:
sudo ufw status
10. Зайдите на сервер
Пошагово со снимками — в статье Как зайти на сервер 7 Day to Die. Как назначить администратора — в статье Как добавить администратора в 7 Days to Die?.
Консоль сервера
Команды серверу отдаются через встроенную консоль (Telnet) на порту 8081. Пока пароль TelnetPassword в настройках пуст, она доступна только с самого сервера — открывать порт 8081 в файрволе не нужно.
telnet 127.0.0.1 8081
Полезные команды: help — список команд, lp — кто на сервере, saveworld — сохранить мир, say "текст" — сообщение всем игрокам, shutdown — сохранить мир и остановить сервер. Чтобы выйти из консоли, не останавливая сервер, введите exit.
Обновление сервера
После выхода обновления игры остановите сервер, обновите файлы и запустите снова:
sudo systemctl stop 7dtd-server sudo -u sdtd /opt/steamcmd/steamcmd.sh +force_install_dir /home/sdtd/7dtd-server +login anonymous +app_update 294420 validate +quit sudo systemctl start 7dtd-server
Ваши настройки и сохранения при обновлении не затрагиваются.
Где лежат сохранения
- Миры и данные игроков:
/home/sdtd/.local/share/7DaysToDie/Saves/— внутри каталоги с названием карты и именем сохранения, напримерNavezgane/MyGame. - Список администраторов:
/home/sdtd/.local/share/7DaysToDie/Saves/serveradmin.xml - Настройки:
/home/sdtd/7dtd-server/myserver.xml - Журналы:
/home/sdtd/7dtd-server/output_log__дата.txt— новый файл при каждом запуске; старые можно удалять.
Чтобы перенести или сохранить сервер, остановите его и скопируйте каталог /home/sdtd/.local/share/7DaysToDie/Saves и файл настроек.
При остановке службы сервер сохраняет мир — время изменения файлов совпадает со временем остановки:
Если что-то пошло не так
| Что видите | Причина и решение |
|---|---|
В журнале службы (journalctl) нет строк сервера |
head -n 1. |
| После обновления пропали настройки | Правился образец serverconfig.xml, а обновление его перезаписало. Держите настройки в своей копии myserver.xml, как в шаге 6.
|
| Сервер начал новую игру вместо старой | В настройках изменилось GameName, GameWorld или зерно случайной карты. Верните прежние значения.
|
| Игрок видит сервер, но не может зайти | Открыты не все порты. Нужны 26900/tcp и 26900–26902/udp. |
| SteamCMD отвечает «ERROR! Failed to install app '294420' (Missing configuration)» | Так иногда бывает при первом запуске SteamCMD. Введите команду app_update ещё раз — со второго раза загрузка начинается.
|
После установки нет каталога /home/sdtd/7dtd-server |
Команда force_install_dir была введена с ошибкой или после login, и сервер установился в /home/sdtd/Steam/steamapps/common/. Запустите SteamCMD заново и повторите три команды из шага 5 по порядку.
|
| Служба в состоянии «failed» | Посмотрите причину: sudo journalctl -u 7dtd-server -n 50 --no-pager. Чаще всего это опечатка в пути или скрипт запуска не сделан исполняемым.
|
| Сервер запущен, но зайти не удаётся | Проверьте, что порты открыты (sudo ufw status) и что в игре указан верный адрес и порт.
|
Для размещения игровых серверов рекомендуем услуги ARK-HOSTER.RU:
- VPS/VDS серверы — для небольших и средних серверов
- Выделенные серверы — для высоконагруженных игровых серверов