📋 STVReports — Система жалоб для Minecraft
Описание
STVReports — полноценная система жалоб (репортов) для вашего Minecraft-сервера. Игроки подают жалобы командой /report, модераторы обрабатывают их через удобный GUI-интерфейс прямо в инвентаре. Плагин объединяет жалобы на одного игрока в стаки, ведёт архив рассмотренных репортов, автоматически удаляет устаревшие записи и интегрируется с LiteBansПодходит для серверов любого размера — от небольших ванильных до крупных проектов с командой модераторов.
Возможности
Для игроков
- Подача жалоб командой /report <ник> <причина> с автодополнением причин через TAB
- Защита от спама: настраиваемый кулдаун между репортами
- Информативные сообщения о статусе жалобы
Для модераторов
- GUI-панель (/reports) — список всех активных жалоб в виде голов игроков с подробной информацией
- Фильтрация по статусу: все / онлайн / офлайн
- Быстрые действияв GUI:
- ЛКМ — отклонить жалобу (с баном на репорты за ложный донос)
- ПКМ — принять жалобу
- Shift+ПКМ — телепортироваться к нарушителю
- Подтверждение отклонения через отдельное GUI-меню
- Команда /reports check <ник> — быстрая проверка репортов на игрока
- Команда /reports whyban <ник> — полный отчёт: активные репорты + архив рассмотренных + последний бан из LiteBans с расчётом времени между репортом и баном
Стакинг репортов
Если на одного игрока поступает несколько жалоб, они объединяются в один стак. В GUI отображается общее количество жалоб, список заявителей и причины. Количество предметов в слоте соответствует числу жалоб — самые проблемные игроки видны сразу.Бан на репорты
Модераторы могут временно заблокировать подачу жалоб игрокам, злоупотребляющим системой. Бан на репорты выдаётся через /reports ban <ник> <время> или автоматически при отклонении ложной жалобы через GUI.Архив и история
Рассмотренные жалобы не исчезают бесследно — они сохраняются в отдельной таблице с информацией о том, кто и как их рассмотрел. Архив доступен через /reports whyban и при выгрузке отчётов.Выгрузка отчётов
Команда /reports upload <ник|all> формирует текстовый отчёт и загружает его на pastebin (dpaste/hastebin). Удобно для передачи информации между модераторами или сохранения доказательств.База данных
- SQLite — работает из коробки, файл reports.db в папке плагина
- MySQL — для сетей серверов и проектов с общей базой данных
- Асинхронные операции — плагин не блокирует основной поток сервера
Интеграции
- LiteBans — автоматический подхват данных о банах, отображение в /reports whyban и в выгрузках. Поддержка как собственной БД, так и БД через STVStats
Команды
| Команда | Описание | Право |
|---|---|---|
| /report <ник> <причина> | Подать жалобу на игрока | reports.use |
| /reports | Открыть GUI-панель жалоб | reports.mod |
| /reports ban <ник> <время> | Заблокировать подачу репортов | reports.ban |
| /reports unban <ник> | Снять блокировку | reports.ban |
| /reports check <ник> | Проверить репорты на игрока | reports.check |
| /reports whyban <ник> | Полный отчёт по игроку | reports.whyban |
| /reports upload <ник|all> | Выгрузить отчёт на pastebin | reports.upload |
| /reports clearall | Очистить все жалобы | reports.clearall |
| /reports reload | Перезагрузить конфигурацию | reports.reload |
| /reports help | Список команд | reports.help |
Права (Permissions)
| Право | Описание | По умолчанию |
|---|---|---|
| reports.use | Подача жалоб | Все игроки |
| reports.mod | Доступ к GUI и всем подкомандам | OP |
| reports.ban | Блокировка подачи репортов | OP |
| reports.bypass | Защита от жалоб (на игрока нельзя пожаловаться) | OP |
| reports.exempt | Защита от бана репортов | OP |
| reports.teleport | Телепорт к игроку из GUI | OP |
| reports.reload | Перезагрузка конфигурации | OP |
| reports.clearall | Очистка всех жалоб | OP |
| reports.check | Команда /reports check | OP |
| reports.whyban | Команда /reports whyban | OP |
| reports.upload | Выгрузка отчётов | OP |
Установка
- Поместите файл STVReports.jar в папку plugins/ вашего сервера
- Перезапустите сервер
- Отредактируйте plugins/STVReports/config.yml под ваши нужды
- Примените изменения: /reports reload
Настройка
Все параметры находятся в двух файлах и изменяются без перекомпиляции:- config.yml — база данных, тайминги, GUI-настройки, интеграции, список причин для TAB-автодополнения
- messages.yml — все тексты плагина с поддержкой цветовых кодов (&-формат) и плейсхолдеров
settings:
report-lifetime-minutes: 5760 # Время жизни репорта (4 дня)
stacking-enabled: true # Объединение жалоб на одного игрока
report-cooldown-seconds: 60 # Кулдаун между репортами
require-online-target: true # Требовать онлайн цель
purge-interval-minutes: 5 # Интервал авто-очистки
command-teleport: "" # Своя команда телепорта (например: "spec {player}")
disabled-worlds: [] # Миры, где репорты отключены
Зависимости
Обязательные: нет (работает автономно)Опциональные (softdepend):
- LiteBans — для интеграции с историей наказаний
Поддерживаемые версии
- Paper / Spigot 1.16.5+
- Java 8+
- SQLite (встроен) или MySQL 5.7+ / MariaDB
FAQ
Можно ли использовать на нескольких серверах с одной БД?Да. Укажите тип mysql и настройте общую базу. Используйте разный table-prefix если нужны раздельные данные.
Что происходит, если БД недоступна при старте?
Плагин продолжит работу в режиме in-memory. Жалобы будут приниматься, но не сохранятся между перезапусками.
Как настроить свою команду телепорта?
В config.yml параметр command-teleport. Например: "spec {player}" — выполнится от имени модератора. Если оставить пустым — используется стандартный Bukkit-телепорт.
Скриншоты
Контакты
Автор: sovereignTVПо вопросам, предложениям и багрепортам — обращайтесь в личные сообщения.