- Поддерживаемые версии
- 1.16
- 1.17
- 1.18
- 1.19
- 1.20
- 1.21
- Ядра и Прокси
- Bukkit
- Spigot
- Paper
- Минимальная версия Java
- 16
1. HighPriority (к примеру доменные зоны .ru, .pw)
2. LowPriority (обычные маты по типу: бль, пдор)
3. AntiCaps (автоматически исправляет капслок на обычные буквы)
4. AntiUtf8 (особенно полезно для серверов на кастом рп)
5. AntiCmdsPiar (модуль против пиара через личные сообщения, /bc и так далее всё настраивается в кфг)
Защита против самых типичных обходов, к примеру: mc и мc <-- считаются одинаково, реплейсеры настраиваются в кфг, но рекомендуется не трогать деф. значения.
Форматирование (BB-код):
settings:
mode: "replacement" # delete - удалить слово или replacement заменить его на символ из "settings.replacement"
#
# Внимание, рекомендую replacement
# Поскольку delete работает не со
# Всеми плагинами, юзайте на свой
# Страх и риск!
#
replacement: "*"
blockIpAddress:
enable: true # Блокировать ли IP адреса
allowedIps: # Разрешённые IP адреса
- "127.0.0.1"
- "127 0 0 1"
- "127,0,0,1"
- "5.42.211.119"
- "5,42,211,119"
- "5 42 211 119"
checkedCommands: # Команды, внутри которых проверяются запреты
- "/msg $arg"
- "/tell $arg"
- "/w $arg"
- "/whisper $arg"
- "/message $arg"
- "/m $arg"
- "/r $arg"
- "/reply $arg"
- "/broadcast"
- "/bc"
antiCaps: # Умная антикапс система, рекомендую включить <-- ничего не ломает
enable: true
minLenght: 4
maxCapsPercent: 30
blockUtf:
enable: true # Рекомендую включить и не трогать
allowedChars: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 .,!?@#$%^&*()-_=+[]{};:'\"\\|/<>`~"
allowedLanguages:
- "russian"
- "english"
- "european"
- "numbers"
- "punctuation"
replacers:
1:
in: "с" # русская с
out: "c" # английская c
2:
in: "а"
out: "a"
3:
in: "е"
out: "e"
4:
in: "о"
out: "o"
5:
in: "р"
out: "p"
6:
in: "м"
out: "m"
bannedWords:
lowTarget:
- "очень"
- "большая"
- "куча"
- "матов"
highTarget:
- "r u"
- "m c"
- "f u n"
- "f u"
- "f un"
- "fu n"
- "c o m"
- "c o"
- "co m"
- "p w"
- "s p a c e"
- "s p a ce"
- "s p ace"
- "s pace"
- "sp a c e"
- "spa c e"
- "spac e"
- "mc"
- "play"
- "dsc.gg"
- "vk"
- "t.me"
- "https"
- "ru"
- "pw"
- "space"
- "com"
- "fun"
- "gamegrief"
- "reallyworld"
- "really"
- "world"
allowedWords:
highTarget:
- "vk.com/heroworldpw"
- "https://vk.com/heroworldpw"
- "t.me/heroworldpw"
- "https://t.me/heroworldpw"
- "play.heroworld.pw"
- "mc.heroworld.pw"
- "play.heroworld.su"
- "mc.heroworld.su"
- "mc heroworld pw"
- "mc heroworld su"
actions:
highTargetDetected:
- "[Message] &6HeroWorld &7» &fВ вашем &6сообщении&f содержатся &6запрещённые&f символы!"
- "[Sound] ENTITY_VILLAGER_NO"
#lowTargetDeleted:
#- "[Message] &6HeroWorld &7» &fВ вашем &6сообщении&f содержатся &6запрещённые&f символы!"
#- "[Sound] ENTITY_VILLAGER_NO"
#lowTargetReplacement:
#- "[Message] &6HeroWorld &7» &fВ вашем &6сообщении&f содержатся &6запрещённые&f символы!"
#- "[Sound] ENTITY_VILLAGER_NO"
utfSymbolsDetected:
- "[Message] &6HeroWorld &7» &fВ вашем &6сообщении&f содержатся &6запрещённые&f символы!"
- "[Sound] ENTITY_VILLAGER_NO"
signDetected:
- "[Sound] ENTITY_VILLAGER_NO"
ipAddressDetected:
- "[Message] &6HeroWorld &7» &fВ вашем &6сообщении&f обнаружен &6IP &fадрес!"
- "[Sound] ENTITY_VILLAGER_NO"
ВАЖНО! В плагине присутствует API для разработчиков, пример использования:
Форматирование (BB-код):
import ru.he3hauka.hchatfilter.api.event.MessageFilterEvent;
@EventHandler
public void onMessageFilter(MessageFilterEvent event) {
String playerName = event.getPlayer().getName();
String originalMessage = event.getOriginalMessage();
String filteredMessage = event.getFilteredMessage();
String reason = event.getReason();
if (event.getFilterType() == MessageFilterEvent.FilterType.BLOCKED) {
String broadcastMessage = String.format(
"[Заблокировано] Игрок %s пытался отправить запрещенное сообщение: '%s' | Причина: %s",
playerName, originalMessage, reason
);
Bukkit.broadcastMessage(broadcastMessage);
} else if (event.getFilterType() == MessageFilterEvent.FilterType.FILTERED) {
String broadcastMessage = String.format(
"[Отфильтровано] Игрок %s отправил сообщение: '%s' -> '%s' | Причина: %s",
playerName, originalMessage, filteredMessage, reason
);
Bukkit.broadcastMessage(broadcastMessage);
}
getLogger().info(String.format(
"Фильтрация: %s | Игрок: %s | Оригинал: '%s' | Результат: '%s' | Причина: %s",
event.getFilterType(), playerName, originalMessage, filteredMessage, reason
));
- Зависимости
- PlaceholderAPI, Vault
- Команды и права
- /hchatfilter reload - право hchatfilter.admin (Перезагрузить конфигурацию)