RCON в Minecraft: что это и нужен ли он для автодоната
RCON - протокол удалённой консоли: программа подключается к серверу по паролю и выполняет команды, как будто их ввели в консоли. Часть сервисов доната выдаёт покупки именно так. aDonate работает иначе: плагин сам забирает покупки по HTTPS, и RCON для этого не нужен. Ниже - как устроен RCON, как включить его безопаснее и в чём разница подходов.
Как включить RCON
RCON настраивается в server.properties:
enable-rcon=true
rcon.port=25575
rcon.password=длинный-случайный-пароль
broadcast-rcon-to-ops=falseПосле перезапуска сервер слушает порт 25575. К нему подключаются клиентом RCON, например mcrcon, панелью хостинга или ботом. broadcast-rcon-to-ops=false убирает из чата операторов сообщения о командах, выполненных через RCON.
Почему RCON опасен открытым
- Пароль и команды передаются без шифрования: их может прочитать любой, кто видит трафик между клиентом и сервером.
- Кто знает пароль, получает всю консоль: может выдать себе оператора, остановить сервер, выполнить любую команду любого плагина.
- Открытый порт находят сканеры, а ванильный сервер не ограничивает число попыток ввести пароль.
Если RCON нужен, закройте его порт файрволом для всех адресов, кроме своих, и задайте длинный случайный пароль.
Выдача через RCON и через плагин
| Через RCON | Через плагин aDonate | |
|---|---|---|
| Кто к кому подключается | Сервис доната к вашему серверу | Сервер к aDonate по HTTPS |
| Открытые порты | Порт RCON доступен сервису | Не нужны |
| Что хранится у сервиса | Пароль от всей консоли | Ключ магазина: выдача и корзины этого магазина, без консоли |
| Игрок не в сети | Зависит от сервиса: команда часто выполняется сразу | Покупка ждёт, пока игрок зайдёт |
| Сбой связи | Команда может потеряться или выполниться дважды | Покупка подтверждается после выдачи, повтор узнаётся по номеру |
Плагин видит, что игрок на экране смерти или ещё не вошёл по паролю, и ждёт. До выдачи он проверяет, что команда и группа есть на сервере, а покупки, которые выдать нельзя, держит в ящике игрока до исправления настройки.
Когда RCON всё-таки нужен
RCON удобен для администрирования: панели хостинга, Discord-боты, скрипты резервного копирования. Для этого включайте его с закрытым портом. Для доната на aDonate достаточно плагина, см. «Как сделать донат на сервере Minecraft».
В Rust тоже есть удалённая консоль, и плагин aDonate для Rust тоже обходится без неё: инструкция для Rust.