Плагин для серверов Майнкрафт на Paper и Purpur, который защищает аккаунты, опасные команды, права операторов и подключения игроков. Он использует Discord для двухфакторной проверки, подтверждения действий, журналов и связи с сервером.
Возможности
- Регистрация и вход через встроенные диалоги Майнкрафт: игрок не попадёт в мир до успешной проверки. Пароли хранятся в виде хешей с PBKDF2 и солью.
- Двухфакторная проверка игроков и сотрудников через личные сообщения Discord. До подтверждения сотрудник не может двигаться, писать в чат, выполнять команды и взаимодействовать с миром.
- Подтверждение опасных команд в Discord с кнопками одобрения и отклонения. Защита распространяется и на подкоманды; статус оператора не даёт автоматического обхода.
- Проверка смены режима игры, включая
F3+F4,/gamemode,/gmиminecraft:gamemode. - Блокировка команд из
warningcommand.yml, защита редактирования Shopkeeper и временный доступ к нему после подтверждения. - Проверка подключений через VPN, прокси, Tor и сети хостингов, а также защита от ботов: массовых подключений, повторных входов с одного IP, множества аккаунтов с одного IP и подозрительных имён.
- Автоматическое снятие прав оператора при выходе игрока.
- Канал Discord с консолью сервера и выполнением консольных команд; доступ можно ограничить идентификаторами пользователей Discord.
- Журнал команд в Discord с маскировкой паролей.
- Мост чата между Майнкрафт и Discord: сообщения, входы и выходы, смерти, достижения, состояние сервера, список игроков и ответ с адресом сервера.
- Менеджер игроков во встроенном диалоге: поиск, список онлайн и офлайн игроков, статистика и редактирование инвентаря, панели быстрого доступа, брони и второй руки. Изменения сразу синхронизируются с игроком в сети.
Команды
/roguard reload— перезагрузить конфигурацию и языковые файлы./roguard status— показать состояние ботов и функций защиты./roguard settings— открыть диалог настроек./roguard playermanager— открыть менеджер игроков./changepassword <старый пароль> <новый пароль>— сменить пароль своего аккаунта./2fa start— создать шестизначный код для привязки Discord./2fa disable— отключить проверку игрока и удалить привязку Discord./unregister <игрок>— удалить зарегистрированный аккаунт игрока.
Права
roguard.reload—/roguard reload.roguard.status—/roguard status.roguard.settings— доступ к диалогу настроек.roguard.playermanager— доступ к менеджеру игроков и редактированию инвентаря.roguard.unregister— удаление аккаунтов игроков.roguard.*— все административные права плагина.
Обход защищённых команд задаётся через userbypass.yml, а не через статус оператора.
Настройка
protect.yml— токен бота защиты, каналы Discord, переключатели функций, Anti-VPN, Anti-Bot, менеджер игроков, доступ к консоли.auth.yml— длина пароля, срок входа, число попыток, сессии и параметры диалогов.2fa.yml— бот и параметры привязки Discord.discordchat.yml— бот чата, канал, вебхук, адрес сервера и ответы с ним.command.yml— подтверждаемые команды, обходы для доверенных плагинов и защита Shopkeeper.warningcommand.yml— полностью заблокированные команды.userbypass.yml— постоянные и временные обходы защиты.staff.yml— имена сотрудников и их идентификаторы Discord.language.yml— все сообщения, названия и подписи диалогов.botrequirement.yml— нужные права и разрешения ботов Discord.
Временные обходы из userbypass.yml удаляются при выходе игрока или перезапуске сервера. В playerdata/ хранятся данные зарегистрированных игроков, хеши паролей, привязки Discord, сведения о входах и IP.
Требования
Нужны Paper или Purpur и Java 17 либо новее. Для всех функций требуются три отдельных бота Discord: для защиты, чата и двухфакторной проверки. Им нужны разрешение Message Content Intent и права на просмотр каналов, отправку сообщений, встраивание ссылок, чтение истории и использование внешних эмодзи; боту двухфакторной проверки также нужно удаление сообщений. Для моста чата нужен вебхук в канале Discord, а игрокам и сотрудникам следует разрешить личные сообщения от сервера Discord.
