Factorio: перенести сохранение на сервер и настроить бэкапы без потери мира
Где лежат сохранения Factorio, как загрузить мир на выделенный сервер, настроить автосохранения и бэкапы, а затем восстановить карту после сбоя.
Переезд фабрики на выделенный сервер Factorio звучит проще, чем прокладка железнодорожной развязки: взял сохранение, загрузил его на хостинг — и играй с друзьями. Но есть неприятный сценарий: после перезапуска сервер открывает карту недельной давности, хотя вчера вы достроили реакторы и запустили новую производственную линию. Обычно проблема не в исчезнувшем мире, а в том, какой файл сервер загрузил и сохранились ли предыдущие версии карты.
Хорошая новость: мир Factorio можно перенести из одиночной игры или локального мультиплеера на dedicated/headless-сервер без пересоздания карты. Для этого нужно скопировать правильный .zip, сохранить настройки модов, проверить первый запуск и разделить две задачи: автосохранения для быстрого отката и отдельные резервные копии для восстановления после серьёзного сбоя.
Где находятся сохранения Factorio
Сохранение Factorio — это ZIP-файл с состоянием мира: постройками, исследованиями, ресурсами, поверхностями и прогрессом игроков. Его не нужно распаковывать перед загрузкой на сервер. Название может быть любым, например my-factory.zip; автосохранения обычно называются _autosave1.zip, _autosave2.zip и так далее.
Папка сохранений зависит от системы и способа установки:
Система | Обычное расположение локальных сохранений |
|---|---|
Windows |
|
Linux |
|
macOS |
|
Портативная ZIP-сборка | Папка |
Это типичные пути, а не жёсткое правило: у Steam Flatpak, Docker-контейнеров и серверов с изменённым write-data каталоги могут отличаться. Если нужного файла нет, посмотрите фактический путь для записи в конфигурации или логах игры. Steam Cloud не заменяет отдельную копию мира: перед переносом лучше найти и сохранить сам ZIP-файл на диске.
Что подготовить до переноса мира
- Откройте нужную фабрику на исходном компьютере и сохраните её вручную под узнаваемым именем, например
factory-before-migration.zip. Не полагайтесь только на случайный_autosave. - Закройте игру или остановите старый хост, чтобы никто не продолжал менять мир во время переноса. Оставьте неизменяемую копию ZIP вне рабочей папки Factorio.
- Зафиксируйте версию игры и состав модов. Если карта модифицирована, сохраните каталог
mods, включаяmod-list.jsonиmod-settings.dat, а также используемые версии модов. - Проверьте дополнение Space Age: на клиенте и сервере должны совпадать необходимые компоненты и набор включённых модов. Не запускайте важную карту с отсутствующими модами «на авось».
Особенно осторожно обновляйтесь между основными ветками игры. Разработчики предупреждали, что сохранения, открытые и перезаписанные в Factorio 2.1, нельзя откатить обратно на 2.0. Перед сменой версии сделайте отдельный бэкап, который не будет перезаписан автосохранением.
Как перенести сохранение Factorio на выделенный сервер
Шаг 1. Подготовьте сервер. Для самостоятельного Linux-хостинга подойдёт официальная headless-сборка Factorio. Она работает без графического интерфейса. На хостинге с панелью управления установка, как правило, уже выполнена: понадобится доступ к файлам и управлению запуском. Убедитесь, что версия сервера совместима с сохранением.
Шаг 2. Загрузите мир. Остановите сервер, затем передайте factory-before-migration.zip в его рабочую папку saves через SFTP, файловый менеджер панели или другой предусмотренный хостингом способ. Не перезаписывайте единственный экземпляр старой карты: сначала скачайте его себе. Если на сервере уже лежат чужие или тестовые _autosave*.zip, переместите их в отдельный архив — иначе автоматический выбор последнего сохранения может открыть не тот мир.
Шаг 3. Настройте запуск с конкретного файла. Для обычной распакованной Linux-сборки команды выглядят так:
cd /opt/factorio
cp data/server-settings.example.json data/server-settings.json
./bin/x64/factorio --start-server ./saves/factory-before-migration.zip \ --server-settings ./data/server-settings.json
Пути здесь примерные; на реальном сервере они могут быть другими. Если файл server-settings.json уже настроен, не заменяйте его шаблоном. В нём задаются название сервера, видимость, пароль, параметры автосохранения и другие правила. Для подключения по прямому адресу обычно используется UDP-порт 34197.
Шаг 4. Проверьте мир в игре. Подключитесь к серверу, сравните время прохождения, исследования, важные постройки и инвентари. Попросите второго игрока войти и убедиться, что это продолжение прежней фабрики, а не новая карта с похожим названием. Только после такой проверки можно считать перенос завершённым.
Если не хочется администрировать headless-сервер вручную, сервер Factorio в Сервариуме позволяет загрузить свой мир и управлять файлами и резервными копиями через панель — но исходный ZIP всё равно сохраните отдельно.
Почему после перезапуска загружается старое сохранение
У Factorio есть важное различие между двумя вариантами запуска:
--start-server ./saves/factory.zip— загружает именно указанный файл. После аварийного завершения там может оказаться состояние старее последних автосохранений.--start-server-load-latest— выбирает последнее сохранение из рабочей папки, в том числе более свежий_autosave*.zip.
Для сервера с одним миром и регулярно создаваемыми автосохранениями удобен второй вариант:
./bin/x64/factorio --start-server-load-latest \ --server-settings ./data/server-settings.json
Однако load-latest не знает, какую именно фабрику вы хотели открыть. Если в одной папке вперемешку лежат сейвы разных прохождений, команда может выбрать чужой мир. Держите в активном каталоге сохранения одного сервера, а старые кампании переносите в архив. При диагностике и восстановлении безопаснее сначала запускать конкретный проверенный ZIP.
Как настроить автосохранение Factorio на сервере
Автосохранение на выделенном сервере регулируется параметрами server-settings.json. В официальном примере настроек интервал составляет 10 минут, а количество слотов — 5. Для небольшой компании можно начать с более частых копий, например раз в 5 минут и с 12 слотами.
Добавьте или измените соответствующие поля в существующем JSON-файле:
"autosave_interval": 5,
"autosave_slots": 12,
"autosave_only_on_server": true,"auto_pause": true
Это фрагмент настроек, а не полный JSON-документ. Не создавайте на его основе файл без остальных необходимых полей.
autosave_intervalзадаёт интервал между автосохранениями в минутах.autosave_slotsопределяет число файлов, которые используются по кругу: новые автосейвы постепенно заменяют самые старые.autosave_only_on_server: trueоставляет автоматические сохранения на сервере, не заставляя каждого клиента хранить их копии.auto_pause: trueприостанавливает симуляцию, когда на сервере никого нет.
Последний пункт важен: если сервер стоит на паузе без игроков, не стоит ожидать новых автосохранений по обычному расписанию. Перед окончанием большой игровой сессии администратор может вызвать в чате команду /server-save, а перед обслуживанием сервера — штатно остановить процесс и дождаться завершения записи.
Не уменьшайте интервал бездумно до одной минуты. На больших фабриках сохранение занимает время и расходует ресурсы. Лучше подобрать частоту под размер карты и допустимую потерю нескольких минут прогресса, а для надёжности добавить независимые бэкапы.
Как сделать бэкапы мира Factorio без риска всё перезаписать
Автосейв — не полноценный бэкап. Если слотов 12 и интервал 5 минут, у вас есть примерно час последних игровых изменений, после чего старые точки отката исчезают. Повреждение файлов, ошибка администратора или неудачное обновление могут обнаружиться слишком поздно. Настоящая резервная копия должна иметь дату, храниться вне рабочей папки сервера и не участвовать в этой ротации.
Для частного сервера подойдёт простая схема: сохранять ZIP мира автоматически во время игры; ежедневно создавать отдельную резервную копию; держать несколько недельных копий; дополнительно сохранять состояние перед обновлением Factorio, установкой модов и переносом хостинга. Часть архива стоит выгружать на другое устройство или в облачное хранилище. Копия на том же диске не спасёт от его отказа.
Если управляете Linux-сервером самостоятельно, самый понятный способ получить согласованный снимок — штатно остановить сервер, дождаться окончания сохранения и скопировать данные в папку с датой. Например:
# Выполнять после штатной остановки сервера.
umask 077
stamp=$(date +%F_%H-%M)
dest="/srv/factorio-backups/$stamp"
mkdir -p "$dest"
cp -a /opt/factorio/saves "$dest/"
cp -a /opt/factorio/mods "$dest/"
cp -a /opt/factorio/config "$dest/"cp -a /opt/factorio/data/server-settings.json "$dest/"
Это пример для указанной структуры каталогов: подставьте реальные пути. Файл серверных настроек может содержать секреты доступа, поэтому архив должен быть закрыт от посторонних. Не копируйте активно записываемый ZIP прямо посреди сохранения: можно получить неполный файл. Если нужно делать бэкапы без остановки процесса, используйте проверенные механизмы панели хостинга или скрипт, который сначала инициирует сохранение, дожидается его завершения и лишь затем архивирует готовые файлы.
Чтобы бэкапы создавались по расписанию, вынесите процедуру в скрипт и запускайте её через cron или systemd timer в окно обслуживания, предусмотрев штатную остановку и последующий запуск сервера. Если панель хостинга поддерживает автоматические резервные копии, включите ежедневное создание и хранение нескольких версий.
Периодически проверяйте ZIP на целостность и хотя бы раз восстановите резервную копию на тестовом сервере. Успешное создание архива ещё не означает, что мир действительно загрузится.
Как восстановить сохранение Factorio после сбоя
Если сервер упал или открыл не ту карту, не спешите удалять папку saves. Действуйте в таком порядке:
- Остановите сервер и скопируйте текущую папку
savesцеликом, даже если файлы кажутся повреждёнными. Это позволит вернуться к диагностике. - Выберите точку восстановления: сначала проверьте самые новые завершённые
_autosave*.zip, затем датированные внешние бэкапы. Сравните время создания файлов и вспомните, когда фабрика точно была в порядке. - Верните ZIP в
saves, при необходимости восстановите сохранённые моды и настройки. Не удаляйте рабочие файлы без отдельной копии. - Запустите сервер с явным путём к выбранному сейву через
--start-server. Когда убедитесь, что нужная фабрика загружается, настройте привычный режим автозапуска. - Проверьте восстановление в игре: прогресс исследований, логистику, производство, поверхности Space Age и возможность подключения друзей.
Если ZIP существует, но не открывается, проверьте логи сервера, свободное место на диске, права на каталог, версию Factorio и наличие нужных модов. При несовместимости не пересохраняйте единственную копию карты в другой сборке игры: сначала добейтесь успешного запуска её дубликата.
Частые вопросы о сохранениях и серверах Factorio
Можно ли перенести одиночный мир Factorio в мультиплеер?
Да. Сохраните карту в одиночной игре, перенесите ZIP в папку saves выделенного сервера и запустите сервер с этим файлом. Прогресс фабрики переносится вместе с сохранением; для модифицированного мира также потребуется совместимый набор модов.
Где хранятся автосохранения на выделенном сервере?
Обычно в серверном каталоге saves рядом с основными ZIP-файлами, с именами вида _autosave1.zip. Точный путь зависит от настройки каталога данных Factorio и панели хостинга.
Почему Factorio не продолжает игру с последнего автосохранения?
Чаще всего запуск настроен на конкретный старый файл через --start-server, а свежие автосейвы лежат отдельно. Проверьте дату файлов и способ запуска. --start-server-load-latest помогает, если активная папка содержит сохранения только нужного мира.
Можно ли полностью исключить потерю прогресса при аварии?
Гарантировать сохранность каждой секунды при внезапном отключении питания нельзя: изменения после последнего успешно записанного сейва могут пропасть. Но частые автосохранения, датированные независимые бэкапы и проверка восстановления сводят риск потери всей фабрики к минимуму.
Итог
Для безопасного переезда Factorio важнее всего не скорость загрузки ZIP, а порядок действий: сохранить исходный мир, перенести совместимые моды, проверить запуск нужного файла и настроить две независимые линии защиты — автосейвы и бэкапы. Тогда даже после неудачного обновления или сбоя сервера вы будете выбирать, к какой точке вернуться, а не начинать фабрику с нуля.