RE:NODE

Руководства10 мин чтения

Моды сервера Satisfactory: SML и Mod Manager

Как ставить моды Satisfactory на выделенный сервер: SML, ficsit.app, серверные сборки, Mod Manager через SFTP, синхронизация клиентов и как пережить обновление игры.

0 прочтений

Моды Satisfactory работают на выделенном сервере через SML, Satisfactory Mod Loader, а берутся с ficsit.app. Практичный путь - Satisfactory Mod Manager на вашем ПК: добавьте в него сервер через SFTP, выберите профиль модов и дайте ему установить SML и моды в папку FactoryGame/Mods на сервере с правильными серверными сборками под Linux. Затем каждый игрок использует тот же профиль. Работает это или нет, решают три вещи: у каждого мода должна быть сборка для платформы сервера, SML должен точно соответствовать версии игры, и никто не обновляет игру, пока моды к этому не готовы. В этой статье - установка, структура папок, какие моды где нужны, как держать компанию в синхроне и что делать в день патча.

Настройка самого сервера описана в руководстве по выделенному серверу Satisfactory, а настройки Server Manager - в статье настройки и сохранения сервера Satisfactory. Здесь речь о модах.

Как устроен моддинг Satisfactory#

Официальной поддержки модов в самой игре нет. Её построило сообщество, и состоит она из трёх частей:

  • SML, Satisfactory Mod Loader, сам устанавливается как мод. Он загружает все остальные моды и даёт общие системы, на которые они опираются, - конфигурацию, проверки совместимости, список модов в игре. Он нужен каждой установке с модами, и клиентской, и серверной.
  • ficsit.app - репозиторий модов. У каждого мода есть страница со списком версий, зависимостей, поддерживаемых версий игры и платформ, для которых он собран.
  • Satisfactory Mod Manager (SMM) - десктопное приложение, которое ставит SML и моды с ficsit.app в установку игры, разрешает зависимости и хранит именованные профили. Его движок доступен и как консольная утилита ficsit-cli - для тех, кто хочет автоматизировать установку скриптами.
загрузка, зависимостиустановка по SFTPлокальная установкавход, проверка модовficsit.appмоды и версииMod Managerваш ПК, профилиКаждый игроктот же профильВыделенный серверFactoryGame/Mods
Как моды попадают на сервер Satisfactory

Самое важное архитектурное решение: моды - это скомпилированный код, который собирается отдельно для каждой платформы. Клиентская сборка мода для Windows - не тот же файл, что серверная сборка того же мода для Linux. Этот один факт объясняет большинство неудачных установок на сервер.

Серверные сборки: проверка до всего остального#

У каждой версии мода на ficsit.app указаны цели, для которых она собрана. Обычно вы увидите какую-то комбинацию из:

ЦельЧто это
WindowsИгровой клиент на Windows
WindowsServerВыделенный сервер на Windows
LinuxServerВыделенный сервер на Linux

Хостинговые выделенные серверы почти всегда работают на Linux. Мод без сборки LinuxServer на них работать не может - не потому, что что-то неправильно настроено, а потому, что нужного серверу файла просто не существует. Копирование файлов клиента для Windows в папку сервера не работает.

Прежде чем планировать прохождение с модами, проверьте каждый мод из списка на наличие серверной сборки, и его зависимости тоже. Одна обязательная библиотека без серверной сборки под Linux блокирует все моды, которые от неё зависят. Mod Manager делает эту проверку за вас при установке на сервер и отказывается ставить моды, которые не может разместить, - это одна из лучших причин пользоваться им, а не копировать файлы вручную.

Установка через Mod Manager по SFTP#

SMM может удалённо управлять модами выделенного сервера, если у него есть доступ к файлам сервера. Поддерживаются локальный путь, FTP и SFTP; для хостингового сервера вам нужен SFTP.

  1. Сделайте backup сервера - сохранение и всю папку FactoryGame/Mods, если она есть. На RE:NODE это слот для бэкапа и кнопка.
  2. Остановите сервер. Моды никогда не стоит ставить на работающий сервер.
  3. Возьмите данные SFTP сервера: хост, порт, имя пользователя и пароль. У каждого сервера на RE:NODE есть SFTP со своими учётными данными; где их найти, показано в статье SFTP и файловый менеджер.
  4. Добавьте сервер в SMM как удалённую установку с этими данными и укажите корневую папку сервера - ту, в которой лежит FactoryGame.
  5. Выберите профиль - тот же, которым вы и ваши игроки будете пользоваться на клиентах, - и дайте SMM его применить. Он установит SML, каждый мод из профиля и их зависимости, используя серверные сборки.
  6. Запустите сервер и читайте лог во время загрузки.

