Rust Руководство

Управление сервером Rust через консоль RCON: CLI-утилиты, скрипты автоматизации и безопасность

Консольное управление сервером Rust через протокол RCON: настройка портов и WebSocket, сетевой фильтр UFW, утилита mcrcon и автоматизация плановых сохранений мира по cron.

Управление сервером Rust через консоль RCON: CLI-утилиты, скрипты автоматизации и безопасность

Удалённое администрирование выделенного сервера Rust опирается на протокол RCON (Remote Console). В отличие от управления через громоздкие графические панели, консольные CLI-утилиты позволяют автоматизировать регулярные задачи — отправку предупреждений игрокам, принудительное сохранение карты server.save, кик читеров и сбор метрик нагрузки — с помощью стандартных bash-скриптов и планировщика cron.

В этой статье мы подробно разберём параметры конфигурации протокола RCON в Rust, безопасность сетевых сокетов, использование CLI-инструментов для отправки команд и построение скриптов автоматизации обслуживания сервера.

Конфигурация RCON в Rust: порты и WebSocket#

Современный сервер Rust поддерживает два режима RCON: традиционный Source RCON и WebSocket RCON (рекомендуемый, активируется параметром +rcon.web 1).

Проверьте текущие параметры подключения в файле конфигурации сервера:

bash
cat /opt/rust-server/server/my_server_identity/cfg/server.cfg | grep -E "rcon\."

Ключевые параметры:

  • rcon.port 28016 — порт для приёма команд управления.
  • rcon.password "SuperSecretPass123" — пароль доступа.
  • rcon.web 1 — включает режим WebSocket для интеграции с внешними инструментами.

Сетевая безопасность и изоляция порта 28016#

Порт RCON никогда не должен быть открыт для публичного интернета без фильтрации. Злоумышленники используют ботнеты для перебора паролей (brute force), что может привести к полному перехвату контроля над сервером.

Ограничьте доступ к порту 28016 через системный фаервол UFW, разрешив подключения только с вашего статического административного IP-адреса:

bash
sudo ufw allow from 192.168.1.100 to any port 28016 proto tcp

Если скрипты управления выполняются локально на том же сервере, привяжите RCON к локальной петле rcon.ip 127.0.0.1.

Установка легковесного RCON CLI клиента#

Для выполнения команд из терминала и скриптов отлично подходит компиляция утилиты mcrcon или аналогичных инструментов:

bash
curl -sL https://raw.githubusercontent.com/Tiiffi/mcrcon/master/mcrcon.c -o /tmp/mcrcon.c && gcc /tmp/mcrcon.c -o /usr/local/bin/mcrcon && chmod +x /usr/local/bin/mcrcon

После компиляции проверьте работоспособность соединения и запросите информацию о сервере:

bash
mcrcon -H 127.0.0.1 -P 28016 -p "SuperSecretPass123" "serverinfo"

Команда вернёт JSON-структуру с текущим FPS сервера, числом подключенных игроков, использованием оперативной памяти и счетчиком игровых сущностей (entities).

Скрипт автоматического сохранения и оповещения игроков#

Используйте следующий bash-скрипт для отправки глобального уведомления в игровой чат и принудительного сохранения мира перед ночным бэкапом:

bash
#!/bin/bash
RCON_HOST="127.0.0.1"
RCON_PORT="28016"
RCON_PASS="SuperSecretPass123"

/usr/local/bin/mcrcon -H $RCON_HOST -P $RCON_PORT -p $RCON_PASS "say [SERVER] Automated save initiated..."
/usr/local/bin/mcrcon -H $RCON_HOST -P $RCON_PORT -p $RCON_PASS "save"

Добавьте выполнение скрипта в планировщик задач Linux:

bash
crontab -l | grep rcon

Если вам нужен мощный и защищенный сервер Rust с автоматическим расписанием вайпов, веб-консолью RCON и защитой от DDoS-атак без сложной ручной настройки сети, специализированный хостинг серверов Rust предоставляет все необходимые инструменты в интуитивном интерфейсе.

Источники#