Протокол RCON (Remote Console) в сервере Minecraft позволяет администраторам выполнять консольные команды удалённо, не открывая интерактивную сессию в терминале. Это незаменимо для автоматизации ночных перезапусков, оповещения игроков в чате перед техобслуживанием и синхронизации миров с резервными копиями. Однако протокол RCON в Minecraft передаёт сетевые пакеты в открытом виде без шифрования TLS, что делает его опасной точкой отказа при неправильной настройке фаервола.
В этом практическом руководстве мы разберём правильную настройку RCON в файле server.properties, изоляцию сетевого порта TCP 25575, отправку команд через bash-утилиту mcrcon и автоматизацию обслуживания с помощью скриптов на Python.
Настройка RCON в файле server.properties#
По умолчанию в ванильном сервере и ядрах Paper/Purpur протокол RCON отключен. Для его активации проверьте текущие значения параметров:
grep -E "rcon" /opt/minecraft/server.properties
Установите следующие директивы в файле /opt/minecraft/server.properties:
enable-rcon=true
rcon.port=25575
rcon.password=SuperSecretPassword987
broadcast-rcon-to-ops=false
enable-rcon=true— активирует приём команд по протоколу RCON.rcon.port=25575— стандартный сетевой порт TCP для RCON в Minecraft.rcon.password— сложный пароль доступа (минимум 16–20 символов).broadcast-rcon-to-ops=false— отключает спам служебными сообщениями в игровой чат операторам сервера при каждом автоматическом вызове команды.
Сетевая безопасность и изоляция порта в фаерволе UFW#
Поскольку аутентификационные токены и команды RCON передаются по сети в открытом виде (plaintext), порт 25575 строго запрещено открывать в публичный интернет. Злоумышленник может перехватить пароль или организовать перебор комбинаций.
Ограничьте доступ к порту исключительно локальной петлей 127.0.0.1 (если скрипты выполняются на том же сервере):
sudo ufw allow from 127.0.0.1 to any port 25575 proto tcp && sudo ufw reload
Если вам необходимо отправлять команды с внешнего сервера мониторинга, разрешите входящие подключения строго с одного доверенного статического IP-адреса администратора.
Установка легковесного клиента mcrcon для bash-скриптов#
Для интеграции с cron и bash-пайплайнами идеально подходит утилита mcrcon, скомпилированная на языке C:
which mcrcon || (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)
Автоматизация обслуживания с помощью скриптов на Python#
Если ваша инфраструктура использует ботов Discord или веб-сервисы, команды в RCON удобно отправлять через скрипты на Python:
import socket
def send_rcon(host, port, password, command):
# Lightweight socket execution demonstration
print(f"Connecting to {host}:{port} to execute: {command}")
send_rcon("127.0.0.1", 25575, "SuperSecretPassword987", "say [SERVER] Maintenance warning")
Выполнение принудительной синхронизации мира перед бэкапом#
Классический сценарий применения RCON — подготовка мира к архивации без остановки сервера:
mcrcon -H 127.0.0.1 -P 25575 -p "SuperSecretPassword987" "save-all flush"
Команда принудительно записывает все несохранённые блоки из оперативной памяти на накопитель, предотвращая повреждение файлов .mca при последующем создании снимка.
Если вы хотите управлять мирами Minecraft через удобный веб-интерфейс с готовыми триггерами перезапуска и планировщиком без ручной компиляции CLI-утилит, специализированный хостинг серверов Minecraft предоставляет защищенную веб-консоль управления из коробки.




