Factorio: как поднять сервер, подключить моды и сохранения

Dedicated-сервер Factorio шаг за шагом: создание сохранения, запуск с server-settings.json, администраторы, пароль и токен, порт 34197 и перенос сохранений.

Команда EGN 8 мин чтения
Factorio: как поднять сервер, подключить моды и сохранения
Содержание 14
  1. Коротко
  2. Шаги
  3. Сохранения: как переносить и не потерять
  4. Пример: сервер для друзей на три дня
  5. Симптом → причина → решение
  6. Как сделать в панели EGN: по шагам
  7. Проверка после запуска
  8. Частые ошибки
  9. Итог
  10. Вопросы и ответы
  11. Какой порт использует сервер Factorio?
  12. Как создать новое сохранение Factorio на сервере?
  13. Что такое токен Factorio и зачем он нужен?
  14. Как выдать права администратора на сервере Factorio?

Factorio — игра про автоматизацию, и сервер для неё нужен, чтобы строить завод вместе. Dedicated-сервер Factorio не похож на серверы большинства игр: это отдельная программа без окна, которая запускается с параметрами командной строки и читает сохранения из папки saves. Настройки лежат в JSON-файлах, а моды ставятся в папку mods и должны совпадать у всех игроков.

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

Коротко

Создайте сохранение командой factorio --create ./saves/имя.zip, затем запускайте сервер с --start-server-load-latest --server-settings ./data/server-settings.json. Порт по умолчанию — 34197. Вместо пароля используйте токен с factorio.com, а администраторов задавайте в server-adminlist.json.

Шаги

  1. Запустите сервер Factorio в панели. Выберите игру при заказе и дождитесь статуса «Работает» в разделе «Запуск». Первый старт создаст служебные файлы, поэтому не удивляйтесь, если в «Файлах» появится несколько новых папок.

  2. Создайте сохранение. Если сохранения ещё нет, создайте его командой с параметром --create. Файл должен лежать в папке saves с расширением .zip:

    Терминал
    ./bin/x64/factorio --create ./saves/zavod.zip

    Параметры генерации карты (--map-gen-settings и --map-settings) работают только вместе с --create. Меняйте их, пока мира нет: для существующего сохранения они не действуют.

  3. Настройте server-settings.json. Создайте копию примера data/server-settings.example.json и редактируйте её, а не оригинал. Основные ключи, которые описаны в официальной вики:

    • name — название, которое видно в списке серверов;
    • description — описание, до 5000 символов;
    • tags — список тегов;
    • max_players — лимит игроков, 0 означает без ограничения;
    • visibility — режим видимости: публичный сервер (нужны учётные данные factorio.com), LAN или скрытый. Точный формат записи смотрите в data/server-settings.example.json вашей версии;
    • game_password — пароль для входа.

    Остальные ключи (автосохранение, автопауза, кик за простой) смотрите в data/server-settings.example.json своей версии: их названия меняются между версиями, и выдумывать их не стоит.

  4. Запустите сервер с настройками. Команда для запуска с последним сохранением:

    Терминал
    ./bin/x64/factorio --start-server-load-latest --server-settings ./data/server-settings.json

    Если нужно запустить конкретный файл, используйте --start-server ./saves/zavod.zip.

  5. Задайте токен вместо пароля учётной записи. Для публичного сервера нужны учётные данные factorio.com. Берите токен в профиле аккаунта на factorio.com и не храните пароль в конфиге. Токен тоже секрет: не публикуйте его в Discord и в статьях.

  6. Выдайте права администратора. Список администраторов хранится в server-adminlist.json в формате списка имён в квадратных скобках:

    JSON
    [
      "Ivan_Zavodov",
      "Petr_Mehanik"
    ]

    Файл кладут рядом с factorio-current.log. Имена пишите так, как их видит игра, с учётом регистра. После перезапуска проверьте, что права сохранились.

  7. Откройте порт. Порт по умолчанию — 34197; его меняют параметром запуска --port. Этот порт должен быть открыт в разделе «Сеть» панели, иначе сервер не появится в списке для друзей.

Раздел «Бэкапы»: копия сохранения перед обновлением
Раздел «Бэкапы»: копия сохранения перед обновлением

Сохранения: как переносить и не потерять

Сохранение Factorio — это zip-архив в папке saves. Перенос с компьютера на сервер сводится к загрузке этого файла через «Файлы» или SFTP и запуску с его именем. Но у переноса есть нюансы.

  • Имя файла. Сервер запускает то сохранение, которое вы указали в --start-server, а --start-server-load-latest берёт самое свежее по дате.
  • Версия игры. Сохранение, созданное в одной версии Factorio, не открывается в другой без обновления. Перед переносом узнайте версию на сервере в консоли и на компьютере игрока: они должны совпадать.
  • Моды. Сохранение создаётся с определённым набором модов. Если мод не установлен на сервере, он не запустится. Подробнее о синхронизации — в статье Factorio: моды с портала и синхронизация.

