TeaHost

обновлено 5 мин чтения

Как создать выделенный сервер Satisfactory

Собираем сервер Satisfactory с нуля: установка через SteamCMD, порты 7777 и 8888, claim сервера из клиента, лимит игроков, автосейвы и решение частых ошибок

Кратко

Выделенный сервер Satisfactory ставится через SteamCMD анонимно (App ID 1690800) и работает на Windows и Linux. Нужны порты 7777 TCP и UDP плюс 8888 TCP, по памяти официальная вики советует 8 ГБ и 16 ГБ для больших фабрик или больше 4 игроков; права администратора получает тот, кто первым сделает claim сервера из клиента через Server Manager, а лимит игроков поднимается в Game.ini.

Фабрика в Satisfactory растёт неделями, и играть по схеме «хост включил игру — все зашли» получается ровно до первого расхождения в графиках. Свой сервер Satisfactory снимает эту зависимость: производство крутится круглосуточно, конвейеры не встают, а зайти доделать шину можно в любое время. Разберём установку, нужные порты, процедуру claim и то, что обычно ломается на старте.

Выделенный сервер Satisfactory и панель управления фабрикой

Железо: считаем по размеру фабрики

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

Ориентиры (минимальные требования — по официальной вики Satisfactory):

ПамятьКогда хватает
8 ГБМинимум по рекомендации вики: старт и первые фазы Space Elevator
12 ГБКомфорт для середины игры
16 ГБРекомендация вики для больших сейвов и больше 4 игроков: крупная фабрика, поезда, дроны

Процессор важнее объёма памяти. Симуляция конвейеров и поездов почти целиком однопоточная, поэтому 4 быстрых ядра работают лучше, чем 8 медленных. Диск — около 12,4 ГБ под файлы сервера на Windows и порядка 2 ГБ на Linux, SSD обязателен: автосейвы крупного мира весят десятки мегабайт и пишутся часто.

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

App ID сервера — 1690800, скачивается анонимно.

код
steamcmd +force_install_dir /opt/satisfactory +login anonymous +app_update 1690800 validate +quit

Запуск на Linux:

код
cd /opt/satisfactory
./FactoryServer.sh -multihome=0.0.0.0

По умолчанию сервер и так слушает все интерфейсы; флаг -multihome нужен, когда процесс надо явно привязать к конкретному адресу (с 0.0.0.0 — ко всем). Если в выводе ss -lnup видно, что порт занят на одном внутреннем IP, подключаться и пробрасывать порты придётся именно на него.

Если хочется экспериментальную ветку, добавьте -beta experimental к app_update. Держать её стоит только осознанно: клиент и сервер обязаны быть на одной ветке, иначе подключение отвалится с ошибкой версии.

Порты 7777, 8888 и firewall

С патча 1.1 серверу нужны два порта:

ПортПротоколНазначение
7777TCPСерверный трафик и HTTPS API
7777UDPИгровой трафик и Lightweight Query API
8888TCPReliable messaging — надёжная доставка игровых сообщений

Старые гайды до сих пор советуют пробрасывать 15000 и 15777; начиная с версии 1.0 эти порты не используются.

код
ufw allow 7777/udp
ufw allow 7777/tcp
ufw allow 8888/tcp

Сменить основной порт можно флагом -Port=, reliable-порт — флагом -ReliablePort=. Это пригодится, если на одной машине живут два сервера Satisfactory — тогда каждому дают свою пару портов. Перенаправление основного порта на роутере не поддерживается: внешний и внутренний номер должны совпадать.

Claim сервера из клиента

Свежий сервер не имеет ни имени, ни администратора: он ждёт, пока кто-то заявит на него права. Делается это из игры, а не из конфигов.

  1. В главном меню откройте Server Manager и нажмите Add Server.
  2. Введите адрес в формате IP:7777.
  3. Клиент попросит задать Administrator Password — это пароль администрирования сервера, он же ваш ключ к настройкам.
  4. Задайте имя сервера, при желании — Join Password для входа игроков.
  5. На вкладке Create Game создайте новую сессию либо загрузите готовый сейв через Manage Saves → Upload Save.

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

Настройки: лимит игроков и конфиги

Стандартный лимит — 4 слота. Поднимается он в Game.ini, который лежит в FactoryGame/Saved/Config/LinuxServer/:

код
[/Script/Engine.GameSession]
MaxPlayers=8

Сервер после правки нужно перезапустить. Технически значение можно поставить и выше восьми, но честно предупрежу: разработчики не тестируют такие конфигурации, и на 12+ игроках начинаются рассинхроны инвентарей и телепортация транспорта. Восемь — практический потолок.

Автосейвы настраиваются в том же каталоге, в ServerSettings через Server Manager в клиенте: интервал сохранения, количество хранимых копий, режим автопаузы, когда на сервере никого нет. Автопаузу стоит включить — она заметно снижает нагрузку на процессор в ночные часы, при этом фабрика замирает целиком и ничего не теряется.

Сами сейвы лежат в .config/Epic/FactoryGame/Saved/SaveGames/server/. Забирать их оттуда удобно по SFTP — процедура описана в подключении по SFTP.

Перенос одиночного мира на сервер

Один из главных сценариев: фабрика начиналась в соло, а теперь хочется общий сервер. Порядок такой.

  1. В клиенте откройте Server Manager, вкладку Manage Saves.
  2. Нажмите Upload Save и выберите файл .sav из локальной папки сохранений.
  3. Дождитесь загрузки — крупный мир заливается не мгновенно.
  4. Выберите сейв в списке и нажмите Load.

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

Частые проблемы

Сервер не появляется в Server Manager. Проверьте, что открыты 7777 по TCP и UDP и 8888 по TCP. Открытый только UDP даёт ровно такую картину: пинг проходит, соединение не устанавливается.

«Server is not compatible» при подключении. Расходятся версии клиента и сервера. Обычно после патча Steam обновил игру, а серверу app_update не прогнали. Повторите установку той же командой — она работает и как апдейт.

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

Резкие фризы у всех разом. Скорее всего, момент автосейва на медленном диске. Увеличьте интервал сохранения и убедитесь, что под сервер выделен SSD.

Падение по памяти на большой фабрике. Симптом — процесс исчезает без записи в лог. Тут только увеличение RAM; ограничить аппетит фабрики настройками не выйдет.

Итог

Последовательность короткая: app_update 1690800, запуск с -multihome=0.0.0.0, открытые TCP и UDP 7777 плюс TCP 8888, claim из клиента с заданием пароля администратора, при необходимости — MaxPlayers=8 в Game.ini и загрузка своего сейва. Дальше сервер практически не требует внимания, кроме обновлений в дни патчей.

Если разворачивать всё это вручную не хочется, готовый сервер поднимается из панели за пару минут — тарифы посмотрите здесь. Про выбор между арендой VPS и специализированным хостингом есть отдельный разбор: VPS или игровой хостинг.

ПоделитьсяTelegramVK
Все статьи рубрики