Установка игрового сервера Satisfactory на Linux

Материал из ARK-HOSTER.RU | Документация хостинга
Версия от 20:29, 14 ноября 2026; Maintenance script (обсуждение | вклад) (Статья переписана по результатам установки на чистой Ubuntu 24.04, добавлены снимки экрана)
Перейти к навигации Перейти к поиску

Инструкция по установке выделенного сервера Satisfactory на VDS с Ubuntu 24.04. Все команды и снимки экрана сняты с настоящего сервера: инструкция проверена 14 ноября 2026 года на чистой Ubuntu 24.04.4.

Что понадобится

  • VDS с Ubuntu 24.04 LTS и доступом root по SSH.
  • Память: сервер с новым миром занимает около 2 ГБ, с большой фабрикой — заметно больше. Берите VDS от 8 ГБ.
  • Диск: файлы сервера занимают 2,8 ГБ; с запасом на обновления и сохранения нужно от 10 ГБ свободного места.
  • Процессор: от 2 ядер.

Учётная запись Steam и купленная игра для установки сервера не нужны.

1. Обновите систему

sudo apt update && sudo apt upgrade -y

На свежей системе обновление идёт от 5 минут до получаса. По ходу могут появиться два места, где нужно ваше участие.

Окно выбора раскладки клавиатуры. Обновление остановится и покажет окно «Configuring keyboard-configuration». Ничего менять не нужно: нажмите Enter, в следующем окне снова Enter.

Сообщение о новом ядре. Если в конце вы видите «Pending kernel upgrade», система обновила ядро и ждёт перезагрузки.

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

sudo reboot

2. Установите нужные пакеты

sudo apt install -y wget lib32gcc-s1 lib32stdc++6
  • lib32gcc-s1 и lib32stdc++6 нужны программе SteamCMD, через которую скачивается сервер.

3. Создайте пользователя для сервера

Игровой сервер не должен работать от root. Создайте для него отдельного пользователя:

sudo useradd -m -s /bin/bash satisfactory

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

4. Скачайте SteamCMD

sudo mkdir -p /opt/steamcmd
cd /opt/steamcmd
sudo wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
sudo tar -xzf steamcmd_linux.tar.gz
sudo chown -R satisfactory:satisfactory /opt/steamcmd

Архив маленький (2,3 МБ), но с серверов Steam он может качаться около минуты — это нормально.

5. Установите сервер Satisfactory

Переключитесь на пользователя satisfactory и запустите SteamCMD:

sudo su - satisfactory
cd /opt/steamcmd
./steamcmd.sh

При первом запуске SteamCMD скачивает собственное обновление (около 40 МБ). С серверов Steam оно может идти несколько минут — дождитесь приглашения Steam> и ничего не вводите раньше.

Затем введите по очереди три команды. Порядок важен: каталог установки задаётся до входа.

force_install_dir /home/satisfactory/satisfactory-server
login anonymous
app_update 1690800 validate

Если вместо загрузки появилась строка «ERROR! Failed to install app … (Missing configuration)», просто введите команду app_update ещё раз: при первом запуске SteamCMD такое случается, со второго раза загрузка начинается.

Загрузка 1,5 ГБ занимает несколько минут. Дождитесь строки «Success! App '1690800' fully installed.»:

Выйдите из SteamCMD:

quit

Проверьте, что файлы на месте:

ls /home/satisfactory/satisfactory-server

6. Что нужно знать до запуска

У сервера Satisfactory нет файла настроек, который нужно править заранее, и свой скрипт запуска ему не нужен: в каталоге уже есть штатный FactoryServer.sh.

Название сервера, пароль администратора и мир задаются после запуска — из игры, через «Диспетчер серверов» (шаг 10). До этого сервер работает, но игры на нём нет.

Сервер использует три порта, и открыть нужно все три (шаг 9):

  • 7777/udp — игра;
  • 7777/tcp — управление сервером из игры;
  • 8888/tcp — обмен данными с игроками.

Порты 15000 и 15777 из старых руководств с версии 1.0 не используются.

Вернитесь к root:

exit

7. Настройте автозапуск

Чтобы сервер запускался вместе с системой и поднимался после сбоя, создайте для него службу:

sudo nano /etc/systemd/system/satisfactory-server.service

Вставьте:

[Unit]
Description=Satisfactory Dedicated Server
After=network.target

[Service]
Type=simple
User=satisfactory
WorkingDirectory=/home/satisfactory/satisfactory-server
ExecStart=/home/satisfactory/satisfactory-server/FactoryServer.sh -log -unattended
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

8. Запустите сервер и проверьте его

sudo systemctl daemon-reload
sudo systemctl enable satisfactory-server
sudo systemctl start satisfactory-server

Запуск занимает меньше минуты. Проверьте состояние службы — должно быть active (running):

sudo systemctl status satisfactory-server --no-pager -n 0

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

sudo ss -lntu | grep -E "7777|8888"
curl -sk -X POST https://127.0.0.1:7777/api/v1 -H "Content-Type: application/json" -d '{"function":"HealthCheck","data":{"clientCustomData":""}}'; echo

Управление службой:

sudo systemctl stop satisfactory-server      # остановить
sudo systemctl restart satisfactory-server   # перезапустить
sudo journalctl -u satisfactory-server -f    # смотреть журнал, выход — Ctrl+C

