RCON Troubleshooting
Типовые ошибки подключения RCON (WebRCON/TCP) и быстрые решения.
Быстрый принцип
- Сначала пробуется WebRCON (WebSocket): Rust режим
+rcon.web 1, подключение по схемеws://HOST:PORT/PASSWORD. - Если WebRCON не работает — fallback на TCP: Rust режим
+rcon.web 0(legacy Source RCON). - В админке
/admin/connect-shopесть блок «Диагностика RCON» — он показывает выбранный режим (WEBRCON/TCP) и причины ошибок.
1) «Порт закрыт / недоступен»
Симптом: таймаут / "socket connect failed" / соединение не устанавливается.
Причина: порт RCON не открыт на Rust-сервере или заблокирован на уровне провайдера.
Решение:
- Откройте порт RCON на Rust-сервере в firewall (ufw/iptables).
- Безопасно: разрешите доступ только с IP веб-сервера (где крутится сайт).
- Проверьте, что порт открыт в панели/фаерволе VDS/хостера.
2) «WebSocket не 101 Switching Protocols»
Симптом: в raw ошибке handshake видно, что сервер отвечает не HTTP/1.1 101.
Причины:
- На указанном порту не WebRCON (ошибочный порт).
- WebRCON выключен (
+rcon.web 0), а вы пытаетесь WebRCON. - Перед Rust RCON стоит прокси/балансер и он не пропускает WebSocket.
Решение:
- Проверьте реальный порт WebRCON в конфиге/параметрах запуска Rust.
- Убедитесь, что включён
+rcon.web 1.
3) «Неверный пароль» / «auth failed»
Симптомы:
- Для TCP:
TCP RCON auth failed - Для WebRCON: handshake может пройти, но команды не выполняются/нет ответа (зависит от реализации сервера).
Решение:
- Сверьте
rcon.passwordна Rust-сервере и пароль в админке. - Убедитесь, что не используете пробелы в начале/конце (в админке лучше вставлять без пробелов).
- Если включён WebRCON (
+rcon.web 1), TCP авторизация почти всегда будет падать.
4) «rcon.ip = 127.0.0.1» при разных машинах
Симптом: порт как будто «не слушает» извне.
Причина: Rust сервер слушает RCON только локально.
Решение: выставить rcon.ip 0.0.0.0 (или нужный внешний IP/VPN IP) и ограничить доступ firewall'ом по IP.
5) Таймаут ожидания ответа на команду
Симптом: подключение прошло, но команда возвращает timeout.
Причины: лаги/нагрузка Rust сервера, нестабильный канал, фильтрация пакетов, нестандартные ответы.
Решение:
- Проверьте нагрузку сервера Rust.
- Убедитесь, что firewall не режет соединение по таймауту.
- Повторите тест командой
server.hostnameилиstatus.
6) Проверка связки магазин ↔ плагин
Если RCON подключился, но выдача не работает:
- Проверьте, что установлен плагин
RustCMSShopна сервере (uMod/Oxide). - Сверьте
API_SECRETв админке и в конфиге плагина. - В админке выполните тестовую команду:
rustcms.test(или вашу тестовую команду плагина). - Посмотрите вывод в блоке «Вывод RCON команд» и логи плагина на Rust сервере.
7) Как открыть порты на сервере?
Если у вас VPS/VDS (вы root), то порты можно открыть через консоль SSH:
Ubuntu (UFW)
# Разрешить исходящие на диапазон 10000-65535 sudo ufw allow out 10000:65535/tcp sudo ufw allow out 10000:65535/udp sudo ufw reload
CentOS (Firewalld)
# Разрешить конкретный порт (например 28082) sudo firewall-cmd --zone=public --add-port=28082/tcp --permanent sudo firewall-cmd --reload
Как открыть АБСОЛЮТНО ВСЕ порты (Только для теста!)
Открытие всех портов делает ваш сервер уязвимым для взлома. Используйте это только временно для проверки, блокирует ли фаервол подключение. После проверки обязательно верните настройки назад!
Вариант 1: Полное отключение фаервола (Самый быстрый способ)
# Ubuntu / Debian (UFW) sudo ufw disable # CentOS / RHEL (Firewalld) sudo systemctl stop firewalld
Вариант 2: Правило "Разрешить всё"
# Ubuntu (UFW) - открыть диапазон 1-65535 sudo ufw allow 1:65535/tcp sudo ufw allow 1:65535/udp # CentOS (Firewalld) sudo firewall-cmd --zone=public --add-port=1-65535/tcp --permanent sudo firewall-cmd --zone=public --add-port=1-65535/udp --permanent sudo firewall-cmd --reload # Iptables (Универсально, сброс всех правил) sudo iptables -P INPUT ACCEPT sudo iptables -P FORWARD ACCEPT sudo iptables -P OUTPUT ACCEPT sudo iptables -F
Hestia CP (Панель управления)
В панелях управления (например, Hestia CP) порты открываются через раздел Настройки (Settings) → Брандмауэр (Firewall).
Необходимо добавить правила:
# Правило 1 (TCP) Action: ACCEPT Protocol: TCP Port: 10000-65535 IP: 0.0.0.0/0 # Правило 2 (UDP) Action: ACCEPT Protocol: UDP Port: 10000-65535 IP: 0.0.0.0/0
Если у вас обычный хостинг (Web Hosting):
- Вы не можете открыть порты сами.
- Напишите в техподдержку с просьбой открыть исходящие TCP соединения на порт вашего Rust сервера.
- Используйте готовый шаблон обращения, который генерируется в админке при ошибке подключения.