Плагин для серверов Майнкрафт для модерации чата и защиты от нежелательных слов. Он проверяет сообщения, команды, книги, таблички, названия и описания предметов, а также имена игроков; для нарушений можно настроить замену текста, отмену действия и наказания.
Возможности
- Поиск слов на основе DFA, включая проверку контекста из нескольких сообщений.
- Фильтрация чата и аргументов команд, книг, табличек, переименований в наковальне, названий и описаний предметов, имён игроков и объявлений.
- Режимы
REPLACEдля замены найденного текста иCANCELдля отмены действия. - Отдельные уровни нарушений для чата, ИИ-проверки, книг, табличек, наковальни и предметов.
- Наказания
COMMAND,COMMAND_PROXY,DAMAGE,HOSTILE,EFFECTиSHADOW. - Необязательная ИИ-проверка сообщений, не найденных обычным фильтром. Она может уведомлять модераторов, вести журнал, повышать отдельный уровень нарушений и запускать настроенные действия.
- Интеграции с TrChat, PacketEvents, PlaceholderAPI, floodgate и AuthMe.
Команды
/asw help [query]— справка./asw status— состояние плагина./asw ai status— состояние ИИ-проверки./asw reload [all|config]— перезагрузка конфигурации либо конфигурации и словарей./asw test <text...>— проверка текста фильтром./asw word add/remove <word> [word...]— добавить или удалить запрещённые слова до перезагрузки словаря или сервера./asw allow add/remove <word> [word...]— изменить список разрешённых слов до перезагрузки словаря или сервера./asw player info <online-player>— показать уровни нарушений игрока./asw player reset <online-player> [module]— сбросить уровни нарушений./asw player punish <online-player> [method...]— применить ручное наказание./asw teleport <world-id> <x> <y> <z>— телепортировать сотрудника к отмеченному месту.
Команды /asw и /advancedsensitivewords равнозначны.
Права
advancedsensitivewords.bypass— обход фильтра.advancedsensitivewords.notice— уведомления для модераторов.advancedsensitivewords.command.*— все команды управления.advancedsensitivewords.command.help,advancedsensitivewords.command.status,advancedsensitivewords.command.ai.status— справка и просмотр состояния.advancedsensitivewords.command.reload.all,advancedsensitivewords.command.reload.config— перезагрузка.advancedsensitivewords.command.test— проверка текста.advancedsensitivewords.command.word.add,advancedsensitivewords.command.word.remove— управление запрещёнными словами.advancedsensitivewords.command.allow.add,advancedsensitivewords.command.allow.remove— управление разрешёнными словами.advancedsensitivewords.command.player.info,advancedsensitivewords.command.player.reset,advancedsensitivewords.command.player.punish— работа с нарушениями и наказаниями игроков.
Настройка
Основной файл: plugins/AdvancedSensitiveWords/config.yml. Язык задаётся ключом plugin.language, а проверка чата и редактирования табличек — plugin.enable-chat-check и plugin.enable-sign-edit-check.
В chat.method выберите REPLACE или CANCEL. Поддельное сообщение для автора и отдельный вид таблички доступны только при CANCEL.
Список chat.command-white-list определяет одновременно команды и аргументы, которые проверяются. Аргументы нумеруются после пути команды, начиная с 1; -1 означает последний аргумент, а 2.. — все аргументы со второго до конца.
ИИ-проверка включается через ai.enabled после настройки совместимого провайдера и ключа API. Журнал запросов и ответов хранится в plugins/AdvancedSensitiveWords/llm-history/ и содержит служебные данные.
Требования
Плагин предназначен для Paper и требует Java 21. Для уведомлений и команд через прокси нужен Velocity с соответствующим модулем; сам модуль прокси не фильтрует чат.
PacketEvents нужен только для поддельного отображения отменённой таблички. PlaceholderAPI при включённом plugin.enable-placeholder добавляет плейсхолдеры %asw_version%, %asw_total_filtered%, %asw_is_shadow% и %asw_violation_count%. Для ИИ-проверки серверу нужен доступ к сети либо кэш библиотек Paper при первом запуске.
