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

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

MAATRIX GAMES

Space Engineers — игра для тех, кто любит считать балки, а не фраги, и её дедик капризнее, чем кажется на первый взгляд: сервер официально существует только под Windows, конфиг — не JSON и не INI, а XML с кучей полей, а сама инициализация мира требует либо графического мастера, либо стороннего инструмента в обход него. Ниже — рабочий путь от чистого VPS до сервера, на котором можно спокойно строить корабли и базы вместе с друзьями, без розовых очков про "всё заведётся с первого раза".

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

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

Ориентировочные минимумы для дедика (цифры именно ориентир, реальная нагрузка сильно зависит от количества и сложности гридов у игроков):

ИгроковRAMvCPUДиск
1-44-6 ГБ215 ГБ
4-88 ГБ3-420 ГБ
8-1612-16 ГБ4-630 ГБ

Если игроки активно строят крупные станции с десятками блоков и подсистем, закладывайте RAM с запасом — именно объём и сложность сохранённого мира, а не число одновременных подключений, обычно и упирается в память первым. Диск — SSD/NVMe обязателен: автосохранения на большом мире при HDD дают заметные подвисания у всех игроков разом.

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

Dedicated-сервер Space Engineers распространяется через Steam как отдельное приложение, без покупки игры. App id дедиката — 298740.

На Linux-VPS (Ubuntu/Debian) SteamCMD ставится так:

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

Дальше — отдельный пользователь под игровые процессы, без root:

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

Скачиваем сам дедик:

steamcmd +force_install_dir ~/se-server +login anonymous +app_update 298740 validate +quit

После загрузки в папке ~/se-server появится каталог DedicatedServer64 с исполняемыми файлами — и все они собраны под Windows (.exe). На Windows-VPS процедура идентична: SteamCMD в PowerShell, тот же app_update 298740 validate, и сервер сразу готов к настройке без прослойки эмуляции.

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

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

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

Первоначальная настройка: мастер и XML-конфиг

Вот тут у Space Engineers своя особенность, которая ломает привычный сценарий "скачал — отредактировал текстовый конфиг — запустил". Стандартный SpaceEngineersDedicated.exe — это графическое WPF-приложение: мастер настройки, где вы вручную выбираете сценарий мира, задаёте имя сессии, максимум игроков, режим (Creative/Survival), список модов и генерируете сам мир. Только после этого шага появляется рабочий инстанс с XML-конфигом.

Конфиг лежит в профиле инстанса и по структуре выглядит примерно так (сервер сам добавляет дополнительные поля при сохранении через мастер, точный набор зависит от версии игры):

<?xml version="1.0"?>
<MyConfigDedicated>
  <SessionName>Мой сервер Space Engineers</SessionName>
  <WorldName>NewWorld</WorldName>
  <ServerIP>0.0.0.0</ServerIP>
  <ServerPort>27016</ServerPort>
  <MaxPlayers>8</MaxPlayers>
  <GameMode>Survival</GameMode>
  <OnlineMode>PUBLIC</OnlineMode>
  <Password></Password>
  <AsteroidAmount>4</AsteroidAmount>
  <AutoSaveInMinutes>5</AutoSaveInMinutes>
</MyConfigDedicated>

После первичной генерации мира этот XML уже можно редактировать руками — поднять AutoSaveInMinutes, сменить MaxPlayers, включить пароль. Но саму первую генерацию (создание мира, выбор сценария) без графического интерфейса мастер не даёт пройти — и это главная головная боль тех, кто ставит сервер сразу на headless Linux-VPS без монитора.

Практичный путь: пройти мастер один раз на своей Windows-машине (или через VPS с RDP/VNC), получить готовую папку инстанса с XML и сохранённым миром, а дальше просто скопировать её на боевой сервер и запускать headless-режимом:

DedicatedServer64\SpaceEngineersDedicated.exe -console -ignorelastsession -noconsole

Веб-интерфейс как альтернатива мастеру

Если поднимать графическое окружение ради разовой настройки не хочется, разумная альтернатива — стороннее веб-приложение Xocliw's Space Engineers Dedicated Server Manager. Это независимый инструмент (не от Keen Software House), который берёт на себя генерацию и редактирование конфигов, управление модами и запуск/остановку инстансов через браузер, без необходимости лично проходить графический мастер на сервере.

