MAATRIX GAMES / Блог / Как поднять сервер Enshrouded: пошаговая инструкция

Как поднять сервер Enshrouded: пошаговая инструкция

MAATRIX GAMES

Enshrouded — не самая капризная игра для дедика, но у неё своя специфика: сервер собран на Windows-движке, и на Linux он живёт через Proton, а стандартный enshrouded_server.json любит подставлять значения по умолчанию, если в файле опечатка или лишняя запятая. Ниже — рабочий путь от чистой машины до сервера, на который заходят друзья, без лишней теории и с реальными путями к файлам.

Системные требования

Enshrouded не требовательна к диску, но по памяти и CPU не такая лёгкая, как кажется по картинке в стиле воксельного фэнтези. Мир генерируется и держится в памяти сервера целиком, а не подгружается кусками, поэтому RAM — главный ограничитель.

Ориентировочные минимумы для дедика:

ИгроковRAMvCPUДиск
1-26 ГБ215 ГБ
4-68-12 ГБ420 ГБ
8-1616 ГБ4-625 ГБ

Цифры ориентировочные — сильно зависит от того, сколько игроки настроят выживания в одной зоне и насколько плотно застроят базы (структуры игроков тоже считаются в память мира). Если сервер начинает подтормаживать при заходе новых игроков — это почти всегда упирается в RAM, а не в CPU.

Диск — SSD/NVMe обязателен: мир Enshrouded сохраняется относительно часто, и на HDD автосейвы дают заметные фризы для всех игроков на сервере.

Установка через SteamCMD

Dedicated-сервер Enshrouded распространяется через Steam как отдельное приложение, без обязательной покупки игры. Если SteamCMD ещё не стоит — на Linux (Ubuntu/Debian) ставится так:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd lib32gcc-s1

Дальше создаём отдельного пользователя под сервер (хорошая привычка — не гонять игровые процессы под root):

sudo useradd -m -s /bin/bash enshrouded
sudo su - enshrouded
mkdir -p ~/enshrouded-server

Скачиваем сам сервер через SteamCMD, app id дедиката Enshrouded — 2278520:

steamcmd +force_install_dir ~/enshrouded-server +login anonymous +app_update 2278520 validate +quit

Загрузка обычно укладывается в несколько минут в зависимости от канала. После неё в папке появится исполняемый файл enshrouded_server.exe (да, именно .exe — сервер собран под Windows) и рядом enshrouded_server.json.

На Windows-VPS всё проще: скачиваете SteamCMD, распаковываете в C:\steamcmd, из PowerShell выполняете ту же команду app_update 2278520 validate, и сервер сразу готов к запуску без прослойки эмуляции.

Поднять сервер Enshrouded за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Особенность движка: Proton на Linux

Если вы разворачиваете сервер на Linux-VPS (а это самый бюджетный вариант), учтите: enshrouded_server.exe — нативный Windows-бинарник, и без прослойки он просто не запустится. Решение — Proton (из состава Steam) или связка wine + winetricks.

Проще всего поставить сам Steam на сервер (headless, без графики) и использовать его Proton-рантайм, либо взять отдельно собранный proton-ge и запускать сервер через него вручную:

STEAM_COMPAT_DATA_PATH="$HOME/.proton_enshrouded" \
STEAM_COMPAT_CLIENT_INSTALL_PATH="$HOME/.steam" \
~/.steam/steam/steamapps/common/Proton\ -\ Experimental/proton run \
  ~/enshrouded-server/enshrouded_server.exe

Это самая частая грабля новичков: скачали сервер, запустили ./enshrouded_server.exe, получили Permission denied или cannot execute binary file. Причина именно в отсутствии Proton/Wine, а не в правах на файл.

Если возиться с Proton не хочется — практичнее взять готовый образ или VPS с уже настроенным окружением под Enshrouded, либо сразу Windows Server: там сервер стартует напрямую, без прослойки и связанных с ней просадок производительности.

Конфигурация enshrouded_server.json

Все ключевые настройки — в одном JSON-файле рядом с исполняемым файлом. Базовая структура выглядит так:

{
  "name": "Мой сервер Enshrouded",
  "saveDirectory": "./savegame",
  "logDirectory": "./logs",
  "ip": "0.0.0.0",
  "queryPort": 15637,
  "slotCount": 8,
  "userGroups": [
    {
      "name": "Admin",
      "password": "админ-пароль",
      "canKickBan": true,
      "canAccessInventories": true,
      "canEditBase": true,
      "reservedSlots": 0
    },
    {
      "name": "Friend",
      "password": "пароль-для-друзей",
      "canKickBan": false,
      "canAccessInventories": true,
      "canEditBase": true,
      "reservedSlots": 0
    }
  ]
}

Что стоит поправить сразу:

  • name — отображается в браузере серверов игры, делайте узнаваемым.
  • slotCount — максимум одновременных игроков; ставьте с запасом под RAM из таблицы выше, но без фанатизма.
  • queryPort — порт для запросов статуса сервера, по умолчанию 15637.
  • userGroups — здесь задаются пароли доступа: у Enshrouded нет единого "серверного пароля", вместо этого группы с разными паролями и правами (админ, друг, гость). Кто вводит пароль админ-группы — получает права кика/бана и редактирования баз всех игроков.

