Выделенный сервер Satisfactory на Linux поддерживает две основные ветки разработки: стабильную (Early Access) и экспериментальную (Experimental). Экспериментальная ветка позволяет администраторам тестировать свежие патчи, оптимизации движка Unreal Engine и изменения логистики до их официального релиза в основной ветке. Однако переключение между ветками связано с рисками несовместимости формата файлов сохранений и повреждения чертежей.
В этом руководстве рассмотрен безопасный регламент обновления сервера Satisfactory через SteamCMD, процесс смены ветки с созданием резервной копии и устранение типичных сбоев при загрузке фабрики.
Ветки Satisfactory и риски несовместимости сохранений#
Серверная часть Satisfactory распространяется через SteamCMD под идентификатором приложения 1690800. Основная ветка public (Early Access) содержит проверенные сборки, совместимые со стабильным клиентом игры. Ветка experimental содержит предварительные сборки, в которых структура данных мира и чертежей фабрики может изменяться.
Главное правило версионирования в Satisfactory: мир, однажды загруженный и пересохранённый в более новой экспериментальной версии, невозможно открыть в более старой стабильной ветке. Движок завершит работу с критической ошибкой сериализации (CorruptSaveException или EngineVersionMismatch).
Поэтому перед переключением на Experimental администратор обязан изолировать рабочие сохранения или спланировать работу сервера без обратного отката до момента выравнивания версий.
Резервное копирование мира и чертежей перед переключением#
Перед отправкой любых команд обновления остановите службу сервера. Работающий процесс Satisfactory держит открытые файловые дескрипторы мира и может записать повреждённый автосейв прямо во время работы SteamCMD:
sudo systemctl stop satisfactory
sudo systemctl status satisfactory --no-pager
Файлы сохранений сервера Satisfactory по умолчанию располагаются в домашнем каталоге пользователя службы по пути:
~/.config/Epic/FactoryGame/Saved/SaveGames/server/
Чертежи фабрики (blueprints) хранятся в соседней подпапке Saved/SaveGames/Blueprints/. Создайте архив обеих директорий с меткой времени:
BACKUP_DIR="/opt/satisfactory/backups"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
sudo mkdir -p "$BACKUP_DIR"
sudo tar -czf "$BACKUP_DIR/satisfactory_save_pre_update_${TIMESTAMP}.tar.gz" \
-C /home/satisfactory/.config/Epic/FactoryGame/Saved SaveGames
Проверьте целостность созданного архива:
tar -tzf "$BACKUP_DIR/satisfactory_save_pre_update_${TIMESTAMP}.tar.gz" | head -n 10
При использовании централизованной панели управления серверами снапшоты состояния и сохранений мира перед обновлением движка выполняются автоматически без необходимости вручную запускать архиваторы в терминале.
Обновление через SteamCMD и смена веток#
Обновление и переключение веток выполняется от имени системного пользователя satisfactory. Не запускайте SteamCMD от имени root, чтобы не нарушить права владения бинарными файлами.
Для обновления на стабильную ветку (Early Access / public) используется команда:
/usr/games/steamcmd +force_install_dir /opt/satisfactory +login anonymous +app_update 1690800 validate +quit
Для переключения на экспериментальную ветку передаётся флаг -beta experimental:
/usr/games/steamcmd +force_install_dir /opt/satisfactory +login anonymous +app_update 1690800 -beta experimental validate +quit
Параметр validate обязателен: он сравнивает контрольные суммы установленных файлов с манифестом Steam и докачивает повреждённые или перезаписанные библиотеки Unreal Engine.
После успешного выполнения SteamCMD вернёт статус:
Success! App '1690800' fully installed.
Проверка прав доступа и запуск службы systemd#
После завершения работы SteamCMD восстановите корректного владельца всех файлов каталога установки:
sudo chown -R satisfactory:satisfactory /opt/satisfactory
sudo chmod -R u=rwX,go=rX /opt/satisfactory
Запустите службу игрового сервера и проверьте журналы инициализации:
sudo systemctl start satisfactory
sudo journalctl -u satisfactory -n 50 --no-pager
Убедитесь, что сервер успешно связал сетевые порты (по умолчанию UDP 7777 для игрового трафика и запросов):
sudo ss -ulnp | grep 7777
Диагностика ошибок загрузки после обновления#
Если сервер завершает работу при старте, проверьте лог-файл движка в каталоге сервера:
tail -n 100 /opt/satisfactory/FactoryGame/Saved/Logs/FactoryGame.log
- Ошибка несовместимости версии сохранения (
Save header version is higher): Вы попытались запустить мир, сохранённый в Experimental, на ветке Early Access. Восстановите архив, созданный перед переключением:
sudo systemctl stop satisfactory
sudo tar -xzf "$BACKUP_DIR/satisfactory_save_pre_update_${TIMESTAMP}.tar.gz" \
-C /home/satisfactory/.config/Epic/FactoryGame/Saved/
sudo systemctl start satisfactory
- Ошибка прав доступа (
Permission denied / FactoryGame-Linux-Shipping): Проверьте флаг исполнения на исполняемом файле сервера:
ls -l /opt/satisfactory/Engine/Binaries/Linux/UnrealServer-Linux-Shipping
sudo chmod +x /opt/satisfactory/Engine/Binaries/Linux/UnrealServer-Linux-Shipping