Кратко, чем он полезен именно для headless-сценария:

  • создание и редактирование XML-конфига инстанса из веб-интерфейса, без WPF-окна;
  • управление списком модов и сценарием мира без ручного редактирования Steam Workshop ID в конфиге;
  • мониторинг состояния процесса сервера и его перезапуск при падении.

Это сторонний open-source проект, а не официальный инструмент от разработчиков — перед использованием стоит свериться с актуальной документацией на его репозитории, интерфейс и требования к окружению со временем меняются. Для небольшого сервера "себе и друзьям" ручной путь через мастер+копирование конфига обычно быстрее, а для сервера с частой ротацией модов и настроек — SEDS Manager экономит время.

Проброс портов и сеть

Space Engineers использует Steam-транспорт (SteamP2P/GameServer), сети нужен открытый UDP-порт — по умолчанию 27016, но он настраивается полем ServerPort в XML-конфиге, так что сверяйтесь с реальным значением из вашего инстанса.

На VPS с внешним firewall откройте нужный порт:

sudo ufw allow 27016/udp

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

Для подключения игроки в клиенте Space Engineers используют пункт "Присоединиться по IP" и вводят ваш_ip:27016 (либо просто находят сервер в списке, если включён OnlineMode: PUBLIC).

Wine/Proton на Linux: честно про ограничения

Если разворачиваете сервер на Linux (обычно самый бюджетный вариант VPS), учтите: SpaceEngineersDedicated.exe — нативный Windows-бинарник, официальной поддержки Linux у него нет. Headless-режим через Wine или Proton в целом работает и используется сообществом годами, но это неофициальный путь: часть модов из Steam Workshop может вести себя нестабильно под Wine, а отладка падений сложнее, чем на нативной Windows.

Минимальный набор для запуска через Wine:

sudo apt install wine64 winetricks
winetricks vcrun2019 corefonts

Дальше сервер запускается через wine с той же командой -console, что и на Windows:

wine DedicatedServer64/SpaceEngineersDedicated.exe -console -ignorelastsession -noconsole

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

Автозапуск, бэкапы и обновления

На Linux автозапуск оформляется systemd-юнитом:

# /etc/systemd/system/se-server.service
[Unit]
Description=Space Engineers Dedicated Server
After=network.target

[Service]
User=sedserver
WorkingDirectory=/home/sedserver/se-server/DedicatedServer64
ExecStart=/usr/bin/wine SpaceEngineersDedicated.exe -console -ignorelastsession -noconsole
Restart=on-failure
RestartSec=15

[Install]
WantedBy=multi-user.target

Включаем:

sudo systemctl daemon-reload
sudo systemctl enable --now se-server

На Windows-VPS то же самое проще через Планировщик заданий: задача "При запуске системы" с действием запуска SpaceEngineersDedicated.exe -console.

Сохранения мира лежат в папке инстанса (обычно Saves\<SessionName> рядом с конфигом). Простейший бэкап — крон-задача:

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

Обновление сервера — та же команда SteamCMD, что и при установке, только без -console в момент апдейта: остановите сервис, прогоните app_update 298740 validate, запустите обратно. После крупных патчей Keen Software House иногда меняется формат сохранений — сверяйтесь с патчнотами перед апдейтом продакшн-мира, а лучше держите свежий бэкап под рукой на всякий случай.

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

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

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

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

Обязательно ли покупать игру, чтобы запустить дедик?

Нет, dedicated-сервер (app id 298740) скачивается отдельно и бесплатно через SteamCMD, покупка Space Engineers нужна только игрокам для подключения.

Можно ли обойтись без графического мастера вообще?

Первичную генерацию мира — нет, мастер обязателен хотя бы раз. Но можно пройти его один раз на другой машине и просто скопировать готовый инстанс, либо использовать стороннее веб-приложение вроде Xocliw's SEDS Manager, которое берёт эту часть на себя.

Почему сервер через Wine падает на определённых модах?

Часть модов из Steam Workshop использует функции, которые Wine эмулирует не полностью — это известное ограничение, а не баг конфигурации. Проверяйте список модов на стабильность по одному, если сервер регулярно вылетает.

Сколько игроков реально тянет одно ядро CPU?

Зависит не от числа игроков, а от суммарной сложности гридов в мире — 8-10 активных игроков со скромными кораблями держатся легче, чем 3 игрока с гигантскими станциями с сотнями блоков.

Нужен ли отдельный порт для каждого игрока?

Нет, один UDP-порт (ServerPort из конфига, по умолчанию 27016) обслуживает все подключения одновременно.