Создание игрового сервера Factorio на Ubuntu 24.04

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


Аватара пользователя
Михаил Молчанов Подтверждён
Администратор форума
Администратор форума
Сообщения: 15654
Стаж: 2 года 2 месяца
Откуда: Москва
Настроение:
Благодарил (а): 1 раз
Пол:
Контактная информация:

Создание игрового сервера Factorio на Ubuntu 24.04

Непрочитанное сообщение Михаил Молчанов Подтверждён »

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

В этой статье рассмотрим, как создать сервер Factorio на Ubuntu 24.04 с VPS/VDS. Для установки будем использовать headless-версию сервера с официального сайта — сборку без графического интерфейса и звука.


Требования к серверу

Для небольшого количества игроков на сервере рекомендуем использовать следующую начальную конфигурацию:

  • 2 ядра CPU;
  • 2 ГБ оперативной памяти;
  • 30 ГБ свободного места на диске.

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


Подготовка системы

Подключитесь к VPS по SSH под пользователем root (или под пользователем с правами sudo — тогда добавляйте sudo к командам в этом разделе).

Обновите список пакетов и установите доступные обновления:

Код: Выделить всё

apt update && apt upgrade -y

Установите необходимые утилиты:

Код: Выделить всё

apt install wget tar xz-utils -y

В Ubuntu 24.04 эти утилиты обычно уже установлены, поэтому новые пакеты могут не устанавливаться.


Создание пользователя для сервера

Рекомендуем запускать игровой сервер от отдельного пользователя. Создайте пользователя factorio и сразу задайте ему пароль — он понадобится для загрузки файлов по SFTP:

Код: Выделить всё

useradd -m -s /bin/bash factorio
passwd factorio

Переключитесь на созданного пользователя:

Код: Выделить всё

su - factorio

Создайте директорию для сервера и перейдите в нее:

Код: Выделить всё

mkdir ~/server
cd ~/server

Выбор версии сервера

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

  • если у клиента последняя стабильная версия, устанавливайте последнюю стабильную версию сервера;
  • если у клиента другая версия (например, она зафиксирована в бета-ветках Steam или клиент давно не обновлялся), устанавливайте сервер этой же конкретной версии.

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


Установка сервера Factorio

Команды в этом разделе выполняются от пользователя factorio в директории ~/server. В зависимости от выбранной версии воспользуйтесь одним из двух вариантов установки.

Установка последней стабильной версии

Чтобы запустить сервер Factorio, скачайте архив с сервером последней стабильной версии прямо на VPS:

Код: Выделить всё

wget https://www.factorio.com/get-download/stable/headless/linux64 -O factorio.tar.xz

Обратите внимание! Архив можно скачать и вручную: перейдите на страницу Download на официальном сайте, в разделе Download Factorio (Headless, for servers) нажмите на зеленую кнопку, затем загрузите скачанный файл на VPS в директорию /home/factorio/server по FTP/SFTP под пользователем factorio. Если вы загрузили файлы под другим пользователем, обязательно верните права: chown -R factorio:factorio /home/factorio/server.

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

Скачайте архив с сервером нужной версии прямо на VPS, указав номер версии в ссылке (вместо 2.0.72 подставьте версию вашего клиента):

Код: Выделить всё

wget https://www.factorio.com/get-download/2.0.72/headless/linux64 -O factorio.tar.xz

Обратите внимание! Вручную конкретную версию можно скачать со страницы Old version archive на официальном сайте: выберите в списке нужную версию и в разделе Download Factorio (Headless, for servers) нажмите на зеленую кнопку, затем загрузите файл на VPS так же, как описано выше, — в директорию /home/factorio/server по FTP/SFTP под пользователем factorio. При необходимости верните права командой chown -R factorio:factorio /home/factorio/server.

Распаковка и проверка

Распакуйте скачанный архив:

Код: Выделить всё

tar -xf factorio.tar.xz

Чтобы проверить корректность установки, перейдите в каталог сервера и проверьте его версию:

Код: Выделить всё

cd factorio
bin/x64/factorio --version

Если команда вывела номер версии, установка выполнена успешно. Убедитесь, что этот номер совпадает с версией клиента.


Создание карты мира и настройка конфигурации сервера

После установки сервера необходимо создать игровой мир:

Код: Выделить всё

bin/x64/factorio --create saves/world.zip

