← Blog

Настройка выделенного сервера Satisfactory для кооператива

Par Benjamin Dayan · PDG

· Mis à jour le 29 октября 2026 г. · Lecture 5 min

Содержание

Сервер Satisfactory для кооперативной игры — это выделенный процесс FactoryServer, который держит мир активным 24/7 и позволяет заходить в сессию независимо от того, в сети ли хозяин базы. В материале разберём установку через SteamCMD, параметры запуска, настройку конфигов, проброс портов и подключение друзей к игре.



Установка сервера Satisfactory через SteamCMD на Linux

Самый надёжный способ развернуть сервер Satisfactory — использовать SteamCMD, консольную утилиту Steam для загрузки серверных файлов без клиента игры. На Linux (Debian/Ubuntu) порядок действий такой:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 steamcmd curl

mkdir -p ~/satisfactory-server
~/steamcmd/steamcmd.sh +force_install_dir ~/satisfactory-server +login anonymous +app_update 1690800 validate +quit

ID приложения 1690800 соответствует именно выделенному серверу Satisfactory (Dedicated Server), а не игровому клиенту — это важно, иначе SteamCMD скачает не те файлы. После завершения загрузки в папке появится исполняемый файл FactoryServer.sh. Первый запуск делается вручную, чтобы проверить, что сервер стартует без ошибок:

cd ~/satisfactory-server
./FactoryServer.sh -unattended -NoBEScreen -log

Флаг -unattended отключает интерактивные диалоги, которые блокируют запуск в фоне, а -log пишет вывод в файл логов — пригодится при диагностике краша. Для постоянной работы сервер лучше оформить как systemd-юнит, чтобы он поднимался автоматически после перезагрузки машины:

sudo nano /etc/systemd/system/satisfactory.service
[Unit]
Description=Satisfactory Dedicated Server
After=network.target

[Service]
User=steam
WorkingDirectory=/home/steam/satisfactory-server
ExecStart=/home/steam/satisfactory-server/FactoryServer.sh -unattended -NoBEScreen -log
Restart=on-failure

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now satisfactory.service
sudo systemctl status satisfactory.service

Если держать сервер на своей машине дома неудобно из-за нестабильного канала или она просто не предназначена для круглосуточной работы, то весь этот процесс — установка SteamCMD, настройка systemd, мониторинг процесса — уже сделан за вас на хостинг Satisfactory: сервер разворачивается через панель за пару минут, с готовым автозапуском и резервным копированием.



Параметры запуска и настройка конфигурационных файлов сервера Satisfactory

После первого старта сервер Satisfactory создаёт конфигурационные файлы в каталоге FactoryGame/Saved/Config/LinuxServer/. Основные два — Game.ini и Engine.ini. Именно здесь задаются имя сессии, пароли и лимиты игроков.

Полезные параметры запуска

ПараметрНазначение
-unattendedЗапуск без диалоговых окон, обязателен для фонового режима
-NoBEScreenОтключает экран BattlEye при старте
-logПишет подробный лог в файл для последующей диагностики
-Port=7777Задаёт основной игровой порт, если стандартный занят
-multihome=IPПривязка сервера к конкретному сетевому интерфейсу на машине с несколькими IP

Пример блока Engine.ini

[/Script/Engine.GameEngine]
bUseIris=False

[/Script/OnlineSubsystemUtils.IpNetDriver]
NetServerMaxTickRate=60

Повышение NetServerMaxTickRate снижает рассинхронизацию анимаций конвейеров при большом количестве игроков, но увеличивает нагрузку на CPU — на слабом процессоре эффект будет обратным, появятся просадки. Имя сервера, пароль администратора и пароль для подключения задаются не в ini-файле напрямую, а через консоль сервера или Server Manager API командами вида:

server.AdminPassword "ваш_пароль_админа"
server.ClientPassword "пароль_для_друзей"

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



Проброс портов и настройка файрвола для сервера Satisfactory

Чтобы друзья могли подключиться к сессии через интернет, а не только по локальной сети, сервер Satisfactory должен принимать входящие UDP-пакеты на нескольких портах. Если сервер стоит дома за роутером, порты нужно пробросить в настройках NAT; если это VPS с публичным IP, достаточно открыть их на файрволе.

