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

Нужен ли Space Age всем игрокам на сервере Factorio: правила DLC, моды и синхронизация

Правила сетевой игры в Factorio 2.0 и Space Age: нужен ли DLC всем игрокам на сервере, детерминированная симуляция, настройка серверов для базовой игры и mod-list.json.

Нужен ли Space Age всем игрокам на сервере Factorio: правила DLC, моды и синхронизация

Релиз Factorio 2.0 и масштабного дополнения Space Age вызвал волну вопросов у игровых сообществ: «Может ли владелец Space Age захостить сервер для друзей, у которых куплена только базовая игра?», «Нужна ли копия DLC каждому участнику?», «Как настроить сервер Factorio 2.0, чтобы на нём могли играть все?». В отличие от некоторых стратегий, где достаточно владения дополнениями у одного хоста, в Factorio действуют строгие математические правила детерминированной симуляции.

В этой статье подробно разобраны технические требования Factorio 2.0 к дополнениям, правила проверки владения DLC Space Age, порядок настройки сервера для смешанных групп игроков и управление списком активных пакетов mod-list.json.

Архитектура детерминированного мультиплеера Factorio#

Чтобы понять политику дополнений Factorio, важно знать фундаментальный принцип сетевого кода игры. Factorio использует полностью детерминированную модель симуляции:

  1. Сервер не передаёт координаты каждого манипулятора, конвейера или пули каждый тик.
  2. Сервер передаёт только действия игроков (нажатия клавиш, команды крафта, установку чертежей).
  3. Клиент каждого игрока выполняет абсолютно одинаковый симуляционный цикл локально на своём процессоре.

Для того чтобы симуляция не рассинхронизировалась (desync), у сервера и всех подключённых клиентов должны быть байт-в-байт идентичные игровые прототипы: одинаковые рецепты, технологии, сущности, формулы качества и физика поверхностей.

Правило владения DLC Space Age: почему хост не делится контентом#

Официальное правило Wube Software однозначно: если на сервере активирован мод space-age, каждый подключающийся игрок обязан лично владеть копией DLC Space Age на своей учётной записи (Steam, GOG или Factorio.com).

Почему функция «Share DLC» (делегирование дополнения хостом) технически невозможна:

  • Клиент игрока без купленного DLC просто не имеет бинарных файлов ресурсов, спрайтов и скриптов планет (Вулканис, Глеба, Фульгора, Аквило).
  • Сервер не может передать защищённый контент клиенту по сети, так как это нарушало бы лицензионное соглашение и требовало бы передачи сотен мегабайт защищённых ассетов.
  • При попытке входа на сервер со Space Age игрок без купленного DLC получит системное уведомление: Missing required expansion: Space Age.

Настройка сервера для игроков без дополнения Space Age#

Если в вашей компании друзей не у всех куплено дополнение Space Age, вы всё равно можете играть вместе на версии Factorio 2.0. Базовое обновление 2.0 бесплатно для абсолютно всех владельцев оригинальной игры и включает в себя массу улучшений: новую логистику умных поездов, улучшенную систему проводов, жидкостную механику и оптимизацию движка.

Для создания сервера, доступного для всех игроков без покупки дополнения, отключите экспансии в конфигурационном файле /opt/factorio/mods/mod-list.json:

json
{
  "mods": [
    { "name": "base", "enabled": true },
    { "name": "elevated-rails", "enabled": false },
    { "name": "quality", "enabled": false },
    { "name": "space-age", "enabled": false }
  ]
}

С такой конфигурацией сервер будет запускать чистую версию Factorio 2.0 на планете Наувис. К нему смогут беспрепятственно подключаться как обладатели Space Age, так и игроки с базовой версией игры.

Включение отдельных компонентов: Elevated Rails и Quality#

Интересная особенность архитектуры дополнения заключается в том, что компоненты Space Age разделены на три независимых официальных пакета:

  1. space-age — космические платформы и новые планеты (требует обязательной покупки DLC всеми игроками).
  2. elevated-rails — эстакады, рампы и многоуровневые развязки поездов (входит в покупку Space Age).
  3. quality — пять уровней качества предметов (входит в покупку Space Age).

Если вы хотите играть на планете Наувис с эстакадами и качеством, но без полётов в космос, вы можете включить только elevated-rails и quality:

json
{
  "mods": [
    { "name": "base", "enabled": true },
    { "name": "elevated-rails", "enabled": true },
    { "name": "quality", "enabled": true },
    { "name": "space-age", "enabled": false }
  ]
}

Однако помните: поскольку quality и elevated-rails являются частью платного пакета, все игроки на сервере по-прежнему должны иметь купленный Space Age на своих аккаунтах для входа.

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

Управление mod-list.json и автоматическая синхронизация модов#

Чтобы сервер автоматически проверял и синхронизировал моды через официальный Mod Portal, убедитесь, что в файле /opt/factorio/data/server-settings.json указаны реквизиты администратора:

json
{
  "name": "Factorio 2.0 Community Server",
  "description": "Multiplayer with synced mods",
  "require_user_verification": true,
  "max_players": 16,
  "ignore_player_limit_for_returning_players": true
}

Параметр require_user_verification: true обязателен: он проверяет подлинность лицензий игроков через сервер авторизации Factorio.com, что предотвращает конфликты версий и рассинхронизацию игрового процесса.

Запустите службу сервера и убедитесь в отсутствии ошибок загрузки пакетов:

bash
sudo systemctl restart factorio
sudo journalctl -u factorio -n 50 --no-pager | grep -i "mod-list"

Соблюдение правил лицензирования и корректная настройка mod-list.json гарантируют бесперебойный совместный запуск фабрик без разочарований при подключении друзей.

Источники#