Директория saves будет создана автоматически. Если в ней появился файл world.zip, карта создана успешно.

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

  • для Windows (Установщик) — C:\Users\<username>\AppData\factorio\saves
  • для Windows (Steam) — C:\Users\<username>\AppData\Roaming\factorio\saves
    После загрузите файл сохранения в директорию /home/factorio/server/factorio/saves на VPS по SSH/SFTP под пользователем factorio (если загружали под другим пользователем, верните права: chown -R factorio:factorio /home/factorio/server). В этом случае команду с --create выполнять не нужно, а при тестовом запуске укажите имя загруженного файла вместо world.zip или переименуйте загруженный файл карты мира в world.zip. Служба автозапуска может использовать сохранение, отличное от world.zip, автоматически — она всегда загружает самый свежий файл из /home/factorio/server/factorio/saves.

Далее необходимо задать конфигурацию сервера:

Код: Выделить всё

mkdir -p config
cp data/server-settings.example.json config/server-settings.json

Файл config/server-settings.json содержит основные настройки игрового сервера. Ниже приведен фрагмент файла с параметрами, которые чаще всего требуется изменить (полный файл содержит больше параметров, не удаляйте их):

Код: Выделить всё

{
  "name": "Name of the game as it will appear in the game listing",
  "description": "Description of the game that will appear in the listing",
  "max_players": 0,
  "visibility": {
    "public": true,
    "lan": true
  },
  "username": "",
  "password": "",
  "token": "",
  "game_password": ""
}

Назначение параметров:

  • name — название сервера в общем списке серверов;
  • description — описание сервера в общем списке;
  • max_players — максимальное число игроков, 0 означает без ограничений;
  • visibility.public — публикация сервера в общем списке серверов Factorio. Если вы играете по IP-адресу (например, с друзьями), укажите false;
  • visibility.lan — видимость сервера в локальной сети: сервер появится во вкладке Игры в локальной сети (LAN games) у игроков, подключенных к той же локальной сети, что и сервер. Поскольку игроки не находятся в одной локальной сети с VPS, для сервера на VPS параметр не работает и его значение можно не менять;
  • username и token — данные аккаунта Factorio, требуются только при "public": true;
  • password — пароль от аккаунта Factorio, альтернатива токену. Рекомендуем использовать token и оставить это поле пустым;
  • game_password — пароль для входа на сервер Factorio. Если сервер публичный, обязательно задайте его, иначе подключиться сможет любой желающий.

Обратите внимание на синтаксис JSON: строковые значения в кавычках, запятая после каждого параметра, кроме последнего в блоке. Пропущенная или лишняя запятая приведет к ошибке запуска.


Получение токена авторизации

Этот раздел нужен только если вы хотите публиковать сервер в общем списке серверов ("public": true). Для игры по IP-адресу токен не требуется — оставьте username и token пустыми и переходите к следующему разделу.

Токен привязан к учетной записи Factorio, к которой привязана лицензия игры.

  1. Перейдите на страницу авторизации на официальном сайте и войдите в аккаунт. Для входа можно использовать аккаунт Steam, если к нему привязана лицензия Factorio.
  2. После входа откройте страницу профиля.
  3. В строке Token нажмите Reveal для отображения токена, затем скопируйте токен.

Обратите внимание! Токен равносилен доступу к вашему аккаунту Factorio. Не публикуйте его, не передавайте третьим лицам и не выкладывайте скриншоты страницы профиля. Если токен скомпрометирован, сбросьте его на странице профиля.

Полученный токен и имя пользователя укажите в файле config/server-settings.json:

Код: Выделить всё

"username": "ваш_логин",
"token": "ваш_токен",

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

Для проверки работы сервера выполните его запуск от пользователя factorio из директории ~/server/factorio, используя созданную карту и файл конфигурации:

Код: Выделить всё

bin/x64/factorio --start-server saves/world.zip --server-settings config/server-settings.json

Если сервер успешно запустился, в терминале появится строка Hosting game at IP ADDR.

Для публичного сервера дополнительно появится строка Matching server connection resumed. Эта строка означает, что сервер зарегистрировался в общем списке. Для сервера с "public": false этой строки не будет, и это нормально.

Для остановки сервера используйте сочетание клавиш Ctrl + C — при этом сервер сохранит мир и корректно завершит работу.


Настройка автозапуска

Чтобы сервер продолжал работать после завершения SSH-сеанса, настроим его запуск через systemd.

Перед созданием службы выйдите из учетной записи пользователя factorio — выполните команду exit или нажмите Ctrl + D.

