Satisfactory Руководство

Почему не получается подключиться к выделенному серверу Satisfactory

Что проверить, если Satisfactory не подключается к серверу: TCP и UDP, firewall, сертификат, версии игры и сетевой адрес.

Почему не получается подключиться к выделенному серверу Satisfactory

Server Manager показывает имя или ping, но вход не работает? Разделите проверку запросов состояния, API управления и игрового подключения. Видимый сервер подтверждает работу части сети, но не всех нужных протоколов.

Диагностика рассчитана на PC dedicated server с сетевой схемой Satisfactory 1.1 и стандартными портами. Команды Linux предполагают сервис systemd satisfactory, как в инструкции по установке.

Начните с конкретного симптома#

СимптомЧто проверить первым
Сервер отображается offlineАдрес, процесс и UDP 7777
Имя или ping видны, Server API выдаёт ошибкуTCP 7777 и текст ошибки сертификата
Вход зависает или заканчивается таймаутомTCP 8888, игровой трафик и совпадение сборок

Это отправные точки диагностики. Таймаут не указывает на единственное неисправное правило.

Каждая проверка отделяет свой слой. Успешный внешний TCP-тест оставляет UDP-трафик для проверки игровым клиентом.

Убедитесь, что процесс слушает порты#

На сервере:

bash
sudo systemctl status satisfactory --no-pager
sudo journalctl -u satisfactory -n 100 --no-pager
sudo ss -lntup

Проверьте процесс-владельца и адрес сокета, а не только зелёный статус сервиса. Адрес 127.0.0.1 доступен лишь локально. Нужны TCP и UDP 7777, а также TCP 8888.

Каналы API и запросов состояния описаны в документе dedicated server, надёжный канал Coffee Stain добавил в анонсе 1.1. В Server Manager указывают 7777, а не 8888. Старые инструкции с 15000 и 15777 не описывают эту схему.

Читайте фактически выбранные порты в журнале запуска. -Port=7777 -ReliablePort=8888 фиксирует нужные значения: явный reliable-порт вызывает ошибку при недоступности, а автоматический выбор может назначить другой. При конфликте сначала найдите процесс, который занял порт.

Отделите локальный API от внешнего доступа#

На VPS выполните запрос состояния без изменения данных:

bash
curl --insecure --connect-timeout 5 --max-time 10 \
  -H 'Content-Type: application/json' \
  --data '{"function":"HealthCheck","data":{"ClientCustomData":""}}' \
  https://127.0.0.1:7777/api/v1

HealthCheck не требует авторизации. Разовый локальный --insecure допускает самоподписанный сертификат, но не исправляет доверие к нему. Дождитесь окончания загрузки сохранения или смены карты перед выводом о неисправности API.

Из другой сети, с Linux-машины с netcat, проверьте TCP. Замените 203.0.113.10 реальным публичным адресом:

bash
nc -vz -w 5 203.0.113.10 7777
nc -vz -w 5 203.0.113.10 8888
РезультатГде искать дальше
Локальный HealthCheck не работаетЗапуск, загрузка, привязка адреса или API/TLS; читайте журнал
Локальный API работает, внешний TCP — нетПравила провайдера, firewall хоста, проброс или адрес
TCP 7777 работает, TCP 8888 — нетСокет или правило надёжного канала
Оба TCP-теста успешны, вход не работаетUDP, ошибка клиента, сертификат или сборки

На VPS проверьте назначенный этой машине публичный адрес и оба firewall. При домашнем размещении проверьте проброс к актуальному LAN-адресу и наличие доступного извне адреса. При CGNAT одного правила в роутере недостаточно.

TCP-проверка ничего не говорит о UDP 7777. После изменения одной настройки повторите исходную попытку входа из игры.

Выберите адрес под путь проверки#

В домашней LAN сначала подключайтесь по приватному адресу сервера. Извне — по публичному. Проверка публичного адреса из той же LAN зависит ещё и от NAT loopback роутера; внешняя мобильная сеть помогает проверить другой путь.

Для VPS важен внешний клиент, а не только запросы машины к собственному публичному адресу. Запишите, какой путь сработал, вместо одного утверждения «порт открыт».

Разбирайте ошибки сертификата и версии напрямую#

При Certificate is not yet valid проверьте автоматическое время на игровом ПК и timedatectl status на сервере. Сроки действия сертификата проверяются по правилам TLS-сертификатов; дополнительные порты их не меняют.

Не удаляйте идентичность сервера первым шагом. Сброс ServerSettings.PORT.sav также сбрасывает пароли, имя и сертификат — это описано в справочнике сброса сервера. Сначала сохраните данные и предусмотрите повторное закрепление сервера за администратором, если сброс действительно нужен.

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

Сохраните данные неудачной попытки#

Запишите точную ошибку клиента и время, сборки обеих сторон, тип адреса, реальные сокеты и результаты LAN/внешних проверок. Сохраните журнал и игровой лог из FactoryGame/Saved/Logs в каталоге установки; обе точки описаны в руководстве сервиса. Перед передачей удалите данные доступа.

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