This is a mobile optimized page that loads fast, if you want to load the real page, click this text.
Иконка ресурса

Бесплатная версия 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строкаСимвол, которым заменяется каждый символ запрещённого слова

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