Как поднять сервер Stationeers: пошаговая инструкция
Stationeers — игра про то, как не задохнуться, не замёрзнуть и не взорваться на орбите чужой планеты, и в кооперативе это ощущается совсем иначе, чем в одиночку: пока один чинит атмосферный контур, второй тянет трубы к добывающей вышке. Проблема в том, что клиентский хостинг здесь так себе идея — станция должна жить, пока вы спите, иначе разгерметизация случится ровно в тот момент, когда никого нет в сети, чтобы её заметить. Ниже — как поднять полноценный dedicated-сервер на VPS: от закачки через SteamCMD до автозапуска после перезагрузки хоста.
Содержание
Системные требования
Stationeers — не самая тяжёлая игра по железу, но и не бесплатный ланч: сервер постоянно считает физику газов, тепла и давления по каждой трубе и комнате на станции, и чем больше построек у игроков — тем больше расчётов на тик.
Минимальный набор для старта:
- 3 ГБ RAM — комфортный минимум для небольшой станции и 2-4 игроков. С ростом базы (десятки труб, несколько модулей, много техники) закладывайте 4-6 ГБ, особенно если планируете держать сервер круглосуточно с автосейвами.
- 2 vCPU — симуляция атмосферы и логических цепочек (IC10-скрипты в процессорах) не распараллеливается идеально, но лишнее ядро под ОС и фоновые задачи не помешает.
- 3-5 ГБ диска под сам сервер, сейвы и место под бэкапы — при активной стройке сохранения станции разрастаются быстрее, чем кажется на старте.
- Linux x86_64 — официальная dedicated-сборка идёт и под Windows, и под Linux; на VPS почти всегда логичнее второе.
Игра постоянно обновляется, и требования по факту зависят от версии — если чувствуете просадки на нескольких игроках, в первую очередь смотрите на RAM, а не на CPU: именно память чаще всего становится узким местом при разрастании станции.
Установка через SteamCMD
Dedicated-сервер Stationeers распространяется через Steam как отдельное приложение с app id 600760 — устанавливается через SteamCMD, без покупки игры на аккаунт, которым качаете сервер.
Если SteamCMD ещё не стоит на VPS:
sudo apt update
sudo apt install -y steamcmd
Создаём папку под сервер и качаем сборку:
mkdir -p ~/stationeers-server
cd ~/stationeers-server
steamcmd +force_install_dir ./ +login anonymous +app_update 600760 validate +quit
Флаг validate заставляет SteamCMD сверить каждый файл после закачки — на первой установке это не помешает, чтобы не ловить странные баги от битых файлов. Процесс скачает несколько гигабайт и распакует всё в текущую папку — на выходе появится исполняемый файл rocketstation_DedicatedServer.x86_64 и рядом с ним папка rocketstation_DedicatedServer_Data.
Выдаём файлу права на запуск, если понадобится:
chmod +x rocketstation_DedicatedServer.x86_64
Поднять сервер Stationeers за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверПервый запуск и создание мира
В отличие от многих других выживалок, у Stationeers нет отдельной команды "создать сейв" — мир создаётся прямо флагами при первом запуске сервера.
Базовый первый старт с новым миром на Марсе:
./rocketstation_DedicatedServer.x86_64 -batchmode -nographics -logFile - \
-new "MyStation" mars \
-settings ServerName "MAATRIX Station" GamePort 27016 ServerMaxPlayers 10 UPNPEnabled false
Разберём флаги:
-batchmode -nographics— запуск без графики и окна, обязателен на headless VPS без монитора.-logFile -— вывод лога в консоль (stdout), а не в файл; полезно, чтобы сразу видеть ошибки при первом запуске, позже под systemd можно перенаправить в файл.-new "MyStation" mars— создать новый сейв с именемMyStationна картеmars. Другие доступные миры на выбор:moon,europa,europa2,mimas,vulcan,vulcan2,venus,loulan,space— каждый со своим набором ресурсов, гравитацией и сложностью выживания, так что если играете впервые — Марс или Луна прощают ошибки заметно охотнее, чем, скажем, Европа.-settings ...— блок пар ключ-значение, которые прокидываются в конфигурацию сервера при старте (подробнее — в следующем разделе).
При последующих запусках того же сейва -new больше не нужен — используйте -load "MyStation" mars (загрузить конкретный сейв) или -loadlatest "MyStation" mars (загрузить последнее автосохранение по этому имени).
После первого старта в папке сервера появится settings.xml — файл, в который сохраняются переданные через -settings параметры. Редактировать его руками разработчики не рекомендуют: правки в этом XML не всегда подхватываются корректно, поэтому основной способ менять настройки сервера — именно флаги -settings при запуске, а не прямой отредактированный файл.
Настройка: имя, порт, игроки, сложность
Ключевые параметры, которые стоит явно задать через -settings при каждом запуске:
-settings \
ServerName "MAATRIX Station" \
ServerPassword "supersecret" \
ServerMaxPlayers 10 \
GamePort 27016 \
AutoSave true \
SaveInterval 300 \
ServerVisible true \
StartLocalHost false \
UPNPEnabled false
Что означает каждый:
| Параметр | Назначение |
|---|---|
ServerName | Имя, которое видят игроки в списке серверов |
ServerPassword | Пароль для входа; без него на видимый сервер зайдёт кто угодно |
ServerMaxPlayers | Лимит игроков, диапазон 1-30 |
GamePort | Основной игровой порт (UDP), по умолчанию 27016 |
AutoSave / SaveInterval | Включить автосохранение и интервал в секундах (300 = каждые 5 минут) |
ServerVisible | Показывать сервер в публичном списке или только по прямому IP |
StartLocalHost | true только для локальных подключений — на VPS всегда false |
UPNPEnabled | Автоматический проброс порта через роутер — на VPS почти всегда бесполезен, ставьте false и открывайте порт вручную |
Сложность в Stationeers — не отдельный флаг запуска, а свойство самого сейва. Она задаётся при создании мира и хранится в файле сохранения, в теге <DifficultySetting Id="Normal" /> внутри world.xml вашего сейва (путь обычно вида saves/MyStation/world.xml). Доступные значения: Creative (бесконечные ресурсы, без урона от среды), Easy, Normal и Stationeer (самый суровый режим, минимум прощения ошибок). Поменять сложность на уже идущем сейве можно, отредактировав это значение при остановленном сервере — но учтите, что резкая смена сложности на живой станции может сломать баланс ресурсов, которые игроки уже успели накопить под старые правила.
Проброс портов и файрвол
Stationeers использует несколько портов, и на VPS их нужно открывать вручную — UPNPEnabled рассчитан на домашние роутеры с поддержкой UPnP, а не на облачные машины.
Основные порты:
- GamePort (по умолчанию UDP 27016) — сам игровой трафик, обязателен.
- UpdatePort (по умолчанию UDP 27015) — служебный трафик Steam-протокола, используется для списка серверов и части сетевого взаимодействия.
Открываем порты в ufw:
sudo ufw allow 27016/udp
sudo ufw allow 27015/udp
sudo ufw reload
Для firewalld:
sudo firewall-cmd --permanent --add-port=27016/udp
sudo firewall-cmd --permanent --add-port=27015/udp
sudo firewall-cmd --reload
Если провайдер использует облачный файрвол или Security Groups отдельно от системного (частая история на VPS) — правила нужно продублировать и там: локальный ufw ничего не решит, если трафик срезается раньше, на уровне сети хостинга.
Проверить, что сервер реально слушает порт:
ss -uln | grep 27016
Игроки подключаются через Play → Connect в меню Stationeers, указывая IP-сервера:GamePort. Если сервер настроен как ServerVisible true и порты открыты правильно, он также появится в общем списке серверов внутри игры.
Автозапуск через systemd
Запуск в голой SSH-сессии умрёт вместе с разрывом соединения, если не обернуть его в screen/tmux или — надёжнее — в systemd-юнит, который переживёт и разрыв SSH, и перезагрузку VPS.
Создаём unit-файл:
sudo nano /etc/systemd/system/stationeers.service
Содержимое (замените youruser на реального пользователя, от которого крутится сервер — без root):
[Unit]
Description=Stationeers dedicated server
After=network.target
[Service]
Type=simple
User=youruser
WorkingDirectory=/home/youruser/stationeers-server
ExecStart=/home/youruser/stationeers-server/rocketstation_DedicatedServer.x86_64 \
-batchmode -nographics -logFile /home/youruser/stationeers-server/server.log \
-loadlatest "MyStation" mars \
-settings ServerName "MAATRIX Station" GamePort 27016 ServerMaxPlayers 10 \
AutoSave true SaveInterval 300 ServerVisible true StartLocalHost false UPNPEnabled false
Restart=on-failure
RestartSec=15
[Install]
WantedBy=multi-user.target
Включаем и запускаем:
sudo systemctl daemon-reload
sudo systemctl enable stationeers
sudo systemctl start stationeers
Проверка статуса и логов:
sudo systemctl status stationeers
tail -f /home/youruser/stationeers-server/server.log
-loadlatest в связке с автозапуском удобен тем, что сервис после каждого перезапуска (например, из-за Restart=on-failure после краша) сам подхватит последнее автосохранение, а не начнёт с чистого мира — потерять станцию из-за упавшего процесса становится сложнее.
Раз мы уже завели systemd, стоит сразу продумать и бэкапы — привычка, аналогичная той, что нужна на любом сервере с ценным прогрессом, будь то сервер Valheim или сервер Satisfactory: простая cron-задача, копирующая папку saves/ за пределы VPS раз в несколько часов, спасёт станцию, если диск однажды откажет.
crontab -e
0 */6 * * * tar -czf /home/youruser/backups/stationeers-$(date +\%Y\%m\%d-\%H\%M).tar.gz -C /home/youruser/stationeers-server saves/
Обновление сервера
Stationeers регулярно получает патчи — иногда с изменениями, которые ломают совместимость сейвов со старыми модами или скриптами IC10. Версия сервера и клиентов игроков должна совпадать, иначе подключиться не выйдет.
Обновление — это повторный запуск того же SteamCMD-вызова, которым ставили сервер:
sudo systemctl stop stationeers
cd ~/stationeers-server
steamcmd +force_install_dir ./ +login anonymous +app_update 600760 validate +quit
sudo systemctl start stationeers
Перед крупными обновлениями (не патчем безопасности, а сменой версии с заметными правками) не лишним будет сначала сделать бэкап сейва вручную и, если есть тестовый инстанс, проверить на нём, что станция после апдейта грузится без ошибок — как и в Project Zomboid, где обновления тоже иногда требуют отдельного бета-канала для совместимости модов, в Stationeers сложные конструкции на IC10-скриптах могут повести себя неожиданно после смены версии игры.
Поднять сервер Stationeers за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Сервер не виден в списке, хотя запущен.
Чаще всего дело в портах — проверьте, что открыт не только GamePort (27016/UDP), но и UpdatePort (27015/UDP), и что ServerVisible стоит true. Также убедитесь, что облачный файрвол провайдера (не только ufw на самой машине) пропускает оба порта.
Можно ли поменять сложность на уже существующей станции?
Технически да — через DifficultySetting Id в world.xml сейва, при остановленном сервере. Но резкая смена, скажем, с Easy на Stationeer способна сломать баланс ресурсов, которые команда уже накопила под старые правила игры, так что лучше решать сложность заранее, до старта серьёзной стройки.
Нужен ли для сервера отдельный аккаунт Steam с купленной игрой?
Нет, dedicated-сборка (app id 600760) бесплатна и качается через анонимный вход в SteamCMD. Лицензия на Stationeers нужна только у игроков, которые подключаются к серверу.
Что делать, если после перезапуска сервер поднял не тот сейв?
Проверьте флаг -load/-loadlatest в unit-файле или команде запуска — если имя сейва или карты указано неточно, сервер может создать новый мир вместо загрузки старого. Имя в -new/-load и имя папки сейва в saves/ должны совпадать буквально.
Сколько игроков потянет сервер на 3 ГБ RAM?
На небольшой станции с одним-двумя модулями — 3-4 человека спокойно. С ростом базы, добавлением производственных цепочек и увеличением площади с контролируемой атмосферой память уходит быстрее, чем на старте, поэтому для команды от 6 человек и выше сразу закладывайте 4-6 ГБ.