Моды для Space Engineers: установка
Голый ванильный мир Space Engineers быстро упирается в потолок: нет нужных блоков под конкретный стиль построек, программируемый блок приходится кодить с нуля вместо того, чтобы взять готовый скрипт, а скины кораблей всем в отряде надоели через неделю. Хорошая новость — на дедике моды ставятся не игроками по одному, а один раз сервером, и дальше клиенты просто получают их у Steam Workshop сами. Плохая новость — этот процесс завязан на XML-конфиг и на версию игры, и just add ID тут работает не всегда. Разберём по шагам, как правильно прописать моды на сервере, чтобы они действительно подхватились, а не просто лежали мёртвым грузом в списке. Если сервер ещё не поднят — сначала пошаговая инструкция по установке сервера Space Engineers, там разобран SteamCMD, мастер настройки и структура XML-конфига, на которую мы будем опираться ниже.
Содержание
Три типа модов и что каждый из них меняет на сервере
В мастерской Space Engineers мод — понятие широкое, и от типа зависит, придётся ли пересоздавать мир или можно обойтись перезапуском сервера.
- Блоки (block mods) — новые детали для кораблей и станций: реакторы, орудия, декоративные панели, целые серии от известных авторов вроде тех же расширенных ангаров или промышленных блоков. Такие моды добавляют записи в справочник построек (Toolbar/G-меню), и без них старые сохранения, где эти блоки уже стоят на грид-сетках, просто откажутся грузиться — сервер выдаст ошибку про отсутствующий контент.
- Скрипт-моды (programmable block scripts / mod scripts) — либо готовые скрипты для программируемого блока, которые игрок сам выбирает и вставляет в PB, либо моды, которые встраивают логику прямо в игровые системы (например, автоматизация конвейеров или ИИ-поведение блоков). Первые не требуют подписки на сервере вообще — это просто код, который игрок копирует в свой блок локально. Вторые — полноценные Workshop-моды с ID, которые нужно прописывать в конфиг сервера.
- Скины (skin mods) — перекраска брони, HUD или текстур блоков. Самые безобидные с точки зрения совместимости: почти никогда не трогают геймплейную логику и редко ломаются после патчей, но по той же причине именно их проще всего забыть отключить, когда они перестают обновляться автором.
Практический вывод: если задача — просто разнообразить визуал, начните со скинов, они почти не создают рисков. Если нужна новая механика (грузовые дроны, расширенная добыча руды) — это блоки или полноценные скрипт-моды, и тут уже придётся следить за версией.
Где взять Workshop ID мода
Для прописывания мода на сервере игра не использует название — только числовой Published File ID из Steam Workshop.
- Открываем страницу мода в Steam Workshop в браузере (steamcommunity.com/sharedfiles/filedetails/?id=...).
- Число после
?id=в адресной строке — это и есть искомый ID, обычно 8-10 цифр. - Альтернативно — то же самое можно скопировать из клиента Steam: правая кнопка на моде в подписках → "Просмотреть в Steam" → тот же URL.
Держите список ID отдельным файлом (текстовиком с названием мода в комментарии рядом) — когда сервер растёт до 15-20 модов, вспомнить, какой ID за что отвечает, без подписи уже нереально.
Поднять сервер Space Engineers за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверПрописываем моды в конфиге сервера
Список активных модов хранится в том же XML-конфиге инстанса, который создаётся мастером при первой генерации мира (в статье про установку сервера он называется SpaceEngineers-Dedicated.cfg — имя файла и точное расположение секции могут немного отличаться между версиями, но структура ниже актуальна для текущих сборок). Внутри корневого <MyConfigDedicated> ищите или добавляйте блок <Mods>:
<Mods>
<ModItem>
<PublishedFileId>123456789</PublishedFileId>
<PublishedServiceName>Steam</PublishedServiceName>
</ModItem>
<ModItem>
<PublishedFileId>987654321</PublishedFileId>
<PublishedServiceName>Steam</PublishedServiceName>
</ModItem>
</Mods>
Каждый <ModItem> — один мод: PublishedFileId — тот самый ID со страницы Workshop, PublishedServiceName — почти всегда Steam (у мода, залитого через Mod.io, значение будет другим, но подавляющее большинство модов SE лежит именно в Steam Workshop).
Правила, которые часто ломают порядок работы:
- Останавливайте сервер перед правкой конфига. Список модов читается при старте инстанса — на лету он не обновляется, а если сервер перезапишет свой конфиг поверх вашей правки во время выключения, изменения потеряются.
- Порядок ModItem иногда имеет значение — некоторые сборки модов (например, наборы блоков, зависящие от общей библиотеки текстур) грузятся стабильнее, если мод-зависимость стоит в списке раньше зависимого от него мода. Если сервер падает на старте при новом моде — попробуйте переставить его выше.
- Мир уже создан? Моды-блоки, добавленные постфактум, на существующие сохранения не влияют — новые детали просто появятся в справочнике построек. А вот удаление мода, чьи блоки уже стоят в мире, либо ломает загрузку сейва, либо (в некоторых версиях) заменяет отсутствующие блоки на заглушки — оба варианта неприятные, поэтому отключать мод с уже построенными объектами стоит с бэкапом под рукой.
Если вручную редактировать XML не хочется — веб-панель Xocliw's Space Engineers Dedicated Server Manager, которая уже упоминалась в статье про установку сервера, умеет добавлять моды по ID через интерфейс без прямого редактирования файла — это сторонний инструмент, но для сервера с частой ротацией модов он ощутимо экономит время на рутинных правках.
Программируемые блоки и скрипты: что нужно отдельно
Готовые скрипты для программируемого блока (PB) — самая гибкая форма модификации, потому что технически это не Workshop-мод сервера, а просто код, который каждый игрок вставляет в свой блок сам. Тем не менее с точки зрения сервера тут есть нюансы:
- Многие популярные PB-скрипты (авто-майнеры, системы управления производством, автопилоты) публикуются той же мастерской как "Script" в фильтре типов контента — их можно и нужно всё равно добавлять в
<Mods>, если вы хотите, чтобы скрипт был доступен всем игрокам сразу из библиотеки блока, а не требовал ручного копипаста кода от каждого. - Часть сложных скриптов и модов, которые меняют базовое поведение симуляции (не просто скрипт в PB, а системный мод), исторически требовали включённого экспериментального режима мира. Ситуация с этим требованием менялась от версии к версии — перед установкой такого мода проверяйте описание страницы Workshop: автор почти всегда прямо пишет, нужен ли экспериментальный режим (Experimental Mode) в конкретной актуальной версии игры.
- PB-скрипты потребляют ресурсы CPU сервера при выполнении — сложный скрипт с плотным циклом обновления на десятках одновременно работающих блоков заметно добавляет нагрузку на симуляцию, которая и так у Space Engineers по большей части однопоточная. Если после массового включения скриптов сервер начал подтормаживать — это первое место для проверки.
Совместимость с версией игры: главный источник проблем
Space Engineers регулярно получает крупные обновления от Keen Software House, которые меняют API модов, структуру блоков или физику. После такого патча часть модов на какое-то время просто перестаёт грузиться или начинает вести себя не так, как раньше — это не редкость, а нормальный побочный эффект активной разработки игры.
Что стоит делать по правилу, а не по факту падения сервера:
- Перед плановым обновлением игры проверяйте страницу каждого мода в списке на дату последнего изменения и на свежие комментарии — сообщество обычно быстро пишет в комментариях "не работает после патча X.Y", это самый быстрый способ узнать заранее, а не по факту падающего сервера.
- Держите тестовый мир (или хотя бы копию боевого сохранения) отдельно от продакшена, чтобы проверять список модов после каждого крупного обновления игры, прежде чем катить изменения на сервер, где играют люди.
- Если мод не обновился под новую версию, а критичен для мира — временно откатывать версию сервера через SteamCMD не всегда возможно надёжно (Keen не всегда держит старые билды доступными через
app_updateс конкретным manifest ID), поэтому реалистичный план — либо ждать обновления мода от автора, либо временно отключать именно его, а не весь список. - Логи сервера при падении на старте обычно прямо называют проблемный
PublishedFileId— это самая быстрая диагностика, не нужно отключать моды по одному вслепую.
Как моды попадают к игрокам и типичные сбои
Клиентам не нужно вручную подписываться на моды сервера в Steam — при подключении к серверу со списком модов в конфиге, игра сама запускает скачивание недостающих модов через Steam Workshop и только потом пускает игрока в мир. Это удобно (админу не нужно рассылать список ссылок всем в отряде), но у механизма есть слабые места:
- Если мод удалён автором из Workshop или сделан приватным, у клиентов, которые ещё не скачали его раньше, подключение зависнет на этапе загрузки без внятной ошибки — почистить такой ID из конфига стоит сразу, как только это выяснилось.
- Первое подключение к мод-тяжёлому серверу (десятки модов, особенно с крупными текстурными паками) может занять заметное время — предупредите игроков заранее, чтобы никто не решил, что сервер завис.
- У части игроков автозагрузка модов через Steam иногда обрывается на нестабильном соединении — обычно решается повторным подключением, реже — ручной подпиской на конкретный мод в Steam Workshop до захода на сервер.
Поднять сервер Space Engineers за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Можно ли добавить мод без перезапуска сервера?
Нет, список модов читается при старте инстанса — любое изменение <Mods> требует остановки и повторного запуска сервера.
Нужно ли игрокам вручную подписываться на моды сервера в Steam?
Нет, клиент скачивает недостающие моды из списка сервера автоматически при подключении, вручную нужна разве что предварительная подписка, если автозагрузка у кого-то обрывается.
Что будет, если убрать мод, блоки которого уже стоят в мире?
Зависит от версии — либо сохранение откажется грузиться с ошибкой про отсутствующий контент, либо блоки будут заменены на заглушки. В любом случае перед удалением такого мода стоит сделать бэкап мира.
Как понять, что мод сломался именно из-за обновления игры, а не конфига?
Смотрите лог сервера при старте — если ошибка появилась сразу после апдейта игры на моде, который раньше работал стабильно, и в комментариях на его странице Workshop уже жалуются другие — это почти всегда версия, а не ваша настройка.
Работают ли моды с картами Mod.io, а не только Steam Workshop?
Технически конфиг поддерживает поле PublishedServiceName с другим значением, но подавляющее большинство контента для Space Engineers распространяется именно через Steam Workshop — используйте его как основной источник.