MAATRIX GAMES / Блог / FiveM: сервер не отображается в браузере серверов

FiveM: сервер не отображается в браузере серверов

MAATRIX GAMES

Поднял FiveM, в консоли всё зелёное, txAdmin показывает статус "онлайн", а в браузере серверов CFX сервера просто нет — знакомая ситуация почти для каждого, кто разворачивал FiveM впервые. Причин обычно немного, и почти все они сводятся к трём вещам: лицензии, конварам эндпоинтов и портам. Разберём по порядку, что проверить и как починить, не переустанавливая всё с нуля.

Как устроен браузер серверов CFX и почему это не как в обычных играх

В отличие от классических source-серверов, которые просто шлют heartbeat на мастер-сервер по UDP, FiveM (и всё семейство CFX — сюда же RedM) работает через собственную инфраструктуру: клиент FiveM подключается к вашему серверу напрямую, забирает у него список ресурсов и метаданные, а сам браузер серверов — это отдельный REST-каталог на стороне Cfx.re, который периодически опрашивает зарегистрированные сервера.

Отсюда два важных следствия. Во-первых, ваш сервер должен быть доступен снаружи именно так, как его видит инфраструктура CFX — то есть корректно настроены endpoint_add_tcp/endpoint_add_udp и проброшены порты. Во-вторых, попадание в каталог — это не мгновенный процесс: сервер сначала должен пройти валидацию лицензии, затем зарегистрироваться на мастер-эндпоинте, и только после этого появиться в общем списке. Между стартом сервера и появлением в браузере может пройти какое-то время — это нормально, паниковать и сразу пересоздавать сервер не нужно.

Если сервер не появляется вообще — почти всегда виновата одна из трёх вещей ниже: отсутствие или некорректность sv_licenseKey, неправильно указанные эндпоинты, либо закрытые порты на файрволе или у хостинга.

Активация: cfx.re/join и sv_licenseKey

Первое, что нужно проверить — а есть ли у сервера вообще ключ лицензии. Без него сервер физически не может зарегистрироваться в инфраструктуре Cfx.re и, соответственно, никогда не появится в браузере, даже если запускается и пускает игроков по прямому IP.

Ключ получают на портале Keymaster (keymaster.fivem.net), привязывая его к конкретному Cfx.re-аккаунту разработчика. После получения ключ прописывается в server.cfg:

sv_licenseKey "cfxk_ВАШ_КЛЮЧ_ЗДЕСЬ"

