[ANY] RegexFilter (Rewrited)

[ANY] RegexFilter (Rewrited) 2.9.3

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
140
Реакции
75
  • Автор ресурса
  • #1
Lappland_Saluzzo добавил(а) новый ресурс:

[RegexFilter] - [ANY] RegexFilter - Мат-фильтр.

[ANY] REGEX Word Filter v2.0 — Продвинутый фильтр слов с поддержкой кириллицы

Описание
Мощный плагин для фильтрации нежелательных слов в чате с использованием регулярных выражений. В отличие от стандартных решений, корректно работает с русским языком и поддерживает обход попыток маскировки слов пробелами.

Основные возможности
  • Полная поддержка кириллицы — регистронезависимый поиск работает корректно для...

Узнать больше об этом ресурсе...
 

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
140
Реакции
75
  • Автор ресурса
  • #2
Личный конфиг, который использую на собственном сервере. Обратите внимание что файл - крайне матерный.
 

Вложения

  • regexrestrict.cfg
    8.6 КБ · Просмотры: 33

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
140
Реакции
75
  • Автор ресурса
  • #3

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
140
Реакции
75
  • Автор ресурса
  • #5
Конфиг поправил, добавил новые слова + поправил WhiteList слов.
 

Вложения

  • regexrestrict.cfg
    10.2 КБ · Просмотры: 6

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
140
Реакции
75
  • Автор ресурса
  • #6
Lappland_Saluzzo обновил(а) ресурс [ANY] RegexFilter (Rewrited) новой записью:

[RF] Обновление 2.7.1

REGEX Word Filter v2.7.1

Новый функционал

Добавлена очистка мусорных символов из сообщений (эмодзи, юникод-арт, спецсимволы).

Логика:
  • Мусора <50% — символы удаляются, сообщение отправляется
  • Мусора >50% — сообщение блокируется
  • Нет букв после очистки — сообщение блокируется

Новый ConVar:
C-подобный:
regexfilter_cleanjunk "1"  // 1 = вкл, 0 = выкл

API

Очистка применяется и к вызовам через API. Добавлена документация на русском...

Узнать больше об этом обновлении...
 

HooLIGUN

MatchMaking CS:S / RGMIX.ru
Сообщения
1,067
Реакции
268
@Lappland_Saluzzo, Спасибо за плагин!
Подскажи, как добавить в IPDNSfilter - белый список IP адресов и доменов, которые можно писать в чат?
 
Последнее редактирование:

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
140
Реакции
75
  • Автор ресурса
  • #8
@Lappland_Saluzzo, Спасибо за плагин!
Подскажи, как добавить в IPDNSfilter - белый список IP адресов и доменов, которые можно писать в чат?
Просто в Whitelist колонку добавь их и всё. Плагин сначала чекает Whitelist, если видит совпадение - не убирает слово из белого списка.
Сообщения автоматически склеены:

Если есть баги - отписывайте, в следующем обновлении поправлю по наличию времени. И прикладывайте свои конфиги, что вводите, и что выдает команда sm_regextest.
 
Последнее редактирование:

HooLIGUN

MatchMaking CS:S / RGMIX.ru
Сообщения
1,067
Реакции
268
@Lappland_Saluzzo, сообщения от консоли тоже обрабатывает фильтром. Думаю, это нужно исключить - обрабатывать только сообщения от игроков
Сообщения автоматически склеены:

Конфиг поправил, добавил новые слова + поправил WhiteList слов.
Режет много нормальных слов
Ожидание, неплохой и т.д.
 

Вложения

  • Screenshot_20251208_001140.jpg
    Screenshot_20251208_001140.jpg
    44.7 КБ · Просмотры: 44
  • Screenshot_20251208_001157.jpg
    Screenshot_20251208_001157.jpg
    42.5 КБ · Просмотры: 39
Последнее редактирование:

Аластар

GunGame Style 24/7
Сообщения
353
Реакции
79
@Lappland_Saluzzo, сообщения от консоли тоже обрабатывает фильтром. Думаю, это нужно исключить - обрабатывать только сообщения от игроков
Сообщения автоматически склеены:


