Переносите готовые чертежи в каталог активной сессии на выделенном сервере, затем перезагружайте сессию и проверяйте их в игре. Загрузка .sav фабрики — другая операция: в мире могут остаться построенные по чертежам здания, хотя файлов самих модулей для повторной постройки уже нет.
Статья относится к PC-серверам и обычному переносу файлов чертежей. На консолях хранение устроено иначе. Нужны разрешение владельца, доступ к постоянным файлам сервера и совместимое окружение игры и модов. Исходную библиотеку и копию мира сохраняйте до завершения проверок.
Отделите модуль чертежа от сохранения фабрики#
Сам модуль хранится в .sbp. Соответствующий необязательный .sbpcfg содержит метаданные, например описание и сведения о значке. Если второй файл есть, переносите пару вместе; отсутствие необязательной конфигурации само по себе не делает опубликованный модуль непригодным.
Документация формата чертежей, которую ведёт автор инструмента, разделяет данные модуля и конфигурацию и описывает зависимые от версии поля. Переименование .sav мира в .sbp содержимое не преобразует.
Для полного переноса нужны и сохранения мира, и библиотека чертежей. Первые сохраняют состояние фабрики, вторая позволяет снова строить готовые модули. Не считайте, что загрузка мира или облачное сохранение автоматически перенесли все отдельные файлы чертежей.
Найдите пользователя сервера и настоящий каталог сессии#
Рабочие файлы относятся к машине и учётной записи выделенного процесса. Копия в личном профиле игрока ещё не означает, что сервер сможет загрузить чертёж.
Справочник путей выделенного сервера приводит такие типичные каталоги прямой установки:
| Платформа | Каталог чертежей сессии |
|---|---|
| Linux | ~/.config/Epic/FactoryGame/Saved/SaveGames/blueprints/{SESSION NAME} |
| Windows, пользовательская учётная запись | %LOCALAPPDATA%\FactoryGame\Saved\SaveGames\blueprints\{SESSION NAME} |
Разрешайте ~ или %LOCALAPPDATA% от имени серверного процесса. У службы Windows это может быть профиль службы. Для контейнера проследите постоянное монтирование и документацию обёртки, а не копируйте в заменяемый слой образа. Например, контейнер сообщества robtme хранит постоянные игровые данные в структуре подключённого /config; другим образам этот путь автоматически не подходит.
Нужно имя активной сессии, а не имя автосохранения или отображаемое название сервера. Чтобы установить точный каталог, сохраните в этой сессии небольшой безвредный чертёж с узнаваемым именем, например TransferProbe. В игре должна быть открыта возможность работы с чертежами. Найдите действительно созданные файлы и запишите путь. Такой способ рекомендует сопровождающий контейнера: он помогает не гадать о регистре, знаках в имени и старых каталогах.
Подготовьте небольшой перенос без незаметной перезаписи#
Запишите сборку исходной игры и моды, нужные модулю. Уточните зависимости у автора: внешний вид чертежа не доказывает, что в нём только стандартные объекты. До проверки согласуйте поддерживаемые требования модов к серверу и клиентам. Чертёж из более новой игры или другой версии мода не обязан работать в старом окружении.
Начните с одного модуля. Запишите имена и размеры файлов и сохраните копии одноимённых файлов назначения. Имена модуля и приложенной конфигурации должны оставаться парой. Не заменяйте существующий чертёж только потому, что оба автора назвали экспорт Factory.
Создайте завершённую контрольную точку мира, остановите сервер обычным менеджером и сохраните библиотеку независимой копией. Затем поместите выбранный модуль и необязательную конфигурацию прямо в проверенный каталог сессии. Избегайте дополнительной вложенной папки от распаковки архива. Убедитесь, что игровой процесс может прочитать файлы и записывать новые чертежи в этот каталог; не расширяйте права на общий родительский путь.
До перезапуска проверьте политику обновления вашей установки, чтобы вместе с переносом не изменилась сборка. Запустите тот же экземпляр и сессию, дождитесь загрузки и подключитесь заново. Контролируемая перезагрузка входит в процедуру переноса: скопированные во время игры файлы могут не появиться сразу.
Проверьте чертёж дальше пункта меню#
Найдите импортированный модуль в меню, при необходимости среди чертежей без категории. Категории и подкатегории хранятся в сохранении мира: отдельная пара файлов модуля и конфигурации не переносит организацию категорий исходной сессии. После проверки самого модуля распределите его средствами текущей версии игры.
Разместите модуль в безопасной тестовой зоне с нужными материалами и доступным прогрессом. Осмотрите здания, рецепты, соединения и части, зависящие от модов. Попросите другого подключённого игрока проверить ту же постройку. Завершите сохранение, затем в согласованное время перезагрузите мир и снова проверьте пункт библиотеки и размещённый результат.
Так разделяются три ситуации: отсутствие в меню ведёт к проверке каталога, перезагрузки и загрузки файла; видимый, но не размещаемый модуль требует проверки конкретного сообщения и условий; разное отображение постройки у игроков — повод разбираться с мультиплеером. Повторное копирование одного файла все три причины не выяснит.
В примечаниях Coffee Stain к 1.2.4.0 есть исправления категорий чертежей и некорректных символов в имени сессии. Сверьте точную сборку и симптом, прежде чем объявлять проблему известной ошибкой игры. Не переименовывайте рабочую сессию и не удаляйте моды из единственной копии мира наугад.
Сохраняйте комплект, который можно восстановить#
В описании резервной копии свяжите контрольную точку мира, весь каталог чертежей сессии, версии игры и модов и подключение постоянных данных. Держите копии вне серверного хоста. До замены рабочей библиотеки проверьте восстановление в отдельный каталог и экземпляр.
При неудачном переносе остановите затронутый сервер, оставьте неработающие файлы для диагностики и верните только те файлы библиотеки, которые собирались заменять. Мир откатывайте лишь тогда, когда игровые изменения действительно требуют согласованного возврата: заранее обозначьте потерянный прогресс.
Для управления собственной инфраструктурой можно посмотреть возможности Nexardo. В процедуре резервного копирования всё равно нужно отдельно указать мир и библиотеку чертежей реально работающего экземпляра.




