RAGE:MP: клиент не может подключиться к серверу
Сервер RAGE:MP поднялся, в консоли всё чисто, а игрок жмёт «Connect» и упирается в вечную загрузку или сухое «Connection failed». Знакомая история почти для любого, кто разворачивал RAGE:MP впервые — платформа не FiveM, грабли у неё свои, и гадать бесполезно, потому что причин на самом деле немного и они проверяются по порядку за пять минут. Ниже — рабочий чек-лист от «сервер вообще жив» до «провайдер или файрвол режут трафик».
Содержание
Шаг 1: сервер действительно запущен и слушает нужный порт
Прежде чем лезть в файрвол и версии клиента, убедитесь, что процесс сервера жив и реально висит на порту, который вы дали игрокам. Если сервер запущен как systemd-юнит (как в инструкции по установке RAGE:MP):
sudo systemctl status ragemp
journalctl -u ragemp -n 50 --no-pager
Проверьте, что процесс слушает порт из conf.json:
ss -tulnp | grep 22005
Если строки нет — сервер либо не поднялся вообще (смотрите лог на ошибки при старте — часто это битый packages/ без index.js или неправильный JSON в conf.json), либо слушает другой порт, потому что вы поменяли port в конфиге, а игрокам дали старое значение. Отдельная частая история — сервер запущен вручную в SSH-сессии и упал вместе с обрывом соединения; если процесса ragemp-server нет в выводе ps aux | grep ragemp-server, дальше искать проблему в сети смысла нет, сначала поднимите сам сервер.
Порт 22005 и 22006: пробросьте оба, а не один
Это причина номер один, если сервер в списке или по прямому IP игрок вообще не видит. RAGE:MP использует не один порт, а связку из двух с разными протоколами:
| Порт | Протокол | Назначение |
|---|---|---|
22005 (значение port из conf.json) | UDP | Основной игровой трафик — синхронизация позиций, стрельбы, чата |
22006 (port + 1) | TCP | HTTP-запросы клиента к серверу: список ресурсов, загрузка CEF-контента, статика |
Частая ошибка — открыть только UDP 22005, потому что «это же игровой порт», и забыть про TCP 22006. Результат почти всегда один: клиент видит сервер в браузере серверов, коннект даже стартует, но зависает на загрузке или интерфейс/UI не появляется — это как раз недогруженный CEF-контент через TCP-порт.
Если сервер стоит на своей VPS с публичным IP без NAT — хватает файрвола на самой машине:
sudo ufw allow 22005/udp
sudo ufw allow 22006/tcp
sudo ufw status
На iptables напрямую:
sudo iptables -A INPUT -p udp --dport 22005 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22006 -j ACCEPT
Если поменяли port в conf.json на нестандартный (например, 22015) — второй порт для TCP сдвигается вместе с ним: это всегда port + 1, отдельно прописывать его в конфиге не нужно, но в файрволе открывать нужно оба вручную.
Хостинг с готовым панельным деплоем игровых серверов (в т.ч. MAATRIX GAMES) обычно пробрасывает оба порта автоматически при создании инстанса — этот шаг можно пропустить и сразу переходить к следующему. А вот если сервер за домашним роутером или на VPS с NAT от провайдера — проброс нужен ещё и на уровне роутера/панели хостинга, одного ufw будет недостаточно: пакеты просто не дойдут до внутреннего адреса машины. Общая логика такого проброса и типичные ошибки роутеров разобраны в статье про настройку портов и файрвола для игрового сервера.
Проверить порт снаружи (обязательно с другого устройства, не с самого сервера):
nmap -sU -p 22005 ВАШ_IP
nmap -p 22006 ВАШ_IP
UDP-сканирование не всегда даёт однозначный ответ «закрыто» — иногда nmap пишет open|filtered, потому что UDP не гарантирует ответ. Если сомневаетесь — надёжнее попросить реального игрока с другого интернет-канала попробовать подключиться и прислать, на каком этапе виснет клиент.
Поднять сервер RAGE:MP за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверВерсия клиента RAGE:MP не совпадает с сервером
RAGE:MP — не игра, которая ставится через Steam, а отдельный лаунчер поверх уже купленной GTA V, и он умеет автообновляться сам при запуске. Если игрок давно не открывал лаунчер, у него может стоять клиент старой сборки, а сервер — работать на текущей. Платформа обычно сама подсказывает игроку, что версия не совпадает, но иногда сообщение об ошибке звучит расплывчато («Connection failed», «Unable to connect») и на первый взгляд кажется проблемой сети, а не версии.
Что проверить и что посоветовать игроку:
- Полностью закрыть лаунчер RAGE:MP (не просто окно игры, а сам лаунчер) и открыть заново — он проверяет обновления при каждом запуске.
- Если автообновление зависло или оборвалось — переустановить лаунчер с rage.mp, не пытаясь донести старые файлы вручную.
- Если проблема на стороне нескольких игроков сразу сразу после того, как вы сами обновили серверные файлы — велика вероятность, что вы обновили
ragemp-server, но клиенты ещё не подтянули соответствующую версию лаунчера; дайте им пару минут и попросите перезапустить лаунчер. - Проверить в логе сервера при подключении конкретного игрока — если там мелькает что-то про несовместимость версии клиента, это подтверждает диагноз напрямую, а не по догадке.
Отдельно стоит не путать это с обновлением самого гейммода в packages/ — смена версии платформы RAGE:MP и обновление вашего RP-режима это два независимых процесса, и рассинхрон возможен по любому из них по отдельности.
Бан по IP или Social Club ID
Если подключиться не может конкретный игрок или узкая группа, а у остальных всё в порядке — это почти наверняка не сеть, а бан. RAGE:MP и большинство гейммодов хранят баны либо во встроенном списке платформы, либо в своей БД (если гейммод пишет баны сам, что типично для RP-серверов на MySQL).
Проверьте на стороне сервера:
- Список банов, который ведёт ваш гейммод (обычно отдельная таблица в БД или JSON-файл, зависит от того, как написан конкретный гейммод — стандартного единого формата банов «из коробки» у RAGE:MP нет).
- Не забанен ли IP игрока на уровне файрвола или fail2ban, если он настроен на сервере — иногда админ банит IP за подозрение на DDoS или флуд подключений, а потом забывает разбанить, и легитимный игрок с тем же IP (например, за NAT провайдера) остаётся отрезанным.
- Если хостинг сам фильтрует трафик антиDDoS-системой — редко, но бывает, что она временно блокирует IP при всплеске переподключений (например, если у игрока нестабильный интернет и клиент долбит реконнектами). В таком случае помогает пауза в несколько минут перед повторной попыткой.
Если баните игроков вручную и хотите массовый инструмент, а не точечные записи в базе — у нас есть отдельный разбор массового бана игроков: скрипты и инструменты, логика применима и к RAGE:MP-гейммодам с БД.
conf.json: bind, announce и другие ловушки конфига
Даже с открытыми портами сервер может быть недоступен снаружи из-за пары полей в conf.json, которые легко упустить:
{
"bind": "0.0.0.0",
"port": 22005,
"announce": true,
"maxplayers": 100
}
bind— если оставить дефолтный127.0.0.1, сервер честно поднимется и в логах будет всё чисто, но снаружи VPS окажется недоступен вообще: он слушает только «сам себя». На публичном VPS всегда нужен0.0.0.0.announce— если стоитfalse, сервер не появляется в браузере серверов лаунчера, и игроки, которые ищут его по имени, просто не находят. Это не баг подключения как такового, но выглядит для игрока точно так же — «сервера нет». Еслиannounce: false— подключайтесь строго вручную поIP:portчерез соответствующее поле в лаунчере.maxplayers— банальность, но нередко забывают: если слоты заполнены, новый игрок получает отказ, который легко спутать с сетевой проблемой. Проверьте текущий онлайн против лимита.
После правки conf.json сервер обязательно нужно перезапускать полностью — горячей подгрузки конфига на лету здесь нет. Если параллельно администрируете и FiveM, и RAGE:MP — разница в структуре packages//client_packages/ и конфигах разобрана в статье установка RAGE:MP и чем она отличается от FiveM.
Локальная сеть и интернет — не путайте два разных теста
Классическая ловушка: вы тестируете подключение с той же машины или того же домашнего роутера, где стоит сервер, всё работает — и делаете вывод, что с сетью всё в порядке. На деле локальное подключение и NAT-loopback (hairpin NAT) на многих роутерах ведут себя иначе, чем реальный трафик извне.
Правильная схема проверки:
- С той же сети, где сервер — подключение по локальному IP проверяет только то, что процесс жив.
- Извне, с другого интернет-канала (мобильный интернет, друг из другого города, VPN на внешнюю точку) — подключение по внешнему белому IP. Это и есть проверка «доступен ли сервер реальным игрокам».
Если шаг 1 работает, а шаг 2 — нет, проблема почти гарантированно в портах (см. выше) или в NAT/CGNAT у провайдера, а не в самом сервере или гейммоде. Если сервер арендован на VPS в дата-центре, а не стоит у вас дома — обычно белый IP без NAT сразу, и путаница локалка/интернет тут почти не встречается; она характерна в первую очередь для домашних серверов за роутером.
Поднять сервер RAGE:MP за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Клиент виснет на загрузке ресурсов, а не сразу отваливается — в чём разница?
Зависание именно на загрузке чаще всего означает, что открыт UDP 22005, но не открыт TCP 22006 — основное соединение установилось, а HTTP-часть с CEF-контентом не догружается.
У одного игрока не подключается, у остальных всё нормально — с чего начать?
С проверки бана по IP/аккаунту и версии его лаунчера — это две самые частые точечные причины, в отличие от портов и bind, которые ломают доступ сразу всем.
Нужно ли переустанавливать GTA V, если клиент не подключается?
Почти никогда. GTA V и лаунчер RAGE:MP — разные вещи; проблема подключения в 95% случаев в порту, версии лаунчера или конфиге сервера, а не в самой игре.
Сервер виден в браузере серверов, но connect всё равно обрывается?
Значит трафик до сервера в принципе идёт (иначе он бы не отобразился), и дело либо в TCP 22006, либо в бане, либо в лимите maxplayers — сузьте причину логами сервера в момент попытки подключения.
Помогает ли просто перезапустить сервер?
Иногда да, если конфиг был изменён без перезапуска — RAGE:MP не подхватывает conf.json на лету. Но если проблема в портах, версии клиента или бане, перезапуск сервера ничего не изменит.