При загрузке SML пишет в лог свои строки с категорией LogSatisfactoryModLoader, включая версию SML и каждый найденный мод. Если моду не хватает зависимости или он собран для другой версии игры, об этом будет сказано именно здесь. Прочитайте это, прежде чем говорить компании, что сервер готов.

Если хотите автоматизировать, ficsit-cli делает то же самое из терминала и умеет работать с удалённой установкой. Команды менялись от релиза к релизу, так что пользуйтесь встроенной справкой своей версии.

Как файлы выглядят на сервере#

Вручную здесь ничего править не нужно, но знание структуры сильно упрощает поиск проблем.

code
FactoryGame/  Mods/    SML/      SML.uplugin      Binaries/LinuxServer/      Content/Paks/LinuxServer/    SomeMod/      SomeMod.uplugin      Binaries/LinuxServer/      Content/Paks/LinuxServer/  Configs/    SomeMod.cfg  Saved/    Config/LinuxServer/    SaveGames/

Каждый мод - это папка с именем его mod reference, короткого внутреннего имени на ficsit.app, а не отображаемого названия. Файл .uplugin описывает мод; папки Binaries и Paks содержат сборки под конкретные платформы. Папка мода только с подпапками Windows - это клиентская сборка для Windows, попавшая туда по ошибке, и сервер её проигнорирует или упадёт на ней.

Настройки модов, использующих систему конфигурации SML, записываются файлами в FactoryGame/Configs/, по одному на мод. У некоторых модов там общесерверные настройки; другие хранят опции в сохранении или только на клиенте. Редактируйте файлы конфигурации при остановленном сервере и сохраняйте копию перед изменением.

Какие моды где нужны#

Не каждый мод должен быть на обеих сторонах. Каждый мод указывает, должен ли он присутствовать и на другом конце соединения, и в целом моды делятся на три группы:

Вид модаСерверКлиенты
Добавляет здания, предметы, рецепты или деталиОбязателенОбязателен, той же версии
Меняет правила игры или балансОбязателенОбычно обязателен
Только клиентский (интерфейс, камера, удобство)Не нуженПо выбору каждого игрока

Контентные моды почти всегда обязательны на обеих сторонах. Серверу они нужны, чтобы просчитывать и сохранять новые здания; клиентам - чтобы их видеть и использовать. Клиентские моды, например помощники интерфейса или инструменты камеры, живут на ПК каждого игрока, а сервер о них не знает и знать не хочет. Некоторые моды работают с выделенным сервером лишь частично - об этом авторы пишут на странице ficsit.app и в описании мода.

Практическое правило: ставьте на сервер только то, что обязано там быть. Каждый лишний мод - это ещё одна вещь, у которой должна быть серверная сборка, которая должна обновиться в день патча и которую должен повторить каждый клиент.

Как держать всех игроков на одних и тех же модах#

Совпадение версий проверяется строго. Когда игрок заходит, SML сравнивает его моды с серверными. Отсутствующий мод, лишний обязательный мод или другая версия обрывают подключение, обычно с сообщением, в котором перечислено, что отличается.

Самый чистый способ держать компанию в синхроне - считать один профиль SMM источником истины:

  1. Один человек собирает профиль в SMM и устанавливает его на сервер.
  2. Он экспортирует профиль из SMM и делится файлом с компанией.
  3. Каждый игрок импортирует его и применяет к своей игре.
  4. Когда список меняется, повторите - и меняйте сервер и общий профиль одновременно.

Игрокам стоит отключить автоматическое обновление модов в SMM для этого профиля или хотя бы не обновляться, пока не обновлён сервер. Игрок, чей Mod Manager на выходных тихо подтянул новую версию одного мода, - самая частая причина, по которой работающий модовый сервер вдруг перестаёт его пускать.

Клиентские моды у игроков могут различаться. Совпадать обязаны только моды, нужные на обеих сторонах.

Обновления игры: день патча для модового сервера#

SML собирается под конкретную версию игры. Когда Coffee Stain выпускает обновление, SML обычно нужен новый релиз, прежде чем загрузится хоть один мод, а затем каждому моду может понадобиться своё обновление. Для крупного обновления это может занять дни или недели, для небольшого патча - часы.