Для создания службы factorio откройте файл /etc/systemd/system/factorio.service:

Код: Выделить всё

sudo vim /etc/systemd/system/factorio.service

В файл добавьте:

Код: Выделить всё

[Unit]
Description=Factorio Server
After=network.target

[Service]
Type=simple
User=factorio
Group=factorio
WorkingDirectory=/home/factorio/server/factorio
ExecStart=/home/factorio/server/factorio/bin/x64/factorio \
    --start-server-load-latest \
    --server-settings /home/factorio/server/factorio/config/server-settings.json
KillSignal=SIGINT
TimeoutStopSec=120
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Пояснения к важным параметрам:

  • --start-server-load-latest — при запуске сервер загружает самое свежее сохранение из директории saves (при первом запуске это будет созданный ранее world.zip). Это важно: во время игры сервер пишет автосохранения в отдельные файлы _autosave1.zip–_autosave5.zip, а основной файл обновляет только при корректной остановке. Если жестко указать --start-server saves/world.zip, то после аварийного завершения (сбой, нехватка памяти) systemd перезапустит сервер со старой версии мира и прогресс откатится. С --start-server-load-latest сервер продолжит игру с последнего автосохранения;
  • KillSignal=SIGINT — при остановке службы сервер получит тот же сигнал, что и при нажатии Ctrl + C, сохранит мир и корректно завершится;
  • TimeoutStopSec=120 — запас времени на сохранение мира при остановке. На больших картах сохранение может занимать заметное время, и без этого параметра systemd может завершить процесс принудительно, не дождавшись записи файла;
  • Restart=always — автоматический перезапуск службы при сбое.

Если вы использовали другие имена директорий при создании сервера, то пути в параметрах WorkingDirectory и ExecStart потребуется изменить.

Перезагрузите конфигурацию systemd:

Код: Выделить всё

sudo systemctl daemon-reload

Включите автозапуск и запустите службу:

Код: Выделить всё

sudo systemctl enable factorio
sudo systemctl start factorio

Проверьте состояние службы:

Код: Выделить всё

sudo systemctl status factorio

Для просмотра журнала используйте:

Код: Выделить всё

journalctl -u factorio -f

Сервер успешно запущен, если в журнале появилась строка Hosting game at IP ADDR.


Подключение к серверу

Для подключения к серверу игры Factorio по сети в главном меню выберите Сетевая игра (Multiplayer), после чего нажмите Подключиться по адресу (Connect to address).

Введите IP-адрес вашего VPS. Если вы изменили стандартный порт, укажите адрес в формате IP:порт.

Если вы установили пароль в параметре game_password, игра запросит его перед входом на сервер.


Установка модов (опционально)

Модификации (моды) позволяют добавлять новый контент, изменять игровой процесс и расширять возможности сервера. Официальным каталогом модов для Factorio является Mod Portal.

Порядок установки модов:

  1. Авторизуйтесь на Mod Portal и откройте страницу нужного мода.
  2. Проверьте совместимость: поддерживаемая версия Factorio указана на странице мода — она должна соответствовать версии вашего сервера.
  3. Скачайте мод:
    • если последняя версия мода совместима с сервером, нажмите кнопку Download — будет загружен ZIP-архив с последней версией;
    • если нет, откройте на странице мода вкладку Downloads — в ней перечислены все версии мода с указанием поддерживаемой версии игры — и скачайте версию мода, подходящего вашей версии сервера.
  4. Рекомендуем сразу проверить на странице мода блок Dependencies — в нем перечислены обязательные зависимости, без которых мод не заработает. Зависимости не скачиваются автоматически: каждую из них скачайте отдельно тем же способом, с той же проверкой совместимости.

Перед установкой модов остановите службу:

Код: Выделить всё

sudo systemctl stop factorio

Скачанный мод разместите в директории /home/factorio/server/factorio/mods. Для загрузки архива можно воспользоваться SSH/SFTP или файловым менеджером под пользователем factorio. Архив после загрузки на VPS распаковывать не требуется.

Если моды загружались не под пользователем factorio, верните права:

Код: Выделить всё

sudo chown -R factorio:factorio /home/factorio/server/factorio/mods