Режет много нормальных слов
Ожидание, неплохой и т.д.
оЖИДание, пЛОХой...
 

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
140
Реакции
75
  • Автор ресурса
  • #11
Мужики, рекомендуется все слова сообщать, или как минимум добавлять корни этих слов в Whitelist что обнаружили (Это PCRE Regex! Паттерны ищут подстроку в ЛЮБОМ месте слова). Понятное дело что резать будет легимтимные слова просто потому что - это особенность работы REGEX в Sourcemod. Нет здесь единого конфига, который мог бы покрыть всё и вся. Чем больше плохих слов указываете, или корни оных - тем больше могут быть False-Positive детектов.
Например для указанных слов нужно добавить колонку в Whitelist:
C-подобный:
    // Для 'лох' - лохань, лохматый
    "whitelist"        "'лох(ань|мат|мот)' 'CASELESS'"
    "whitelist"        "'плох' 'CASELESS'"
    # Для слов, связанных с ожиданием (корень "жд")
    "whitelist"        "'ожид' 'CASELESS'"
    "whitelist"        "'жидан' 'CASELESS'"  # неожиданно, неожиданный
    # Для слов с корнем "жидк" (жидкость, жидкий и производные)
    "whitelist"        "'жидк' 'CASELESS'"
    # Для редких безопасных случаев (жидва, жидель)
    "whitelist"        "'жидв[а-я]*' 'CASELESS'"
    "whitelist"        "'жидель' 'CASELESS'"
По поводу сообщений от консоли - я услышал, правку добавлю. Просто плагин перехватывает стандартные функции чата. За недочет - огромное спасибо, не додумался бы сам до отправки сообщений из под консоли, учитывая что есть sm_csay/sm_tsay/sm_hsay/sm_msay и кое-где sm_dsay.
 
Последнее редактирование:

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
140
Реакции
75
  • Автор ресурса
  • #12
Lappland_Saluzzo обновил(а) ресурс [ANY] RegexFilter (Rewrited) новой записью:

[RF] Быстро-фикс

- Добавлена переменная regexfilter_skip_console, которая включает или отключает фильтрацию из под консоли, при выполнении команды `say текст`.

Узнать больше об этом обновлении...
Сообщения автоматически склеены:

Буду постепенно изобретать велосипед, пока проблемы следующие: Word Boundaries не работает для кириллицы,буду также копать в направлении negative lookaround/lookbehind для лучшей фильтрации. Возможно смогу обойти ограничение REGEX, потому что оно не хочет работать для русского текста. В общем, фундаментальные проблемы буду решать постепенно, следите за обновлениями.

Пока написал альфа-версию с... нечто вроде Word Boundaries и NLA/NLB, но только он ищет конкретное слово, а НЕ внутри слов, проведу тестирование вечером на своем сервере.
 
Последнее редактирование:

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
140
Реакции
75
  • Автор ресурса
  • #13
Lappland_Saluzzo обновил(а) ресурс [ANY] RegexFilter (Rewrited) новой записью:

Велосипед начал ехать!

REGEXFilter v2.9.1 ALPHA​

Новое: Флаг KWORD в конфигурационном файле!​

Реализована проверка границ слова (Word Boundaries) на уровне плагина. Решает проблему неработающего \b с кириллицей в PCRE.
C-подобный:
// Было: 'лох' ловит "плохой"
"chatpattern"    "'лох' 'CASELESS'"
// Стало: 'лох' НЕ ловит "плохой"
"chatpattern"    "'лох' 'CASELESS|KWORD'"
KWORD требует указания всех форм слова (падежи, склонения)...

Узнать больше об этом обновлении...
Сообщения автоматически склеены:

Ну так сказать пробуйте. Документацию также обновил.
 

Вложения

  • regexrestrict.cfg
    24.1 КБ · Просмотры: 3

Слава156

