Иконка ресурса

Бесплатная версия pnChatFilter (hChatFilter) 1.0

Поддерживаемые версии
  1. 1.16
  2. 1.17
  3. 1.18
  4. 1.19
  5. 1.20
  6. 1.21

pnChatFilter — Документация​


Описание​

pnChatFilter — комплексный фильтр чата для Paper-серверов. Блокирует рекламу (IP-адреса, ссылки), капслок, нестандартные UTF-символы и запрещённые слова. Умеет фильтровать не только обычный чат, но и личные сообщения, команды и таблички. Модераторы получают уведомления о каждом нарушении в реальном времени.

Команды​

КомандаОписаниеПраво
/chatfilterПоказать версию и текущий режимpnchatfilter.admin
/chatfilter reloadПерезагрузить конфигурациюpnchatfilter.admin
Алиасы: /cf, /pcf

Права​

ПравоОписаниеПо умолчанию
pnchatfilter.adminДоступ к командам плагинаop
pnchatfilter.moderПолучать уведомления о нарушенияхfalse
pnchatfilter.bypass.allОбход всех фильтровfalse
pnchatfilter.bypass.adsОбход фильтра IP/рекламыfalse
pnchatfilter.bypass.capsОбход фильтра капсаfalse
pnchatfilter.bypass.utfОбход фильтра UTF-символовfalse
pnchatfilter.bypass.wordsОбход фильтра словfalse

Конфигурация​

settings — Основной режим работы​

Код:
settings:
  mode: "replacement"   # replacement — заменить, delete — удалить сообщение
  replacement: "*"      # символ замены для lowTarget слов
ПараметрТипОписание
modereplacement / deleteЧто делать с lowTarget словами: заменить символом или удалить всё сообщение
replacementстрокаСимвол, которым заменяется каждый символ запрещённого слова
Рекомендуется replacement — режим delete может конфликтовать с некоторыми чат-плагинами.

blockIpAddress — Антипиар (IP-адреса)​

Код:
blockIpAddress:
  enable: true
  allowedIps:
    - "127.0.0.1"
    - "127 0 0 1"
    - "127,0,0,1"
Блокирует сообщения, содержащие IP-адреса в любом формате: 1.2.3.4, 1,2,3,4, 1 2 3 4.
ПараметрТипОписание
enablebooleanВключить/выключить блокировку IP
allowedIpsсписокIP-адреса, которые разрешено упоминать (белый список)

checkedCommands — Фильтрация команд​

Код:
checkedCommands:
  - "/msg $arg"
  - "/tell $arg"
  - "/broadcast"
Список команд, аргументы которых проверяются фильтрами. $arg указывает, что фильтруется всё после первого аргумента (имени игрока). Если $arg не указан — фильтруется вся строка после команды.
Пример: /msg Steve купи на mc.example.com — проверится текст купи на mc.example.com.

antiCaps — Антикапс​

Код:
antiCaps:
  enable: true
  minLength: 4
  maxCapsPercent: 30
ПараметрТипОписание
enablebooleanВключить/выключить антикапс
minLengthчислоМинимальная длина сообщения для проверки
maxCapsPercentчисло (0–100)Максимальный процент заглавных букв
При срабатывании сообщение автоматически переводится в нижний регистр (не удаляется).

blockUtf — Блокировка нестандартных символов​

Код:
blockUtf:
  enable: true
  allowedChars: "abcdefghijklmnopqrstuvwxyz..."
  allowedLanguages:
    - "russian"
    - "english"
    - "european"
    - "numbers"
    - "punctuation"
ПараметрТипОписание
enablebooleanВключить/выключить UTF-фильтр
allowedCharsстрокаЯвно разрешённые символы
allowedLanguagesсписокРазрешённые языковые группы
Допустимые языковые группы:
ГруппаUnicode-диапазонОписание
russianU+0400–U+04FFКириллица
englisha–z, A–ZЛатиница
europeanU+00C0–U+024FРасширенная латиница
numbers0–9Цифры
punctuationспецсимволы.,!?@#$%^&*()-_=+ и др.

replacers — Таблица замен символов​

Код:
replacers:
  1:
    in: "с"   # русская буква
    out: "c"  # английский аналог
Используется для нормализации перед проверкой по словарю. Игрок не может обойти фильтр, написав хуй через кириллицу, где у — русская, а остальные — английские.
Также автоматически нормализуются: 0→o, 3→e, 4→a, @→a, $→s, 1→i.

bannedWords — Запрещённые слова​

Код:
bannedWords:
  lowTarget:
    - "блин"
  highTarget:
    - ".com"
    - "хуй"