JSON не прощает лишних запятых и незакрытых скобок — если сервер после запуска молча откатывается к дефолтным настройкам (имя снова "Enshrouded Server"), первым делом проверьте файл через python3 -m json.tool enshrouded_server.json — невалидный JSON он покажет сразу.

Первый запуск и проброс портов

Запуск на Windows/через Proton выполняется одной командой из папки сервера:

enshrouded_server.exe

В консоли должна появиться строка о том, что сервер слушает порт и готов принимать подключения. Если консоль закрывается сразу после запуска — почти всегда проблема в самом enshrouded_server.json (невалидный JSON) либо в правах на директорию сохранений.

Сети Enshrouded нужны два UDP-порта:

  • 15636/UDP — игровой порт (основной трафик).
  • 15637/UDP — query-порт (статус сервера, используется в браузере серверов и лаунчере игры).

На VPS с внешним firewall (ufw, iptables, облачный firewall провайдера) откройте оба:

sudo ufw allow 15636/udp
sudo ufw allow 15637/udp

Если сервер стоит за домашним роутером, а не на VPS — там же нужен NAT-проброс тех же двух портов на локальный IP машины с сервером. На арендованном VPS с белым IP этот шаг не нужен: клиенты подключаются напрямую по IP:порт.

Для подключения игроки в клиенте Enshrouded используют пункт "Подключиться по IP" и вводят ваш_ip:15636.

Автозапуск и стабильность

Ронять сервер и поднимать его руками каждый раз после ребута VPS — плохая идея, особенно если играете не одни. На Linux проще всего оформить systemd-юнит:

# /etc/systemd/system/enshrouded.service
[Unit]
Description=Enshrouded Dedicated Server
After=network.target

[Service]
User=enshrouded
WorkingDirectory=/home/enshrouded/enshrouded-server
ExecStart=/home/enshrouded/enshrouded-server/start-enshrouded.sh
Restart=on-failure
RestartSec=15

[Install]
WantedBy=multi-user.target

Где start-enshrouded.sh — обёртка с той самой Proton-командой запуска из раздела выше. Включаем и стартуем:

sudo systemctl daemon-reload
sudo systemctl enable --now enshrouded

Теперь при падении процесса или перезагрузке сервера systemd поднимет его сам через 15 секунд. Логи смотрятся через journalctl -u enshrouded -f.

На Windows-VPS автозапуск проще настроить через Планировщик заданий: задача "При запуске системы" с действием запуска enshrouded_server.exe, и опцией "Выполнять вне зависимости от того, вошёл ли пользователь в систему".

Бэкапы и обновления

Сохранения лежат в папке, указанной в saveDirectory (по умолчанию ./savegame). Простейший бэкап — крон-задача с копированием на другой диск или в облако:

0 */6 * * * tar -czf /backups/enshrouded-$(date +\%Y\%m\%d-\%H\%M).tar.gz -C /home/enshrouded/enshrouded-server savegame

Каждые 6 часов — достаточный компромисс между надёжностью и нагрузкой на диск для большинства команд.

Обновление сервера до новой версии игры — та же команда SteamCMD, что и при установке:

steamcmd +force_install_dir ~/enshrouded-server +login anonymous +app_update 2278520 validate +quit

Перед апдейтом обязательно остановите сервер (sudo systemctl stop enshrouded) — обновление поверх работающего процесса может повредить файлы сборки. После апдейта сверяйтесь с патчнотами разработчиков (Keen Games): иногда меняется формат сохранений или структура конфига, и в редких случаях старый enshrouded_server.json приходится пересобирать вручную под новые поля.

Поднять сервер Enshrouded за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Частые вопросы

Можно ли играть без выделенного сервера, просто по хосту у друга?

Да, в Enshrouded есть режим хоста прямо из игрового клиента, но он ограничен по стабильности и требует, чтобы хост-игрок держал игру открытой. Для постоянного проекта с фиксированным аптаймом нужен именно dedicated-сервер.

Почему после рестарта сервер сбрасывает пароли и имя?

Обычно это невалидный enshrouded_server.json — сервер молча откатывается на дефолт. Проверьте файл валидатором JSON перед перезапуском.

Сколько игроков реально тянет 8 ГБ RAM?

Ориентировочно 2-4 при активной застройке баз, но точная цифра зависит от того, сколько зон открыто и насколько плотно игроки строят — держите запас, а не впритык.

Нужен ли мощный CPU или важнее RAM?

Для Enshrouded RAM критичнее: мир и структуры игроков держатся в памяти целиком. CPU важен в основном при большом числе игроков, активно двигающихся одновременно.

Работает ли Enshrouded-сервер стабильно на Linux через Proton?

В целом да, но это дополнительная прослойка со своими нюансами — на Windows Server сервер запускается нативно и без риска специфичных для Proton багов, если для вас критична максимальная стабильность.