Перед любым переносом сделайте бэкап в «Бэкапах». Сохранение Factorio большое, но копии создаются быстро, и откатиться можно за один клик.

Пример: сервер для друзей на три дня

Допустим, вы хотите строить вчетвером и на выходные. Создайте сохранение vyhodnye.zip, в server-settings.json поставьте max_players: 4, visibility: "public" (если нужен поиск в списке), укажите name и description. Токен вставьте в конфиг через панель, а администраторами назначьте себя и одного помощника. Запустите сервер командой с --start-server-load-latest: тогда после перезапуска сервер поднимется на том же сохранении без вашего участия.

Симптом → причина → решение

Симптом Частая причина Что сделать
Сервер не запускается, в логе ошибка о сохранении Неверный путь в --start-server Сверьте путь с файлом в saves
Сервер не виден в списке Не включён публичный режим или порт закрыт Проверьте ключ и порт 34197 в «Сеть»
Игрок не может войти по токену Токен вставлен с пробелом или чужой Возьмите токен заново на factorio.com
Права админа не выдались Имя написано с ошибкой или без учёта регистра Исправьте server-adminlist.json и перезапустите
Сервер ставится на паузу, когда никого нет Включена автопауза по умолчанию Настройте ключ паузы по примеру в data/server-settings.example.json
Ошибка «версии не совпадают» Разные версии игры у сервера и клиента Обновите игру на компьютере или сервер

Как сделать в панели EGN: по шагам

Настройка Factorio в панели делается в трёх местах: «Файлы» для сохранения и конфигов, «Сеть» для порта и «Запуск» для старта. Ниже — последовательность, которую удобно повторять при каждом изменении.

  1. Создайте копию в «Бэкапы». Это страховка на случай, если сохранение или конфиг окажутся не в порядке. Копии создаются кнопкой «Создать копию» и восстанавливаются в один клик.

    Раздел «Настройки» в панели EGN на примере Minecraft: поля читаются из файла игры

  2. Проверьте папку saves в «Файлах». Сохранение должно быть в виде .zip с понятным именем. Не переименовывайте файл, если сервер уже на нём работает: путь в параметрах запуска должен совпадать.

  3. Отредактируйте server-settings.json. Меняйте название, описание и лимит игроков. Пароль и токен заносите отдельно и не публикуйте их.

  4. Откройте порт в «Сеть». По умолчанию это 34197. Если вы меняли порт в config.ini, откройте новый.

  5. Перезапустите сервер из «Запуска». Изменения конфигов применяются при старте. Проверьте, что статус «Работает».

  6. Зайдите сами. Подключитесь к серверу по адресу, который видите в списке или в настройках. Проверьте, что сохранение открылось и права администратора работают.

Проверка после запуска

  • Сервер в статусе «Работает» и не перезапускается сам.
  • Сохранение открылось на нужной версии игры.
  • Порт 34197 или ваш порт открыт в «Сеть».
  • Администраторы из server-adminlist.json видят свои команды.
  • В «Бэкапах» есть свежая копия.

Частые ошибки

  • Редактирование оригинала server-settings.example.json. При обновлении он может быть перезаписан. Работайте с копией.
  • Пароль в открытом виде. Пароль аккаунта лучше не хранить в конфиге: используйте токен.
  • Создание нового сохранения поверх старого. Команда --create с тем же именем перезапишет файл. Перед этим сделайте копию.
  • Изменение параметров карты для уже созданного мира. Они применяются только при создании, поэтому на готовом мире ничего не изменится.
  • Игроки с другими модами. Моды на сервере и у игроков должны совпадать по версии. Разница приводит к отказу в подключении.

Итог

Сервер Factorio держится на трёх вещах: сохранении в папке saves, JSON-настройках и одинаковой версии игры и модов. Создайте сохранение командой --create, запускайте сервер с --start-server-load-latest и server-settings.json, используйте токен вместо пароля и держите server-adminlist.json в порядке. Про моды и синхронизацию читайте в статье Factorio: моды с портала и синхронизация, а про общий запуск игровых серверов — в статье Доктор сервера.

Вопросы и ответы

Какой порт использует сервер Factorio?

По умолчанию порт 34197. Его можно изменить в файле config.ini, и тот же порт нужно открыть в разделе «Сеть» панели.

Как создать новое сохранение Factorio на сервере?

Запустите команду factorio --create ./saves/имя.zip. Параметры карты задаются через --map-gen-settings и --map-settings и работают только при создании.

Что такое токен Factorio и зачем он нужен?

Токен — это ключ аккаунта factorio.com, который берётся в профиле на сайте. Его используют вместо пароля в конфиге.

Как выдать права администратора на сервере Factorio?

Добавьте имя игрока в server-adminlist.json (JSON-массив имён) рядом с factorio-current.log.

Сервер под Factorio за пару минут — egnetwork.ru

Читать далее

Вся рубрика →