Частые ошибки на этом шаге:

  • ключ скопирован с лишним пробелом или переносом строки — сервер стартует, но регистрация тихо отваливается;
  • ключ вставлен в кавычки не того типа (например, «умные» кавычки из Word вместо обычных ") — конфиг ломается молча;
  • один и тот же ключ используется одновременно на двух серверах (тестовом и боевом) — регистрация начинает конфликтовать, и в браузере остаётся видимым только один из них, случайным образом.

Отдельно стоит связка с cfx.re/join/<code> — это короткая ссылка прямого коннекта, которую сервер получает уже после успешной регистрации. Если у вас нет такой ссылки в логах старта (обычно она печатается в консоли при первом успешном подключении к мастер-серверу CFX), это верный признак, что регистрация не прошла — и дальше нужно смотреть именно в сторону лицензии и эндпоинтов, а не в сторону браузера как такового.

Поднять сервер FiveM (GTA V) за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

endpoint_add_tcp / endpoint_add_udp — самая частая причина

Это, пожалуй, топ-1 причина невидимого сервера у новичков. FiveM слушает и TCP, и UDP на одном порту, и оба эндпоинта нужно явно объявить в server.cfg:

endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

Что здесь обычно идёт не так:

  • Указан внешний IP вместо 0.0.0.0. Если прописать конкретный endpoint_add_tcp "203.0.113.10:30120", а сервер физически слушает интерфейс 0.0.0.0 или другой локальный адрес (актуально для контейнеров, NAT-хостинга, VPS с несколькими интерфейсами) — привязка эндпоинта может не сработать. Безопасный вариант по умолчанию — именно 0.0.0.0.
  • TCP и UDP порты не совпадают. Формально можно развести их по разным портам, но большинство гайдов и сам клиент FiveM ожидают один и тот же порт для обоих протоколов. Если у вас исторически разные значения — это частый источник "сервер пингуется, но не подключается и не виден в браузере".
  • Строки закомментированы или удалены при копировании чужого server.cfg — особенно если конфиг брали из старого шаблона под txAdmin, где эти строки генерируются автоматически и админ их случайно продублировал или затёр.
  • Порт занят другим процессом на том же хосте — второй инстанс FiveM, тестовый сервер или что-то ещё слушает 30120, и вторая копия сервера в логе получает EADDRINUSE, но продолжает частично работать локально.

Если вы используете txAdmin — эти строки в server.cfg обычно генерируются мастером настройки автоматически и трогать их руками не нужно. Но если конфиг переносился со старого хостинга или собирался вручную — обязательно свериться построчно.

sv_master1 и конвары мастер-сервера

sv_master1 — это конвар, который указывает FiveM, на какой мастер-эндпоинт отправлять heartbeat для регистрации в общем каталоге серверов. По умолчанию он уже прописан в стандартном server.cfg, который поставляется вместе с сервером, и трогать его без веской причины не стоит:

sv_master1 "https://servers-frontend.fivem.net/api/servers/master/v2/"

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

  • случайно закомментировали (#sv_master1 ...) при чистке конфига от "лишнего";
  • удалили целиком, скопировав минималистичный конфиг из старого туториала, где эта строка отсутствовала как устаревшая;
  • заменили на неправильный URL — например, скопировали адрес из совсем старой версии документации.

Если sv_master1 отсутствует или указывает не туда, сервер продолжает нормально работать для тех, кто заходит по прямому IP или через connect ip:port в консоли клиента, но никогда не появится в публичном браузере — потому что физически некому отправлять heartbeat. Это одна из самых незаметных причин, потому что сервер выглядит полностью рабочим со всех остальных сторон.

Проверить стоит и sv_endpointPrivacy — если он включён (1), сервер скрывает часть данных о себе, но с браузера серверов не пропадает; это отдельная опция приватности, её не нужно путать с проблемой видимости как таковой.

sv_hostname, sv_projectName и обязательные метаданные

Даже если регистрация технически прошла, сервер может отображаться некорректно (без названия, с généric-плейсхолдером) или попросту не проходить валидацию каталога из-за отсутствия обязательных полей. Минимальный набор, который стоит явно прописать в server.cfg:

sv_hostname "^2Мой RP сервер ^7| RU community"
sv_projectName "Мой RP сервер"
sv_projectDesc "Ролевой сервер на QBCore, старт для новичков"
sv_maxclients 48
  • sv_hostname — то, что видно в списке серверов как строка подключения (поддерживает цветовые коды ^1-^9).
  • sv_projectName и sv_projectDesc — то, что тянет карточка сервера на портале и в самом браузере: название и описание проекта.
  • Пустой или дефолтный sv_projectName (оставленный как в шаблоне, например "My Server") иногда приводит к тому, что сервер отображается, но выглядит подозрительно и теряется в общем потоке — не проблема видимости, но частый повод написать "меня не видно", когда на деле сервер просто визуально не отличить от тысяч других с таким же дефолтным именем.

Также не забудьте про tags и banner_detail/banner_connecting (опционально) — они не влияют на факт появления в списке, но напрямую влияют на то, кликнут ли по вашей карточке.

Если сервер собирается на фреймворке — ESX или QBCore — стоит убедиться, что ошибки в ресурсах фреймворка не мешают серверу подняться полностью до момента регистрации; частичный краш на старте иногда обрывает инициализацию раньше, чем отправляется первый heartbeat. Сравнение фреймворков и типичные грабли разобраны в статье про ESX и QBCore.

Порты, firewall, NAT и задержка индексации — финальная проверка

Если лицензия, эндпоинты и sv_master1 в порядке, а сервера всё ещё нет в браузере — переходим к сети.

Проверка портов снаружи. Стандартный порт FiveM — 30120, TCP и UDP. Проверить его доступность снаружи можно, например, через любой онлайн-сканер портов (важно проверять именно с внешней точки, не с самого сервера — локальная проверка почти всегда даёт ложноположительный результат) или командой с другой машины:

nc -zv ваш_ip 30120

Если порт закрыт снаружи — сервер никогда не появится в браузере, даже с идеальным server.cfg: инфраструктура CFX и клиенты других игроков просто не смогут до него достучаться.

Что обычно перекрывает порт:

  • firewall на самой ОС (ufw, firewalld, Windows Defender Firewall) — правило для 30120 TCP/UDP не добавлено;
  • NAT/роутер перед сервером, если это домашний хостинг, а не VPS/дедик — нужен проброс порта на роутере в дополнение к правилу файрвола на самой машине;
  • security group у облачного провайдера — на VPS у многих провайдеров по умолчанию открыты не все порты, входящий трафик на 30120 нужно явно разрешить в панели, отдельно от файрвола внутри ОС.

Подробный разбор настройки портов и firewall под игровые сервера — в отдельной статье про порты и файрвол.

Задержка индексации. Даже при полностью верной конфигурации сервер может не появиться в списке сразу после первого старта — обычно счёт идёт на минуты, но иногда занимает и дольше, особенно если это первая регистрация нового ключа лицензии. Прежде чем что-то менять — дайте серверу постоять запущенным хотя бы 10-15 минут и проверьте ещё раз, включая поиск по названию через строку поиска в самом браузере (не только скролл по общему списку — при большом количестве серверов в каталоге найти себя визуальным перебором можно и не успеть).

txAdmin как отдельная точка проверки. Если сервер управляется через txAdmin, откройте вкладку статуса — там отдельно показывается состояние регистрации на мастер-сервере CFX. Если txAdmin явно пишет об ошибке привязки лицензии или мастер-эндпоинта — это тот самый сигнал, который избавляет от гадания по логам консоли.

Поднять сервер FiveM (GTA V) за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Частые вопросы

Сколько времени сервер может не отображаться в браузере после старта?

Обычно это вопрос минут, но точные сроки индексации не публикуются и могут отличаться, особенно для новых ключей лицензии. Если после 20-30 минут ожидания сервера всё ещё нет, а порты и конфиг проверены — проблема, скорее всего, не во времени ожидания, а в одной из причин выше.

Сервер виден по прямому IP, но не в браузере — это нормально?

Да, это классический симптом проблем с sv_master1 или лицензией: прямое подключение идёт напрямую к серверу и не зависит от регистрации в каталоге, а попадание в браузер — отдельный процесс.

Обязательно ли открывать и TCP, и UDP на одном порту?

Да, для стандартной работы FiveM нужны оба протокола на одном порту (по умолчанию 30120) — TCP используется для части служебного трафика и загрузки ресурсов, UDP — для игрового трафика.

Может ли антивирус или VPN на сервере мешать регистрации?

В редких случаях да — если VPN или прокси на самом сервере подменяет исходящий IP, инфраструктура CFX может регистрировать сервер по адресу, который не совпадает с реальным внешним IP, и клиенты не смогут подключиться, даже увидев сервер в списке.

Нужно ли менять sv_master1 на резервный или альтернативный адрес?

Без явной рекомендации от документации Cfx.re менять этот конвар не стоит — используйте значение, которое поставляется в стандартном server.cfg по умолчанию.