Участник
Сообщения
45
Реакции
11
Через sm админку, если писать @ тут сообщение(плохое слово) то дублируются плохие слова один проходит и виден всем другой нет
 

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
140
Реакции
75
  • Автор ресурса
  • #15
Через sm админку, если писать @ тут сообщение(плохое слово) то дублируются плохие слова один проходит и виден всем другой нет
Баг известный. Пока не совсем понимаю как его пофиксить, надо глянуть код, что отвечает за префикс @. Такая же проблема с Shop. Технически - нужно дорабатывать соседние плагины под него-же. API я сделал, и документацию базовую также.
По сути надо настраивать плагины на фильтр, чтобы оно работало корректно, ибо фильтр цепляется к базовым вещам Sourcemod, и добавляет свой код. По другому там не сделать просто напросто. Ещё со времен первой версии - такая проблема была с Source Chat Relay, с Shop Prefixes, который здесь есть, и ещё несколькими плагинами. То есть технически - он фильтрует, но дубликат сообщения отправляется плагином сторонним без обработки. Через добавленное API по сути можно запрашивать у фильтра - отфильтрованное сообщение и использовать его, чтобы не создавались дубликаты.

А это уже полноценная заготовка под чат-процессор...
 
Последнее редактирование:

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
140
Реакции
75
  • Автор ресурса
  • #16
Lappland_Saluzzo обновил(а) ресурс [ANY] RegexFilter (Rewrited) новой записью:

[RF] 2.9.3 - Довел до ума флаг KWORD

- Просто доработал флаг KWORD и добавил те же самые проверки как и в REGEX паттернах + очистку от мусора.
- Доработка API, и немного DRY-я.

Узнать больше об этом обновлении...
 
Последнее редактирование:

HooLIGUN

MatchMaking CS:S / RGMIX.ru
Сообщения
1,067
Реакции
268
Не компилится
C-подобный:
//// sm_regexfilter.sp
//
// C:\Users\Roman\Desktop\╩юьяшы ЄюЁ√ SM\sourcemod-1.13.0-git7223-windows\scripting\sm_regexfilter.sp(1273) : error 450: no viable conversion from "int" to "char"
//   1273 |                 int c = (i < textLen) ? (text[i] & 0xFF) : 0;
// ----------------------------------------------------------^
//
// 1 Error.
//
// Compilation Time: 0,2 sec
// ----------------------------------------
на 1.11 скомипилилось с варнингом
 
Последнее редактирование:

7pElllHuK

Участник
Сообщения
1,511
Реакции
528
Не компилится
C-подобный:
//// sm_regexfilter.sp
//
// C:\Users\Roman\Desktop\╩юьяшы ЄюЁ√ SM\sourcemod-1.13.0-git7223-windows\scripting\sm_regexfilter.sp(1273) : error 450: no viable conversion from "int" to "char"
//   1273 |                 int c = (i < textLen) ? (text[i] & 0xFF) : 0;
// ----------------------------------------------------------^
//
// 1 Error.
//
// Compilation Time: 0,2 sec
// ----------------------------------------
на 1.11 скомипилилось с варнингом
Это еррор, варнинг другое)
 

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
140
Реакции
75
  • Автор ресурса
  • #19
Не компилится
C-подобный:
//// sm_regexfilter.sp
//
// C:\Users\Roman\Desktop\╩юьяшы ЄюЁ√ SM\sourcemod-1.13.0-git7223-windows\scripting\sm_regexfilter.sp(1273) : error 450: no viable conversion from "int" to "char"
//   1273 |                 int c = (i < textLen) ? (text[i] & 0xFF) : 0;
// ----------------------------------------------------------^
//
// 1 Error.
//
// Compilation Time: 0,2 sec
// ----------------------------------------
на 1.11 скомипилилось с варнингом
Скомпилируйте на 1.10. по идее плагин будет работать и на 1.13 runtime. У самого SM 1.13, DEV Build, нормально пашет.

Скачать отсюда: https://sm.alliedmods.net/smdrop/1.10/sourcemod-1.10.0-git6545-windows.zip
 
Сверху Снизу