Factorio Руководство

Как синхронизировать стартовые настройки модов на сервере Factorio: файл mod-settings.dat и устранение рассинхронизации

Синхронизация стартовых настроек модов на headless-сервере Factorio: структура mod-settings.dat, устранение ошибки Mod settings mismatch и безопасный экспорт конфигурации.

Как синхронизировать стартовые настройки модов на сервере Factorio: файл mod-settings.dat и устранение рассинхронизации

При запуске выделенного headless-сервера Factorio с крупными модификациями (такими как Space Exploration, Krastorio 2, Bob's & Angel's или сборками для версии 2.0) администраторы сталкиваются с неприятной ошибкой: моды установлены, версии совпадают, но при попытке подключения клиент получает отказ: Mod settings mismatch или Cannot join - different mod startup settings.

В этом практическом руководстве мы разберём типы настроек модов в Factorio, структуру файла mod-settings.dat, способ переноса настроек с локального ПК на выделенный сервер и подтверждение совпадения хэшей при запуске.

Иерархия настроек модификаций в Factorio: Startup, Map и Player#

Factorio разделяет параметры модов на три строго разграниченных уровня:

  1. Startup (Стартовые настройки): определяют прототипы предметов, рецепты, свойства жидкостей и механику технологий. Они читаются движком ещё до генерации мира и сохраняются в бинарном файле mods/mod-settings.dat.
  2. Map (Настройки карты): параметры игрового процесса (скорость экспансии кусак, настройки сложности), которые сохраняются непосредственно внутри файла мира level.dat архива сохранения .zip.
  3. Per-player (Пользовательские настройки): интерфейс, звуки и визуальные эффекты, уникальные для каждого отдельного клиента.

Любое отличие даже в одном стартовом параметре между клиентом и сервером делает синхронизацию состояния фабрики невозможной, так как клиент и сервер скомпилируют разные математические модели игровых прототипов.

Почему возникает ошибка Mod settings mismatch при подключении#

Если headless-сервер Factorio запускается без файла mods/mod-settings.dat, игровой движок автоматически генерирует настройки по умолчанию (default values).

Если администратор настраивал баланс модов в графическом меню игры на своём домашнем ПК (например, отключал усталость от исследований или изменял плотность ресурсов), его локальный клиент сохранил эти настройки в своём файле mod-settings.dat. При попытке зайти на сервер клиент обнаруживает несовпадение прототипов и отклоняет подключение.

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

bash
ls -la /opt/factorio/mods/mod-settings.dat

Если файла нет, сервер работает на заводских дефолтных значениях модов.

Перенос и синхронизация файла mod-settings.dat#

Самый надёжный способ синхронизации — настроить все параметры в интерфейсе локального клиента Factorio и скопировать готовый файл mod-settings.dat на сервер.

Найдите файл на локальном компьютере:

  • Linux: ~/.factorio/mods/mod-settings.dat
  • Windows: %appdata%\Factorio\mods\mod-settings.dat

Скопируйте файл на удалённый выделенный сервер с помощью утилиты scp:

bash
scp ~/.factorio/mods/mod-settings.dat user@your-server-ip:/tmp/

На сервере переместите файл в каталог mods/ и назначьте владельцем сервисного пользователя factorio:

bash
sudo mv /tmp/mod-settings.dat /opt/factorio/mods/mod-settings.dat
sudo chown factorio:factorio /opt/factorio/mods/mod-settings.dat
sudo chmod 644 /opt/factorio/mods/mod-settings.dat

Запуск службы и валидация контрольной суммы модов#

Перезапустите службу headless-сервера Factorio:

bash
sudo systemctl restart factorio && sudo journalctl -u factorio -n 30 --no-pager

Проверьте лог инициализации прототипов в файле factorio-current.log:

bash
grep -E "Loading mod settings|Checksum of" /opt/factorio/factorio-current.log

Строка Loading mod settings: ... и совпадение контрольной суммы прототипов (Checksum of base: ...) подтверждают, что сервер успешно прочитал бинарные параметры. Теперь любой игрок с идентичной сборкой модов подключится без предупреждений о несовпадении настроек.

Если вы хотите развернуть автоматизированный сервер Factorio Space Age с синхронизацией модов в один клик, регулярными бэкапами фабрик и защитой от сетевых задержек UPS/FPS, профессиональный хостинг серверов Factorio предоставляет оптимизированную инфраструктуру для масштабных фабричных миров.

Источники#