Важные особенности:

  • Без зависимостей сервер не запустится. Если в mods/ не окажется модов из блока Dependencies, сервер завершит работу с ошибкой о недостающем моде. Если зависимость требует конкретную версию, в журнале появится ошибка вида Missing required dependency <имя> = <версия>.
  • Игрокам не нужно устанавливать моды вручную — при подключении клиент сравнит свой набор модов с серверным и предложит скачать недостающие с Mod Portal. Для скачивания игрок должен быть авторизован в аккаунте Factorio (владельцам Steam-версии достаточно один раз войти в аккаунт в настройках игры).
  • Файл mods/mod-list.json создается сервером при первом запуске и хранит список модов. При каждом запуске сервер сверяет его с содержимым mods/: новые моды добавляются в список и включаются автоматически ("enabled": true), записи удаленных модов убираются — редактировать список для установки мода не нужно. Вручную файл правят только чтобы временно отключить мод, не удаляя архив: замените у него "enabled": true на "enabled": false.

Затем снова запустите сервер:

Код: Выделить всё

sudo systemctl start factorio

Резервное копирование сохранений

По умолчанию headless-сервер автоматически сохраняет мир каждые 10 минут и хранит 5 последних автосохранений — это значения параметров autosave_interval и autosave_slots в файле config/server-settings.json. Автосохранения записываются в файлы _autosave1.zip–_autosave5.zip в директории saves/ по кругу, а основной файл (world.zip) обновляется только при корректной остановке сервера. Изменить интервал и количество копий можно в config/server-settings.json либо переопределить параметрами запуска --autosave-interval (в минутах) и --autosave-slots.

Автосохранения лежат на том же диске и не защищают от потери данных. Настройте копирование сохранений в отдельную директорию. Поскольку актуальное состояние мира на работающем сервере находится в автосохранениях, а не в world.zip, копировать нужно самый свежий файл из saves/.

Создание скрипта резервного копирования

Создайте скрипт /home/factorio/backup.sh:

Код: Выделить всё

#!/bin/bash

# Директория для резервных копий и директория с сохранениями сервера
BACKUP_DIR=/home/factorio/backups
SAVES_DIR=/home/factorio/server/factorio/saves

# Переходим в корневую директорию, чтобы скрипт корректно работал
# независимо от того, из какого каталога он был запущен
cd / || exit 1

# Создаем директорию для копий, если она еще не существует
mkdir -p "$BACKUP_DIR"