Порты, которые нужно открыть

ПортПротоколНазначение
7777UDPОсновной игровой порт (подключение клиентов)
15000UDPBeacon-порт, обнаружение сервера в локальной сети
15777UDPQuery-порт, используется Server Manager API

Точные номера и назначение портов периодически меняются между обновлениями движка, поэтому перед пробросом сверяйтесь с актуальным списком в документации игры. На Linux-машине или VPS открыть порты через ufw можно так:

sudo ufw allow 7777/udp
sudo ufw allow 15000/udp
sudo ufw allow 15777/udp
sudo ufw status

Если сервер стоит за домашним роутером, дополнительно пропишите проброс тех же портов на внутренний IP машины в веб-интерфейсе роутера (раздел Port Forwarding или Virtual Server). Проверить, что порт действительно открыт наружу, можно любым онлайн-сканером портов, указав публичный IP и нужный номер порта в UDP.

Отдельно стоит защитить консоль администратора: не используйте простой пароль для server.AdminPassword, а если управляете сервером через VPS, ограничьте доступ по SSH ключами вместо пароля:

ssh-keygen -t ed25519 -C "satisfactory-admin"
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@ваш_vps_ip

Это базовая гигиена для любой машины с открытыми портами, включая VPS Linux, на котором часто разворачивают игровые серверы самостоятельно.



Подключение друзей к сессии и администрирование кооператива

Когда порты открыты и сервер Satisfactory запущен, подключение друзей происходит прямо из игрового клиента: в меню Server Manager нужно добавить сервер по IP-адресу и порту, ввести пароль клиента, если он задан, и дождаться загрузки сохранения. Важный нюанс — все игроки должны быть на одной версии игры, иначе клиент покажет ошибку несовместимости протокола и не даст подключиться.

Чек-лист перед первым запуском кооператива

  • Версия клиента у всех игроков совпадает с версией сервера
  • Пароль администратора и пароль клиента заданы и переданы доверенным игрокам отдельно
  • Порты 7777, 15000 и 15777 открыты и проверены сканером портов
  • Настроено автосохранение с разумным интервалом (по умолчанию каждые 5 минут)
  • Есть отдельная резервная копия папки с сохранением перед крупными перестройками базы

Резервное копирование и обновления

Сохранения Satisfactory лежат в FactoryGame/Saved/SaveGames/server/. Перед каждым крупным обновлением игры стоит вручную скопировать эту папку — откаты после неудачного патча случаются, и без свежего бэкапа можно потерять прогресс базы. Автоматизировать копирование на своей машине можно простым cron-заданием:

crontab -e
# Резервная копия каждый день в 04:00
0 4 * * * tar -czf /home/steam/backups/save_$(date +\%F).tar.gz /home/steam/satisfactory-server/FactoryGame/Saved/SaveGames/server/

Если администрированием занимается несколько человек в коллективе, удобно выдать им отдельные учётные данные без доступа к полной консоли сервера — например, через панель управления, где можно ограничить права на перезапуск и доступ к файлам. Больше вариантов инфраструктуры для совместных проектов можно посмотреть в разделе Все наши игровые серверы или в Блог Fly-Serv, где разбираются похожие сценарии для других игр на выживание.



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



FAQ

Почему друзья не видят сервер Satisfactory в списке, хотя он запущен?

Чаще всего причина в закрытых портах 7777, 15000 или 15777 на файрволе или роутере. Проверьте проброс портов и статус ufw, а также убедитесь, что сервер слушает публичный IP, а не только localhost.

Что делать, если после обновления игры сервер не запускается?

Остановите процесс, выполните повторно команду app_update 1690800 validate через SteamCMD, чтобы докачать недостающие файлы, и проверьте лог на наличие ошибок несовместимости версий конфигурации.

Можно ли ограничить доступ к консоли администратора сервера для части игроков?

Да, достаточно не передавать всем пароль из server.AdminPassword, а выдавать только клиентский пароль. Для более тонкого разграничения прав удобнее использовать панель управления с системой под-пользователей.

Читайте также