Выделенный сервер Space Engineers - это бесплатная программа для Windows (Steam app 298740, скачивается анонимно), которая загружает один мир и держит его запущенным, даже когда никого нет онлайн. Его настройки лежат в SpaceEngineers-Dedicated.cfg и в собственном файле мира Sandbox_config.sbc, по умолчанию он слушает UDP 27016, а играбельность сервера определяет не RAM и не число игроков, а sim speed - отношение симулированного времени к реальному, которое должно держаться на 1.0. Всё, что тянет sim speed вниз, - это физика: гриды, сабгриды, столкновения и скрипты. Лимиты PCU нужны, чтобы игроки не строили больше физики, чем может потянуть CPU. Настройте лимиты до того, как появится первая база, и сервер будет радовать месяцами; настроите потом - и придётся удалять чей-то корабль.
Как устроен хостинг Space Engineers#
Запустить мультиплеерный мир можно тремя способами, и они не взаимозаменяемы:
- Лобби (хост из игры): мир работает на ПК одного из игроков, который одновременно играет. Мир существует, только пока этот игрок онлайн, а его FPS конкурирует с симуляцией.
- Выделенный сервер (от Keen):
SpaceEngineersDedicated.exeиз app298740. В Windows у него есть графический конфигуратор, а без интерфейса он работает как консольный процесс или служба Windows. - Torch: созданная сообществом обёртка вокруг того же выделенного сервера, которая добавляет систему плагинов, более удобный интерфейс администратора и плагин Essentials, на который опирается большинство публичных серверов. Это не официальный продукт, и он отстаёт от обновлений игры на часы или дни.
Сервер работает только под Windows. В Linux его запускают через Wine, и есть контейнерные образы от сообщества, которые делают ровно это, но Keen такой вариант не поддерживает, и иногда обновление игры ломает связку с Wine раньше, чем кто-то успевает её починить. Если вы выбираете машину для долгоживущего сервера, Windows VDS - вариант без сюрпризов; Linux с Wine работает и обходится дешевле, если вы готовы сами быть службой поддержки. В статье Выбор между VDS и игровой панелью этот компромисс разобран в общем виде.
Space Engineers 2 - отдельная игра со своей историей серверов, которая ещё меняется в раннем доступе. Если не сказано иное, ничего из написанного ниже к ней не относится.
Требования: сначала CPU, потом память#
Space Engineers - самый чистый пример игры, где CPU важнее RAM. Физика в основном работает в одном потоке, поэтому потолок задаёт тактовая частота. Память растёт вместе с числом гридов, загруженных вокруг игроков, и с модами.
| Мир | RAM | CPU | Примечания |
|---|---|---|---|
| 2-4 игрока, ванилла, одна планета | 4-6 GB | 2 быстрых ядра | Комфортно, пока базы маленькие |
| 5-10 игроков, несколько станций | 6-8 GB | 2-3 ядра | Лимиты PCU начинают иметь значение |
| 10-20 игроков, моды, много гридов | 10-16 GB | 3-4 ядра | Нужны очистка мусора и строгие лимиты |
| Публичный сервер, 30+ игроков | 16 GB+ | 4 быстрых ядра | Torch, плагины, агрессивная очистка |
- Диск: сервер занимает примерно 10 GB. Папка мира поначалу маленькая и по мере строительства разрастается до сотен мегабайт; с модами добавьте ещё кеш модов. NVMe заметно сокращает подвисание при сохранении.
- Планеты стоят памяти: каждая загруженная планета держит вокруг игроков воксельные данные. Мир с пресетом полной солнечной системы потребляет больше, чем старт на одной планете или в пустом космосе.
- Игроки стоят ресурсов через то, что строят, а не через своё присутствие онлайн. Десять человек, копающих астероиды, обходятся дёшево; трое с буровыми установками на роторах и стеной принтеров - нет.
Установка и первый запуск#
В Windows через SteamCMD:
$ steamcmd +force_install_dir C:\se-server +login anonymous +app_update 298740 validate +quitВ статье Что такое SteamCMD объясняется, что делает validate и почему для этого приложения работает анонимный вход. В установке есть DedicatedServer64\SpaceEngineersDedicated.exe. Запустите его без аргументов, и откроется конфигуратор от Keen: выберите шаблон мира или существующее сохранение, заполните имя и лимиты, а затем либо запустите сервер прямо в этом окне, либо сохраните конфигурацию.
Для сервера без интерфейса запускайте его с -console:
$ SpaceEngineersDedicated.exe -console -path "C:\se-server\instance"Три аргумента, которые стоит знать:
-consoleзапускает сервер как консольный процесс без GUI.-pathуказывает на папку инстанса, где лежатSpaceEngineers-Dedicated.cfg, папкаSavesи логи. Без него используется%AppData%\SpaceEngineersDedicated.-ignorelastsessionзагружает мир, указанный в конфиге, а не последнюю сессию, которую запускал сервер.
Для ванильного мира первый запуск ничего дополнительно не скачивает, но если в списке есть моды, сервер перед загрузкой подтягивает их из Steam Workshop, и это может занять несколько минут. Следите в логе за строкой о том, что игра готова и сервер зарегистрирован в Steam.
SpaceEngineers-Dedicated.cfg: важные настройки#
Конфиг написан в XML. Настройки уровня сервера стоят вверху, правила мира - внутри <SessionSettings>. Сокращённый пример:
<MyConfigDedicated> <SessionSettings> <GameMode>Survival</GameMode> <MaxPlayers>12</MaxPlayers> <AutoSaveInMinutes>5</AutoSaveInMinutes> <ViewDistance>15000</ViewDistance> <SyncDistance>3000</SyncDistance> <EnableIngameScripts>true</EnableIngameScripts> <BlockLimitsEnabled>PER_PLAYER</BlockLimitsEnabled> <TotalPCU>200000</TotalPCU> <TrashRemovalEnabled>true</TrashRemovalEnabled> <InventorySizeMultiplier>3</InventorySizeMultiplier> <AssemblerSpeedMultiplier>3</AssemblerSpeedMultiplier> <RefinerySpeedMultiplier>3</RefinerySpeedMultiplier> </SessionSettings> <LoadWorld>C:\se-server\instance\Saves\Frontier\Sandbox.sbc</LoadWorld> <IP>0.0.0.0</IP> <ServerPort>27016</ServerPort> <SteamPort>8766</SteamPort> <ServerName>Frontier Engineering</ServerName> <WorldName>Frontier</WorldName> <PauseGameWhenEmpty>false</PauseGameWhenEmpty> <Administrators> <unsignedLong>76561198012345678</unsignedLong> </Administrators></MyConfigDedicated>Что делает каждая важная настройка:
| Настройка | Что она определяет |
|---|---|
GameMode | Survival или Creative |
MaxPlayers | Число слотов, которое сервер объявляет и соблюдает |
AutoSaveInMinutes | Интервал автосохранения; 0 его отключает |
ViewDistance | Дальность отрисовки гридов у клиентов, в метрах |
SyncDistance | Радиус вокруг каждого игрока, в котором сервер держит полную синхронизацию |
EnableIngameScripts | Скрипты программируемых блоков включены или выключены |
BlockLimitsEnabled | NONE, GLOBALLY, PER_FACTION или PER_PLAYER |
TotalPCU | Бюджет PCU, распределяемый по режиму выше |
TrashRemovalEnabled | Автоматическая уборка обломков и брошенных гридов |
PauseGameWhenEmpty | Замораживает симуляцию, когда никого нет онлайн |
Administrators | SteamID64 с правами администратора |
Что путает всех: у существующего мира есть собственная копия настроек сессии в Saves\<World>\Sandbox_config.sbc. SessionSettings из конфига выделенного сервера - это то, с чем создаётся новый мир; когда мир уже существует, действует то, что записано в файле мира, а некоторые конфигураторы пишут в оба места. Надёжный способ - остановить сервер, поменять значение и в Sandbox_config.sbc, и в конфиге сервера, чтобы они совпадали, и снова запустить. Править любой из них при работающем сервере бессмысленно - при сохранении он их перезапишет.
PCU и лимиты блоков#
PCU расшифровывается как Performance Cost Unit. У каждого блока есть значение PCU, отражающее его стоимость для сервера: броня дешёвая, функциональные блоки дороже, а всё, что связано с подвижной физикой или скриптами, дороже всего. PCU грида - сумма его блоков; PCU игрока или фракции - сумма всего, чем они владеют.
BlockLimitsEnabled определяет, как применяется TotalPCU:
- `NONE`: лимита нет. Нормально для двух друзей в креативе, опасно в любом другом случае.
- `GLOBALLY`: один общий пул на весь мир. Просто, но первый же любитель тяжёлых построек съест лимит всех остальных.
- `PER_PLAYER`: общий объём делится между игроками. Предсказуемо и обычно выбирается на небольших приватных серверах.
- `PER_FACTION`: общий объём делится между фракциями, что подталкивает людей объединяться. Так делают многие публичные серверы, часто с ограничением на размер фракции.
Значения по умолчанию менялись от версии к версии и зависят от пресета мира, поэтому откройте Sandbox_config.sbc своего мира и посмотрите фактические значения, а не верьте гайду. Помимо PCU есть MaxGridSize (блоков на грид) и MaxBlocksPerPlayer, а также лимиты по типам блоков, ограничивающие число конкретных дорогих блоков вроде буров или проекторов. Для небольшой группы хорошая отправная точка - PCU на игрока в пределах десятков тысяч, лимит размера грида, позволяющий построить настоящий флагман, и ограничение на проекторы.
Чего PCU плохо отражает, так это поведение. Конструкция из роторов и поршней на 3,000 PCU, которая каждый тик сталкивается сама с собой, может стоить больше, чем статичная станция на 30,000 PCU. Так что лимиты необходимы, но недостаточны - нужны ещё очистка и правила насчёт сабгридов.
Порты, админы и подключение#
| Порт | Протокол | Назначение |
|---|---|---|
27016 | UDP | Игровой трафик (ServerPort) |
8766 | UDP | Связь со Steam (SteamPort) |
8080 | TCP | Remote API, только если включён |
Игроки находят сервер во внутриигровом браузере серверов или через список серверов Steam по IP и игровому порту. Remote API (RemoteApiEnabled, RemoteApiPort, RemoteSecurityKey в конфиге) используют удалённый клиент Keen и некоторые инструменты; держите его выключенным, если он вам не нужен, и никогда не открывайте его наружу с ключом по умолчанию. В статье Порты игровых серверов объясняется, почему сервер может прекрасно работать и при этом оставаться невидимым, если закрыт один из пары портов.
Админы берутся из списка Administrators в виде 17-значных SteamID64. В игре админ открывает экран администратора по Alt+F10: там инструменты очистки, список сущностей, режим наблюдателя, креативные инструменты и повышение других игроков. Список сущностей - самый полезный инструмент модерации на сервере: отсортируйте гриды по PCU или по владельцу, найдите брошенный горнодобывающий корабль на 400 блоков на краю системы и удалите его.
Torch добавляет команды чата через плагины - большинство серверов ставят Essentials, ради плановой очистки, управления гридами и перезапусков. Эти команды предоставляет плагин, а не игра, и их синтаксис описан в документации плагина.
Моды и Workshop#
Моды Space Engineers берутся из Steam Workshop, и выделенный сервер скачивает их сам. Они перечисляются в конфиге внутри <Mods>, каждый со своим id из Workshop:
<Mods> <ModItem FriendlyName="Example mod"> <Name>123456789.sbm</Name> <PublishedFileId>123456789</PublishedFileId> </ModItem></Mods>Id выше - заглушка; настоящий id берите из URL страницы в Workshop. Клиенты при подключении скачивают те же моды автоматически, поэтому Space Engineers - одна из самых простых игр для мультиплеера с модами: вручную следить за совпадением модов не нужно. В статье Моды Steam Workshop на выделенных серверах в общем виде объясняется, как устроено скачивание на стороне сервера.
На что обращать внимание:
- Скриптовые моды работают на сервере и могут обходиться так же дорого, как любая конструкция игроков. Фреймворк оружия или ИИ-кораблей - это решение о производительности, а не только о контенте.
- Моды на блоки добавляют PCU так же, как ванильные блоки, но некоторые авторы ставят значения, не отражающие реальную стоимость.
- Порядок модов важен, когда два мода меняют одно и то же определение; побеждает тот, что ниже.
- После обновления игры сломанные моды обычно не дают миру загрузиться или выдают ошибки при подключении. Держите список того, что у вас стоит, и прочитайте что делать, когда обновление мода всё ломает, до того как это понадобится.
Как держать sim speed на 1.0#
Sim speed виден в отладочном оверлее (Shift+F11) и в Torch. Всё ниже примерно 0.8 ощущается вязким; ниже 0.5 игра уже сломана. Причины - примерно в порядке того, как часто именно они оказываются ответом:
- Сталкивающиеся сабгриды. Роторы, шарниры и поршни, которые касаются друг друга или земли, создают физическую работу на каждом тике. Классические виновники - clang-двигатели, буры на роторах, которые врезаются в воксели, и поршни, упирающиеся в статичные гриды.
- Слишком много активных гридов. Симулируется каждый грид, который запитан, движется или недавно был затронут. Обломки после боя и поле брошенных роверов обходятся гораздо дороже, чем говорит их PCU.
- Скрипты программируемых блоков, работающие каждый тик.
EnableIngameScriptsв false - грубое решение; лучше ввести правило, что скрипты работают наUpdate10илиUpdate100, а не наUpdate1. - Большие `SyncDistance` и `ViewDistance`. Об этом выше.
- Изменения вокселей. Активное бурение на планетах обходится дорого; масштабные проекты по бурению лучше вести на астероидах.
- Сохранение. Большой мир на мгновение замирает при каждом автосохранении. Не ставьте
AutoSaveInMinutesв 1.
Инструменты:
- Уборка мусора.
TrashRemovalEnabledвместе с флагами очистки через некоторое время убирает обломки, обесточенные и безымянные гриды, а также гриды далеко от игроков. Подберите задержку так, чтобы разбившийся корабль дожил до возвращения хозяина. - Список сущностей (
Alt+F10), чтобы находить и удалять дорогие гриды. - Плановые перезапуски. Space Engineers на долгих сессиях течёт по памяти, а плавающие объекты накапливаются. Перезапуск раз в 12 или 24 часа, в тихий час и с предупреждением, держит сервер свежим - в статье Расписание перезапусков, которое помогает объясняется, как часто это полезно, а когда только мешает.
- Правила. На большинстве публичных серверов есть письменные правила о числе сабгридов и роях дронов. Лимиты следят за числами, правила - за поведением.
Сохранения, backup и перенос мира#
Мир - это папка Saves\<WorldName>\, в которой лежат Sandbox.sbc (заголовок мира и настройки), Sandbox_config.sbc, SANDBOX_0_0_0_.sbs (гриды и сущности, самый большой файл), а также бинарные копии .sbsB5 и воксельные файлы изменённых астероидов и планет. Внутри сохранения сервер держит папку Backup с копиями по времени, которой управляют настройки backup в конфиге.
Чтобы перенести мир из одиночной игры на сервер:
- Найдите его в
%AppData%\SpaceEngineers\Saves\<SteamID>\<WorldName>. - Остановите сервер.
- Загрузите всю папку в каталог
Savesна сервере - как это сделать, описано в статье SFTP и файловый менеджер. - Укажите в
LoadWorldпуть к егоSandbox.sbcи убедитесь, что вSandbox_config.sbcстоят нужные вам лимиты, потому что в мирах из одиночной игры их часто нет вовсе. - Запустите сервер и проверьте лог.
Встроенная папка backup лежит на том же диске, что и мир, поэтому она защищает от повреждённого сохранения, но не от потери диска или сервера. Храните копии вне машины и время от времени восстанавливайте одну из них. Развёрнутая версия этого аргумента - в статье Backup, которые действительно восстанавливаются.
На RE:NODE у каждого игрового сервера есть слоты backup, которые хранятся вне защищаемой машины и восстанавливаются одной кнопкой, и вкладка Schedules, которая умеет по очереди запускать backup и перезапуск. Однако Space Engineers нет в каталоге, а его серверу нужны Windows или Wine, чего ни один игровой тариф здесь не даёт, - собирать такой сервер самостоятельно стоит на линейке VDS.
Решение проблем#
Сервер работает, но его нет в браузере. Проверьте, что оба UDP-порта открыты и что IP равен 0.0.0.0, а не устаревшему адресу. Подключитесь через список серверов Steam по IP, чтобы отделить проблему браузера от сетевой.
Игроков кикает из-за несовпадения мода или версии. Игра обновилась, а сервер нет, или предмет из Workshop обновился посреди сессии. Обновите сервер через SteamCMD и перезапустите, чтобы он подтянул актуальные моды.
Sim speed проваливается, когда заходит один игрок. Что-то из его имущества симулируется, только когда он рядом. Понаблюдайте за его базой через инструменты администратора и поищите сталкивающиеся сабгриды.
Мир загружается с настройками по умолчанию. Вы правили конфиг выделенного сервера, но в Sandbox_config.sbc мира остались старые значения. Отредактируйте оба файла при остановленном сервере.
Сервер перезапускается каждые несколько часов. Закончилась память или падает мод. Прочитайте последние строки лога перед перезапуском; общий чек-лист есть в статье Почему игровой сервер постоянно перезапускается.
FAQ#
Сколько игроков выдержит сервер Space Engineers?
Настройка позволяет гораздо больше, чем обычно способна вытянуть симуляция. Хорошо настроенный ванильный сервер спокойно держит 10-20 игроков; дальше всё почти целиком зависит от того, что они строят и насколько строго вы следите за лимитами и очисткой.
Нужен ли серверу Space Engineers аккаунт Steam с купленной игрой?
Нет. Выделенный сервер скачивается через SteamCMD с анонимным входом. Игра нужна игрокам, серверу - нет.
Какой лимит PCU разумен для небольшой группы?
Для большинства групп из четырёх-восьми человек подходят лимиты на игрока в пределах десятков тысяч. Начинайте ниже, чем кажется нужным: поднять лимит потом легко, а понизить - значит удалить чью-то работу.
Можно ли запустить сервер Space Engineers на Linux?
Только через Wine. У многих это работает, но не поддерживается и иногда ломается после обновлений. Если аптайм важнее стоимости, запускайте на Windows.
Что выбрать - Torch или ванильный сервер?
Для приватной группы хватит ванильного. Torch оправдан на публичном сервере, где плагины для очистки, перезапусков и управления гридами экономят часы работы администратора. После крупных патчей игры будьте готовы ждать обновления Torch.




Комментарии
Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.