Порядок, который сохраняет модовый сервер живым:

  • Не обновляйте сервер автоматически. На модовом сервере обновление при запуске - это обновление, после которого сервер перестанет загружаться, пока моды не догонят. Обновляйтесь осознанно.
  • Делайте backup перед каждым обновлением. Сохранения Satisfactory совместимы только вперёд - сохранение, открытое более новой версией, нельзя открыть в старой. Backup, сделанный до обновления, - ваш единственный путь назад.
  • Обновляйте по порядку. Игра, затем SML, затем моды, всё на сервере; потом то же самое на каждом клиенте.
  • Следите за логом при первом запуске. Моды, которые ещё не обновлены, сообщают об этом в строках лога SML.
  • Будьте готовы, что часть модов отстанет. Если мод, от которого вы зависите, не обновлён, вы либо ждёте, либо удаляете его - а у удаления та цена, о которой сказано выше.

Экспериментальная ветка всё это усложняет. Моды обычно собираются под стабильный релиз; экспериментальный сервер с модами ломается чаще. Держите модовый сервер на ветке по умолчанию, если только каждый ваш мод явно не поддерживает experimental. Общий порядок восстановления - в статье что делать, когда обновление мода всё сломало.

Моды и ресурсы сервера#

Моды, добавляющие здания и рецепты, увеличивают расход памяти - и из-за загрузки дополнительного контента, и из-за более крупных фабрик, которые они делают возможными. Если в вашем списке несколько контентных модов, добавьте 2-4 GB к цифре, которую вы взяли бы для ванильной фабрики того же размера.

Список модовСколько RAM добавитьВремя запуска
Несколько модов для удобстваНемного или ничегоПочти не меняется
Несколько модов на постройки или логистику1-2 GBНемного дольше
Большие контентные паки или оверхолы2-4 GBЗаметно дольше

Тарифы Satisfactory в RE:NODE - от 8 GB до 14 GB; плотно заможенной фабрике поздней игры место у верхней границы этого диапазона, а график памяти относительно лимита в панели подскажет, когда вы к ней подходите. Действуют те же правила, что и в статье производительность сервера Satisfactory и большие фабрики: больше машин и больше предметов в пути стоят дороже, неважно, из ванили они или из мода.

Устранение неполадок#

SMM отказывается ставить мод на сервер. У него нет серверной сборки для платформы сервера, или её нет у одной из его зависимостей. Проверьте цели на ficsit.app.

Сервер запускается, но моды не загружаются. SML отсутствует или не соответствует версии игры. Проверьте строки LogSatisfactoryModLoader в начале лога.

Игроков не пускает из-за несовпадения модов. Их профиль отличается от серверного. Заново импортируйте общий профиль и примените его.

Моды перестали загружаться после обновления сервера. SML и моды ещё не поддерживают новую версию игры. Восстановите backup, сделанный до обновления, или дождитесь обновлений.

Сервер падает при загрузке после добавления мода. Найдите в конце лога мод, названный в ошибке, удалите папку только этого мода и попробуйте снова. Никогда не удаляйте контентный мод из давнего сохранения без бэкапа.

В сохранении пропали здания после удаления мода. Именно это и делает удаление контентного мода. Восстановите backup, сделанный до удаления, и переустановите мод.

FAQ#

Можно ли поставить моды Satisfactory на сервер без Mod Manager?

Да. Скачайте серверные сборки с ficsit.app и загрузите их в FactoryGame/Mods через SFTP вместе с SML и всеми зависимостями. Mod Manager делает то же самое, проверяя цели и зависимости, поэтому с ним надёжнее.

Нужны ли моим игрокам те же моды, что и на сервере?

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

Почему мод работает на моём ПК, но не на сервере?

Потому что клиентская сборка - это не серверная сборка. На выделенном сервере под Linux моду нужна цель LinuxServer. Если её нет, он там работать не может.

Можно ли добавить моды в уже начатое сохранение?

Обычно да - добавлять контент в существующее сохранение, как правило, безопасно. А вот удалять контентный мод потом - нет. Делайте backup перед и тем, и другим.

Безопасно ли включать автообновление на модовом сервере?

Нет. Обновление игры выходит раньше, чем моды начинают его поддерживать, и сервер перестаёт их загружать. Обновляйтесь вручную, после того как SML и ваши моды догонят.


Комментарии

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

0/2000