СписокПоведение при нарушении
lowTargetСлово заменяется *** или сообщение удаляется (зависит от settings.mode)
highTargetСообщение всегда полностью блокируется, независимо от settings.mode
Используйте highTarget для рекламы и грубого мата, lowTarget — для лёгких нарушений.

allowedWords — Белый список слов​

Код:
allowedWords:
  highTarget:
    - "play.yourserver.ru"
    - "https://vk.com/yourpage"
Если сообщение содержит слово из этого списка — оно пропускается даже при совпадении с highTarget. Используется для разрешения ссылок на собственный сервер.

moder-notify — Уведомления для модераторов​

Код:
moder-notify:
  enabled: true
  format:
    - "§8§m                                        "
    - "§c§l⚠ §fНарушение §8| §7{source}"
    - "§7Игрок: §e{player}"
    - "§7Тип: §c{type}"
    - "§7Сообщение: §f{message}"
    - "§8§m                                        "
Все игроки с правом pnchatfilter.moder увидят это уведомление при каждом нарушении.
Плейсхолдеры:
ПлейсхолдерЗначение
{player}Ник нарушителя
{type}Тип нарушения
{message}Исходное сообщение (до 50 символов)
{source}Источник: чат, команда, табличка
{world}Мир, в котором находится нарушитель

actions — Действия при нарушениях​

Код:
actions:
  highTargetDetected:
    - "[Message] &cЗапрещённые слова!"
    - "[Sound] ENTITY_VILLAGER_NO"
  lowTargetDeleted:
    - "[Message] &cСообщение удалено."
  lowTargetReplacement:
    - "[Message] &eЧасть сообщения заменена."
  utfSymbolsDetected:
    - "[Message] &cЗапрещённые символы!"
  capsDetected:
    - "[Message] &eНе пиши капсом!"
  ipAddressDetected:
    - "[Message] &cIP-адрес запрещён!"
  signDetected:
    - "[Sound] ENTITY_VILLAGER_NO"
Доступные события:
КлючКогда срабатывает
highTargetDetectedНайдено highTarget слово
lowTargetDeletedНайдено lowTarget слово, режим delete
lowTargetReplacementНайдено lowTarget слово, режим replacement
utfSymbolsDetectedНайден запрещённый UTF-символ
capsDetectedПревышен лимит капса
ipAddressDetectedНайден IP-адрес
signDetectedНарушение на табличке
Доступные типы действий:
ТипПримерОписание
[Message][Message] &cТекстОтправить сообщение нарушителю (поддерживает & цвета)
[Sound][Sound] ENTITY_VILLAGER_NOПроиграть звук нарушителю
[Command][Command] ban {player} рекламаВыполнить команду от консоли
[PlayerCommand][PlayerCommand] spawnВыполнить команду от имени игрока
[Title][Title] &cНарушение;&fНе рекламируй;Показать title (title;subtitle)


Порядок применения фильтров​

При каждом сообщении фильтры применяются строго в следующем порядке. При первом срабатывании проверка останавливается.
Код:
1. blockIpAddress   →  IP-адрес в сообщении?
2. blockUtf         →  Есть недопустимые символы?
3. antiCaps         →  Превышен лимит капса?
4. bannedWords      →  Есть запрещённые слова?

FAQ​

Q: Игрок пишет х у й с пробелами — фильтр не срабатывает.
A: Добавьте "х у й" в bannedWords.highTarget. Нормализатор убирает пробелы при проверке, но только между стандартными вариантами. Разбитые пробелами слова лучше добавлять явно.
Q: Хочу разрешить свою ссылку, но она содержит .ru.
A: Добавьте полный адрес в allowedWords.highTarget. Белый список проверяется до блокировки.
Q: Как добавить свои команды на проверку?
A: В checkedCommands добавьте строку вида /команда $arg. Если команда не принимает имя игрока первым аргументом — просто /команда без $arg.
Q: Модераторы не получают уведомления.
A: Убедитесь, что у них есть право pnchatfilter.moder и moder-notify.enabled: true в конфиге.

Q: Как полностью отключить один из фильтров?
A: Установите enable: false в соответствующей секции (antiCaps, blockUtf, blockIpAddress) или оставьте списки bannedWords пустыми.

Плагин взят с spig**.ru. Вместо того чтобы продавать, я написал такой же плагин с таким же функционалом, в случае багов или проблем пишете коменты, отвечу.​

Автор
F Float3011
Скачивания
0
Просмотры
9
Первый выпуск
Обновление

Оценки

0.00 звезд Оценок: 0

Другие ресурсы пользователя Float3011

Помочь проекту 💕

Собрано
"52,204.60" ₽
Цель
"60,000.00" ₽