9. Откройте порты в файрволе

Внимание: сначала разрешите SSH и только потом включайте файрвол. Иначе связь с сервером оборвётся. Если SSH у вас на нестандартном порту, вместо первой команды выполните sudo ufw allow НОМЕР_ПОРТА/tcp.

sudo ufw allow OpenSSH
sudo ufw allow 7777/udp
sudo ufw allow 7777/tcp
sudo ufw allow 8888/tcp
sudo ufw enable

Если появится вопрос «Command may disrupt existing ssh connections. Proceed with operation (y|n)?», ответьте y. Проверьте результат:

sudo ufw status

10. Зайдите на сервер

Первым на сервер должен зайти его владелец и «занять» сервер:

1. В игре откройте «Диспетчер серверов» (Server Manager) и добавьте сервер по адресу IP_СЕРВЕРА, порт 7777.

2. Игра предложит задать название сервера и пароль администратора.

3. Создайте новую игру или загрузите сохранение.

После этого остальные игроки подключаются через тот же «Диспетчер серверов». Пошагово — в статье Как зайти на сервер Satisfactory.

Настройка без игры (необязательно)

Занять сервер и создать мир можно и с самой VDS — запросами к интерфейсу управления сервера. Выполните команды по порядку, заменив название, пароль и имя сессии на свои:

API=https://127.0.0.1:7777/api/v1
T=$(curl -sk -X POST $API -H "Content-Type: application/json" -d '{"function":"PasswordlessLogin","data":{"MinimumPrivilegeLevel":"InitialAdmin"}}' | grep -oP '"authenticationToken":"\K[^"]+')
T=$(curl -sk -X POST $API -H "Content-Type: application/json" -H "Authorization: Bearer $T" -d '{"function":"ClaimServer","data":{"ServerName":"My Satisfactory","AdminPassword":"Secret123"}}' | grep -oP '"authenticationToken":"\K[^"]+')
curl -sk -X POST $API -H "Content-Type: application/json" -H "Authorization: Bearer $T" -d '{"function":"CreateNewGame","data":{"NewGameData":{"SessionName":"MySession"}}}'; echo

Через полминуты проверьте состояние — в ответе должно быть имя сессии:

curl -sk -X POST $API -H "Content-Type: application/json" -H "Authorization: Bearer $T" -d '{"function":"QueryServerState","data":{}}' | cut -c1-110; echo

Сохранение мира

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

API=https://127.0.0.1:7777/api/v1
T=$(curl -sk -X POST $API -H "Content-Type: application/json" -d '{"function":"PasswordLogin","data":{"MinimumPrivilegeLevel":"Administrator","Password":"Secret123"}}' | grep -oP '"authenticationToken":"\K[^"]+')
curl -sk -X POST $API -H "Content-Type: application/json" -H "Authorization: Bearer $T" -d '{"function":"SaveGame","data":{"SaveName":"before-stop"}}'; echo
sudo find /home/satisfactory/.config/Epic/FactoryGame/Saved/SaveGames -name "*.sav" -printf "%TT %f\n" | cut -c1-8,19-

Обновление сервера

После выхода обновления игры остановите сервер, обновите файлы и запустите снова:

sudo systemctl stop satisfactory-server
sudo -u satisfactory /opt/steamcmd/steamcmd.sh +force_install_dir /home/satisfactory/satisfactory-server +login anonymous +app_update 1690800 validate +quit
sudo systemctl start satisfactory-server

Ваши настройки и сохранения при обновлении не затрагиваются.

Где лежат сохранения

Сохранения и настройки сервера лежат в домашнем каталоге его пользователя:

/home/satisfactory/.config/Epic/FactoryGame/Saved/SaveGames/

Чтобы перенести мир с другого сервера или из одиночной игры, положите файл .sav в этот каталог и загрузите его из игры через «Диспетчер серверов».

Если что-то пошло не так

Что видите Причина и решение
Сервер виден в «Диспетчере серверов», но подключиться или управлять им не удаётся Открыты не все порты. Нужны три: 7777/udp, 7777/tcp и 8888/tcp. Проверьте командой sudo ufw status.
Запрос HealthCheck не отвечает Сервер ещё запускается или не запущен. Подождите минуту и проверьте службу: sudo systemctl status satisfactory-server.
После обновления игры игроки не могут подключиться Версия сервера отличается от версии игры. Обновите сервер.
SteamCMD отвечает «ERROR! Failed to install app '1690800' (Missing configuration)» Так иногда бывает при первом запуске SteamCMD. Введите команду app_update ещё раз — со второго раза загрузка начинается.
После установки нет каталога /home/satisfactory/satisfactory-server Команда force_install_dir была введена с ошибкой или после login, и сервер установился в /home/satisfactory/Steam/steamapps/common/. Запустите SteamCMD заново и повторите три команды из шага 5 по порядку.
Служба в состоянии «failed» Посмотрите причину: sudo journalctl -u satisfactory-server -n 50 --no-pager. Чаще всего это опечатка в пути или скрипт запуска не сделан исполняемым.
Сервер запущен, но зайти не удаётся Проверьте, что порты открыты (sudo ufw status) и что в игре указан верный адрес и порт.

Для размещения игровых серверов рекомендуем услуги ARK-HOSTER.RU: