Server Manager показывает имя или ping, но вход не работает? Разделите проверку запросов состояния, API управления и игрового подключения. Видимый сервер подтверждает работу части сети, но не всех нужных протоколов.
Диагностика рассчитана на PC dedicated server с сетевой схемой Satisfactory 1.1 и стандартными портами. Команды Linux предполагают сервис systemd satisfactory, как в инструкции по установке.
Начните с конкретного симптома#
| Симптом | Что проверить первым |
|---|---|
| Сервер отображается offline | Адрес, процесс и UDP 7777 |
| Имя или ping видны, Server API выдаёт ошибку | TCP 7777 и текст ошибки сертификата |
| Вход зависает или заканчивается таймаутом | TCP 8888, игровой трафик и совпадение сборок |
Это отправные точки диагностики. Таймаут не указывает на единственное неисправное правило.
Убедитесь, что процесс слушает порты#
На сервере:
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 выполните запрос состояния без изменения данных:
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 реальным публичным адресом:
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, храните эти сетевые данные в заметках инстанса. Управление им не заменяет правила провайдера или диагностику сертификата.




