Плагин для серверов Майнкрафт на Paper, предназначенный для банов и защиты от нарушителей. Он хранит наказания по UUID игрока, поддерживает общую базу для нескольких серверов и помогает находить связанные аккаунты по истории IP-адресов.
Возможности
- Постоянные, временные и тихие баны с автоматическим снятием по окончании срока.
- Просмотр истории наказаний и отмена наказаний игрока.
- Проверка связанных аккаунтов по IP, уведомления администрации и необязательный автобан таких аккаунтов.
- Синхронизация банов между серверами через общую базу данных; для неё можно использовать Redis или периодический опрос базы.
- Настраиваемые сообщения при отключении игрока в формате MiniMessage с подстановками имени, причины и оставшегося времени.
- Веб-панель с REST API и входом по JWT: история наказаний, поиск игроков и связанных аккаунтов, бан и разбан.
- Асинхронная работа с базой, локальный кеш активных банов и отдельный поток для операций ввода-вывода, чтобы не снижать TPS сервера.
Команды
/ban <player> <reason> [-t <duration>] [-s]— забанить игрока;-tзадаёт срок,-sвключает тихий бан./unban <player>— снять бан./history <player>— показать историю наказаний./punishundo <player> [reason]— отменить наказания игрока.
Срок указывается с суффиксом: s — секунды, m — минуты, h — часы, d — дни, w — недели, M — месяцы, y — годы. Например: /ban Player123 Читы -t 7d.
Права
rapidban.*— все права плагина.rapidban.ban— бан игроков.rapidban.unban— снятие банов.rapidban.history— просмотр истории.rapidban.undo— отмена наказаний.rapidban.notify— уведомления о наказаниях.rapidban.notify.alt— уведомления о связанных аккаунтах.
Настройка
Основные параметры находятся в config.yml: идентификатор сервера server-id, тип базы database.type, параметры MySQL/MariaDB или путь к SQLite-файлу database.sqlite.file.
В разделе sync задаются интервал синхронизации interval-seconds и Redis через use-redis. Проверка IP настраивается ключами ip-check.enabled, ip-check.auto-ban-alts и ip-check.notify-staff. Для веб-панели используются параметры web.enabled, web.host, web.port, web.jwt-secret, web.admin-username и web.admin-password.
Требования
Для одного небольшого сервера подходит SQLite. Для сети серверов требуется MySQL или MariaDB с общей базой; Redis используется по желанию для синхронизации.
