Назначение шлюза
Игровой шлюз — HTTP-вход в сервер через инфраструктуру OpenM. Он получает актуальный адрес одобренного сервера из каталога, проверяет его идентичность и передаёт первоначальные запросы клиента и загрузку ресурсов. Владелец не устанавливает отдельный шлюз на свой компьютер и не прописывает его внутренний порт в server.cfg.
Публикация и транспорт — разные механизмы. Heartbeat сообщает каталогу, что сервер работает. Шлюз обрабатывает запросы подключения. Игровой UDP-трафик по-прежнему должен доходить до игрового сервера: шлюз не заменяет проброс UDP, публичный адрес или сетевые правила хостера.
FXServer → локальная проверка издателем → подписанный heartbeat → каталог
Клиент → HTTPS-шлюз OpenM → HTTP игрового сервера
Клиент → игровой UDP-порт → игровой сервер
Условия автоматического подключения
Проверьте все условия, прежде чем менять конфигурацию:
- Карточка принадлежит вам, одобрена модерацией и опубликована.
- Адрес в карточке соответствует фактическому публичному игровому адресу. Указывайте игровой порт, а не порт txAdmin.
- Издатель отправляет свежие подписанные обновления; сервер отображается доступным в каталоге.
- В локальном
/info.jsonсервер сообщает тот жеsv_openmServerId, который записан в карточке. - Включён
sv_openmAdmission, сохранён действующий ключ доступа этого сервера. - Публичный адрес доступен инфраструктуре OpenM по TCP и игрокам по TCP/UDP.
Подробности выдачи ключей — отдельная статья; сеть проверяется по инструкции NAT.
Адрес подключения
Формат адреса:
https://open-multiplayer.online/game/<SERVER_ID>/
Замените <SERVER_ID> полным идентификатором карточки вида srv_ и 32 шестнадцатеричных символа. Угловые скобки в адрес не входят. Используйте ссылку, которую показывает карточка или клиент: она исключает опечатки и учитывает опубликованные данные.
Для диагностики разрешён запрос:
$serverId = 'srv_REPLACE_WITH_REAL_ID'
$base = "https://open-multiplayer.online/game/$serverId"
$info = Invoke-RestMethod "$base/info.json"
$info.vars | Select-Object sv_openmServerId, sv_openmAdmission
Это проверяет маршрут до игрового HTTP-сервера. Успешный результат не доказывает игровой UDP-сеанс, загрузку всех ресурсов или исправность вашего режима. Полная проверка завершается реальным подключением из клиента.
Какие запросы проходят
| Маршрут относительно адреса шлюза | Метод | Назначение |
|---|---|---|
info.json |
GET, HEAD | Идентификация игрового сервера |
client |
POST | Протокол первоначального подключения клиента |
files/... |
GET, HEAD | Загрузка ресурсов игровым клиентом |
Шлюз не является общим прокси вашего компьютера. Произвольные пути, панель txAdmin, SQL, players.json и dynamic.json через этот адрес не публикуются. Открывать /client в браузере через GET бессмысленно: это другой метод и не игровой handshake. Не копируйте токены клиента в публичные команды проверки.
Проверки безопасности
Шлюз использует адрес из одобренной карточки, проверяет публичность IP и идентичность FXServer. Перенаправления на другой адрес не следуются. Внутренние адреса и неподходящие порты не становятся доступными через шлюз. Если DNS поменялся на локальный адрес, исправьте DNS; отключение проверок не является способом настройки.
Скрытие endpoint в каталоге сохраняется для отображения карточки, но не означает скрытие сетевого адреса от участника игрового соединения. См. защиту данных.
Сообщение «шлюз пока не настроен»
Такое сообщение встречалось в предыдущем интерфейсе. В текущей серверной инфраструктуре маршрут создаётся динамически для подходящей опубликованной карточки. Не нужно добавлять фиктивный параметр шлюза или копировать ключ публикации в поле доступа.
Порядок проверки: обновите страницу карточки; проверьте одобрение и свежий heartbeat; сравните ID из локального info.json с карточкой; проверьте внешний TCP-порт и действительность ключа доступа. Если эти проверки успешны, а карточка продолжает показывать предупреждение, передайте поддержке ID, время и обезличенную ошибку HTTP. Полный ключ и .seed не прикладывайте.
Восстановление после смены адреса
Остановите публикацию старого экземпляра, обновите адрес карточки, завершите повторную модерацию, получите актуальную конфигурацию публикации и примените её через мастер. Проверьте новый NAT и фактический ID. Существующие игровые соединения при переезде могут оборваться; новый маршрут не переносит активный процесс и игровое состояние между компьютерами.