# Находим самое свежее сохранение: ls -t сортирует файлы по времени
# изменения (новые сверху), head -n 1 берет первый файл из списка
LATEST=$(ls -t "$SAVES_DIR"/*.zip 2>/dev/null | head -n 1)

# Если сохранений в директории нет, завершаем скрипт без ошибки
[ -z "$LATEST" ] && exit 0

# Копируем найденный файл, добавляя к его имени дату и время копии,
# например: _autosave2-2026-07-16-1400.zip
cp "$LATEST" "$BACKUP_DIR/$(basename "$LATEST" .zip)-$(date +%F-%H%M).zip"

# Удаляем копии старше 7 суток, чтобы они не заполнили диск
find "$BACKUP_DIR" -name '*.zip' -mtime +7 -delete

Скрипт находит самое свежее сохранение (это может быть как world.zip, так и одно из автосохранений _autosave*.zip) и копирует его с отметкой времени в имени файла.

Назначьте владельца и сделайте скрипт исполняемым:

Код: Выделить всё

sudo chown factorio:factorio /home/factorio/backup.sh
sudo chmod +x /home/factorio/backup.sh

Настройка cron

Добавьте задание в cron пользователя factorio:

Код: Выделить всё

sudo -u factorio crontab -e

Если crontab запускается впервые, система предложит выбрать редактор — выберите любой подходящий вам редактор, например, nano.

Добавьте строку для ежечасного выполнения:

Код: Выделить всё

0 * * * * /home/factorio/backup.sh

Копия сохранения будет создаваться раз в час, в начале каждого часа; копии старше 7 дней будут удаляться.

Настройка интервала и глубины хранения

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

  • Интервал определяет, сколько игрового прогресса будет потеряно в худшем случае. Небольшие откаты (до 10 минут) закрывают автосохранения самого сервера, а резервная копия защищает от потери всей директории saves/. Если сервер активно используется и терять час игры жалко, уменьшите интервал в cron, например, до 30 минут: */30 * * * *.
  • Глубина хранения позволяет откатиться не только к последней копии, но и к состоянию нескольких дней назад — например, если сохранение было повреждено или испорчено неудачным модом, а заметили это не сразу. За неделю при часовом интервале накопится до 168 копий: для небольшой фабрики это единицы гигабайт, но сохранение крупной базы с модами может весить сотни мегабайт — в этом случае увеличьте интервал или уменьшите число в -mtime +7, чтобы копии не заполнили диск.

Для защиты от отказа VPS дополнительно копируйте директорию /home/factorio/backups на другой сервер или в облачное хранилище.

Проверка резервного копирования

Не дожидаясь срабатывания cron, запустите скрипт вручную:

Код: Выделить всё

sudo -u factorio /home/factorio/backup.sh

Команда не должна вывести ошибок. Затем убедитесь, что в директории /home/factorio/backups появился файл с текущими датой и временем в имени:

Код: Выделить всё

ls -lh /home/factorio/backups

Задание выполняется в начале каждого часа — после ближайшего срабатывания проверьте, что в /home/factorio/backups появилась еще одна копия. Факт запуска задания также можно найти в журнале службы cron:

Код: Выделить всё

journalctl -u cron | grep backup.sh

Периодически проверяйте, что копии пригодны для восстановления: скопируйте файл из /home/factorio/backups обратно в /home/factorio/server/factorio/saves и убедитесь, что сервер его загружает.


Обновление сервера

При обновлении клиента в Steam сервер тоже нужно обновить — иначе подключиться не получится.

Остановите службу:

Код: Выделить всё

sudo systemctl stop factorio

Сделайте резервную копию сохранений, конфигурации и модов:

Код: Выделить всё

sudo -u factorio /home/factorio/backup.sh
sudo -u factorio cp -r /home/factorio/server/factorio/config /home/factorio/config-backup-$(date +%F)
sudo -u factorio cp -r /home/factorio/server/factorio/mods /home/factorio/mods-backup-$(date +%F)

Копия модов нужна на случай отката на старую версию до обновления: если после обновления окажется, что нужные моды еще не поддерживают новую версию игры, вы сможете вернуть прежнюю версию сервера вместе с прежними версиями модов и файлом mod-list.json. Дата в имени директории позволяет выполнять команды при каждом обновлении, не затирая предыдущие копии. Обратите внимание: старые директории config-backup-* и mods-backup-* автоматически не удаляются — периодически удаляйте неактуальные копии вручную.

Скачайте и распакуйте новую версию поверх текущей установки:

Код: Выделить всё

sudo su - factorio
cd ~/server
wget https://www.factorio.com/get-download/stable/headless/linux64 -O factorio.tar.xz
tar -xf factorio.tar.xz

Архив распаковывается в директорию /home/factorio/server/factorio и заменяет только файлы самой игры. Директории saves, config и mods находятся внутри /home/factorio/server/factorio и в архиве отсутствуют, поэтому они сохранятся. Тем не менее резервную копию перед обновлением делать обязательно.

Проверьте новую версию и запустите службу:

Код: Выделить всё

cd factorio
bin/x64/factorio --version
exit
sudo systemctl start factorio

После обновления игры моды тоже могут потребовать обновления — проверьте журнал journalctl -u factorio -f на ошибки совместимости.

Проверка обновления

Обновление прошло успешно, если выполняются все условия:

  • bin/x64/factorio --version выводит новый номер версии;
  • служба находится в состоянии active (running) — проверьте командой sudo systemctl status factorio;
  • в журнале journalctl -u factorio -n 50 есть строка Hosting game at IP ADDR и нет ошибок;
  • сохранения и моды есть в директориях: ls /home/factorio/server/factorio/saves /home/factorio/server/factorio/mods;
  • клиент той же версии подключается к серверу и загружается актуальное состояние мира, а не старое.

Типичные ошибки

Клиент не видит сервер в списке или пишет о несовместимости

Версии сервера и клиента не совпадают. Симптом зависит от способа подключения: публичный сервер с несовпадающей версией просто не отображается в списке Просмотр открытых игр (Browse public games) (клиент скрывает несовместимые серверы), а при подключении по IP игра показывает сообщение о несовместимости версий.

Сравните вывод bin/x64/factorio --version с версией в главном меню игры и обновите сервер до нужной версии.


Error Util.cpp: Opening package ... for writing failed — серверу не удается записать файл

Сервер не смог открыть файл на запись — путь к нему указан в тексте ошибки. Это может быть любой файл, в который сервер пишет данные: сохранения в /home/factorio/server/factorio/saves, mod-list.json, player-data.json и другие. Опаснее всего, когда это касается сохранений (в журнале рядом будет строка Warning WriteFileGuard.cpp: Writing ... failed): сервер при этом может успешно запуститься и принимать игроков, потому что для чтения прав и ресурсов хватает, — ошибка проявляется только при записи, при автосохранении или при остановке. Внешне сервер работает, но сохранения не записываются, и при каждом перезапуске прогресс откатывается.

Если в журнале появилась эта ошибка или файлы _autosave*.zip в saves/ перестали обновляться, проверьте возможные причины:

  • Неверные права на файлы или директории — самая частая причина, обычно результат загрузки файлов по SSH/SFTP под root. Проверьте владельца файла и директории по пути из текста ошибки, например, /home/factorio/server/factorio/saves, и при необходимости исправьте права:

    Код: Выделить всё

      sudo chown -R factorio:factorio /home/factorio/server
  • Закончилось место на диске — проверьте командой df -h. Если диск заполнен, удалите ненужные файлы (например, старые резервные копии) или увеличьте размер диска в панели управления VPS.

Hosting multiplayer game failed: Unexpected character — сервер не запускается после правки server-settings.json

Ошибка синтаксиса JSON — чаще всего пропущенная или лишняя запятая либо потерянные кавычки. Сервер сам указывает в тексте ошибки путь к файлу и позицию, где встретился неожиданный символ. Найти ошибку также можно командой:

Код: Выделить всё

python3 -m json.tool config/server-settings.json

Она укажет строку и колонку с проблемой. Исправьте файл и перезапустите службу: sudo systemctl restart factorio. Учтите, что до исправления служба с Restart=always будет перезапускаться циклически.


Error Util.cpp: Failed to load mod в журнале — сервер падает при старте после установки мода

Под строкой с ошибкой сервер перечисляет конкретные причины:

  • Incompatible Factorio version — мод не поддерживает установленную версию игры;
  • Missing required dependency <имя> — в директории /home/factorio/server/factorio/mods отсутствует обязательная зависимость (если после имени указано = <версия>, требуется строго эта версия).

Скачайте недостающие зависимости с Mod Portal или обновите сервер до версии, которую требует мод. Если мод не нужен, удалите его архив из mods/ или укажите ему "enabled": false в mods/mod-list.json. Учтите: пока ошибка не устранена, служба с Restart=always будет перезапускаться циклически.


Error InterruptibleStdioStream.cpp: Got EOF on stdin; closing в журнале

Не является проблемой при запуске через systemd. Сервер читает консольные команды из стандартного ввода, но у службы нет терминала с вводом, поэтому сервер закрывает консоль — строка появляется сразу после запуска и на работу не влияет. Если служба в состоянии active (running) и игроки подключаются, ошибку можно игнорировать.


Служба перезапускается в цикле

Смотрите причину в журнале: journalctl -u factorio -n 50. Чаще всего это неверные пути в ExecStart, ошибка в конфигурации или некорректно установленные моды.


Заключение

Мы рассмотрели полный процесс установки и настройки сервера Factorio на Ubuntu 24.04: от подготовки системы и установки headless-версии до настройки автозапуска, резервного копирования и обновления. При правильной настройке сервер будет стабильно работать, автоматически перезапускаться при сбоях и сохранять прогресс игроков.

Ключевые моменты, на которые стоит обратить внимание:

  • Соответствие версий — самая частая причина проблем с подключением.
  • Права доступа — все файлы сервера должны принадлежать пользователю factorio.
  • Резервное копирование — регулярные копии сохранений защитят от потери прогресса.
  • Моды — проверяйте совместимость и зависимости перед установкой.

Удачной игры на вашем собственном сервере Factorio

Вложения
image71.png@.webp
image71.png@.webp (323.43 КБ) 10 просмотров
image81.png@.webp
image81.png@.webp (336.9 КБ) 10 просмотров
image21.png@.webp
image21.png@.webp (306.34 КБ) 10 просмотров
image51.png@.webp
image51.png@.webp (349.79 КБ) 10 просмотров
discord_aggzyby0wt.jpg@.webp
discord_aggzyby0wt.jpg@.webp (537.38 КБ) 10 просмотров
photo_2026-07-17_12-07-50.jpg@.webp
photo_2026-07-17_12-07-50.jpg@.webp (88.87 КБ) 10 просмотров

Изображение

Вернуться в «Игры, онлайн-игры и стриминг»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей