Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин [ADMIN/SEC/CHAT] ChatGuard 7.6.2 - анти-мат, анти-флуд, анти-капс и анти-реклама [1.5.2-∞]

Den_Abr

Старожил
Девелопер
Пользователь
Баллы
173
Имя в Minecraft
Den_Abr
a04513db33d6.png

ChatGuard - защита от мата, капса, рекламы и флуда в чате и на табличках.
Версия: 7.6.2
Страничка на BukkitDev
Репозиторий на GitHub

Плагин защищает сервер от сообщений, написанных в верхнем регистре, от мата, от рекламы и флуда в чате и на табличках. Отправитель получает предупреждения за нарушения правил чата(если включено). Сообщения могут просто не выводиться в чат, а сообщения с матом или рекламой могут также заменяться альтернативным словом.

Особенности:
  • Защита от капса
  • Защита от флуда
  • Защита от рекламы сайтов и серверов
  • Защита от мата в чате, командах и на табличках
  • Очистка чата
  • Глобальный мут
  • Выдача предупреждений игрокам
  • Различные наказания за нарушения с помощью команд
  • Разные команды для разных нарушений
  • Проверка и загрузка новых версий плагина
  • Информирование модераторов и консоль о нарушении
  • Убирание непотребных символов из чата
  • Проверка вещей на мат и рекламу
Команды:
[] - обязательно, () - необязательно

  • /chatguard - информация о версии
  • /chatguard ban [СЛОВО] - Запретить [СЛОВО]
  • /chatguard unban [СЛОВО] - Противоположно команде выше
  • /chatguard whitelist [СЛОВО] - Пропускать [СЛОВО] при проверке на спам и мат
  • /chatguard cc (ALL|Игрок) - Очистить ваш чат (или всем/игроку)
  • /chatguard info (Игрок) - Показать информацию о ваших нарушениях (или игрока)
  • /chatguard globalmute - Включить/выключить глобальный мут
  • /chatguard warn [Игрок] [Тип] - Выдать предупреждение игроку
  • /chatguard mute [Игрок] ([Время] (Причина)) - дать игроку мут(время в формате 1s, 1m, 1h, 1d, не по формату - секунды)
  • /chatguard unmute [Игрок] - снять мут
  • /chatguard clear (Тип) (Player) - Очистить предупреждения (определённого типа нарушений (игроку))
  • /chatguard help - Показать страницу с помощью
  • /chatguard reload - Перезагрузить конфиг, вайтлист и сообщения

Конфигурация:
Конфиг с русскими комментариями доступен по ссылке.

Permissions:
chatguard.* - Полный доступ
chatguard.banword - Запрещать слова
chatguard.unbanword - Удалять слова
chatguard.warn - Выдавать предупреждения
chatguard.mute - Дать мут
chatguard.unmute - Снять мут
chatguard.whitelist - Команда /cg whitelist
chatguard.clearwarnings - Команда /cg clear
chatguard.info - Просмотр количества предупреждений
chatguard.info.others - О других игрока
chatguard.inform.[flood,spam,swear,caps] - Получать уведомления о нарушениях(это 4 отдельных перминшена)
chatguard.clearchat - Доступ к очистке своего чата
chatguard.clearchat.all - Очистка всего чата
chatguard.clearchat.others - Определённого игрока
chatguard.globalmute - Переключение глобального мута
chatguard.reload - Перезагрузка плагина
chatguard.ignore.* - Игнорировать все фильтры
chatguard.ignore.[flood,spam,swear,caps,characters] - Игнорировать [флуд,спам,мат,капс] фильтр
chatguard.ignore.globalmute - Игнорировать глобальный мут
chatguard.ignore.cooldown - Игнорировать кулдауны
chatguard.ignore.cc - Игнорировать всеобщую очистку чата




 
Последнее редактирование:
Лог старых версий не помещается в первом посте, суну сюда. Вдруг кроме меня это кому то интересно
Версия 7.1:
  • Hard mode теперь работает, в экспериментальном режиме
  • use packets тоже
  • Фикс слушанья команд(вдохновлён 6.5, 6.0.1, 6.0, 5.9, 5.8 t1 и 4.9)
  • Улучшенная проверка обновлений
  • Фикс AuthMe
Версия 7.0:
Переписан полностью с нуля и теперь опенсурсный. Данное обновление не добавляет тонну новых функций, но улучшает имеющиеся.
  • Новый конфиг
    • Структурирован и полностью прокомментирован
    • Настраиваемое количество предупреждений для каждого нарушения отдельно(функция общего счётчика присутствует)
    • Наказания теперь только в виде команд
    • Настраиваемые команды для каждого нарушения с неограниченным количеством шаблонов причин(найдите способы применения этих шаблонов, а то я забыл)
    • Новый файл локализации, больше тегов.
    • Возможность отключить предупреждения и наказания вообще. Можно просто отменять неприятные сообщения. А если отключить и это, то получается, что выключено всё :)
    • Новый формат проверяемых команд, надеюсь понятный
  • Убраны ненужные подкоманды - mute, unmute(в плагине нет функции мута игрока), unwarn, export, и крошащая сервера как орешки list
  • Новый обновлятор, который сам скачает обновления(если вообще включен). Потому что это обновления действительно важны - скоро будет поддержка ProtocolLib и рабочая настройка Hard mode
  • Спам фильтр
    • Ограничение количества цифр в сообщении(можно выключить)
    • Новый принцип проверки сообщений
    • Регулярные выражения в конфиге работают на полную мощность
  • Мат фильтр
    • Мат слова теперь тоже полноценные регулярные выражения, благодаря новому методу проверки сообщений. Настраивайте как хотите.
  • Флуд фильтр
    • Многоуровневая система проверки сообщений. При flood level больше 1 будут проверяться последние сообщения игрока на предмет совпадения с новым.
    • Кулдаун написания в чат(можно выключить)
  • Подкоманда list заменена на info, показывающая информацию только об одном игроке.
  • Информация о нарушениях игроков больше не хранится в файле. Только в ОЗУ и стирается после перезагрузки/рестарта сервера.
  • Сбор метрики о включенных фильтрах, для того чтобы знать, на что делать упор при обновлениях.
  • Поддержка версий 1.5.2 и выше.
Версия 6.5:
  • Умный таб комплитер
  • Улучшен и исправлен механизм удаления запрещённых символов
  • Фиксы других известных багов
Версия 6.4.1:
  • Фиксы
  • Новый пермишен chatguard.clearchat.ignore
Версия 6.4а:
  • Убрана отладочная информация
Версия 6.4:
  • Исправления, связанные с кодировкой
  • Новый файл с разрешёнными символами в чате
  • Убран 1% индусского кода
Версия 6.1.3:
  • Фикс проверки на флуд
  • Фикс списка нарушителей
  • Оптимизация кода
Версия 6.1.2:
  • Поддержка LoginSecurity
  • Поддержка вашего любимого древнеегипетского AuthMe
  • Может использовать BKCommonLib, если установлен(приоритет выше, чем у ProtocolLib)
Версия 6.1.1:
  • Фикс информирования о мате и рекламе
  • Фикс вайтлиста доменов
Версия 6.1:
  • Оптимизация кода
  • Новый механизм информирования, настраивание каждого типа
  • Исправлен баг с EssentialsSpy
  • Больше не кидается асинхронный эвент команды игрока(баг и фикс одновременно)
  • Интеграция с AuthMe, xAuth
  • Исправлен цветной текст сообщений
Версия 6.0.3:
  • Новая настройка caps-length для проверки на капс сообщения длиннее, чем указано в конфиге
  • Переделан под самый последний ProtocolLib(3.2.0) и будет гарантированно работать только с ним
  • Скомпилирован с CB 1.7.2
Версия 6.0.1:
  • Очередной фикс проверки команд
Версия 6.0:
  • Новая команда /cg warns
  • Исправлен баг со слушаньем команд
  • Исправлена рассинхронизация нарушений в чате и командах
  • Переписаны команды /cg list, addwarn, removewarn под кастомные нарушения
  • Слова в белом списке теперь - регулярные выражения. Для танкистов - слово будет склоняться по падежам, а также по роду и по числу. Нет надобности добавлять все варианты одного слова, достаточно кусочка :)
  • Ещё одна попытка исправить кик
  • Скомпилирован с ProtocolLib 3.1.2
Версия 5.9:
  • Изменён авто-апдейтер
  • Исправлен заявленный @Sirse баг с командами
  • Новый метод проверки команд
  • Настройка в конфигурации для отключения слушанья команд
Версия 5.8:
  • Продолжение переписи кода
  • Команда глобального мута
  • Команда очистки чата
Версия 5.8 t1:
  • Продолжение переписи кода
  • Информирование игроков с правом chatguard.inform о нарушителях и их нарушениях
  • Переписана система локализации
  • Регулярные выражения доменов и ip адресов вынесены в конфиг файл и могут редактировать по вашему усмотрению
  • Переписано слушание команд. Без понятия, работает ли.
Версия 5.7.1:
  • Исправлена непонять почему выскакивающаяся NPE при включении
  • Скомпилирован с Bukkit 1.2.5
Версия 5.7:
  • Совместимость со всеми плагинами чата!
  • CPFix больше не спасёт при проблемах с матом
  • Немного переработан код
  • Обновлена проверка обновлений, теперь не вешает сервер на время проверки
Версия 5.5:
  • Реорганизован код(я постепенно исцеляюсь от индусизма). Методы провеки сообщений можно использовать в своих плагинах
  • Команда добавления в вайтлист
  • Проверка команд из секции Check-cmds на все виды нарушений
  • Мелкие фиксы
Возможно будут проблемы с русскими словами. У меня с кодировкой ANSI в связке с CPFix всё работает. На Linux сервере ещё не проверял.

Версия 5.4:
  • Мат-слова записываются в файл swearlist.txt(перенесутся сами при запуске)
  • Обновлена метрика
Версия 5.1 HOTFIX:
  • Всякие фиксы
  • Дополнен тестовый алгоритм защиты от флуда
Версия 5.0:
  • Новый метод защиты от флуда(тестовый)
  • Поломан вхлам
  • Расширена команда /cg clear. Если ввести ещё и ник игрока, то очистятся только его предупреждения
  • Кастомные предупреждения и альтернативные слова
  • Больше не помню:confused:
Версия 5.0 RC:
  • Исправлена ошибка с мутом
  • Добавлены настройки совместимости
  • Команда снятия мута /cg unmute [PLAYER]
  • Команда удаления слова /cg remove [WORD]
  • Таймер флуда больше не грузит сервер
  • Добавлены новые сообщения. Старый messages.yml удалить!
Версия beta 4.9:
  • Добавлена модульность
  • Первая попытка исправить заявленные баги
  • Блокировка определённых команд во время мута
  • Таймер флуда
Прошу сообщать обо всех багах

Версия 4.5.1:
  • Исправления
Если что-то по прежнему не работает, отпишите сюда и предоставьте скрины

Версия 4.5:
  • Слова, добавленные в Whitelist, будут также игнорироваться антиматом
  • Новая секция Replacements. В неё нужно добавлять символы, которые должны быть заменены на другой. Указываются так:
    YAML:
     - '1|2'
Где 2 - символ, на который будет заменена 1
  • Вы можете сами установить наказание игроку. Для этого нужно указать свою команду в конфиге
YAML:
Punishment:
<...>
  command: say {player} наказан за {reason}
{player} будет заменено на имя игрока, а {reason} на причину:cap:
  • Переделана проверка сообщения на наличие ссылок. Если какую либо пропускает, добавьте в Swearwords нужное регулярное выражение
  • Убрана зависимость от PermissionsEx
  • Ещё пару косметических исправлений
Версия 4.1:
  • Куда более мощный алгоритм защиты от мата и флуда. Запретные слова это теперь регулярные выражения
  • Команды из консоли исполняются
  • Новый формат списка матов(экспортируйте, дабы не мучиться)
  • Команда для экспорта слов в новый формат /cg export
  • Плагин проверяет актуальность версии
  • Мелочи
Версия 3.0:
  • Проведён косметический ремонт плагина, теперь всё красивенько и ухоженно:rolleyes:
  • Добавлена команда вывода списка нарушителей /cg list
  • Добавлена команда очистки списка нарушителей /cg clear
  • Добавлена страница помощи по команде /cg или /cg help
  • Мелочи
Версия 2.4:
  • Нормальная команда перезагрузки :fp:
  • Проверка на капс сообщений, длиной больше 3 символов
  • Исправлена фильтрация русского мата (наверное)
  • Добавлена метрика
Версия 2.2а:
  • Переделан под более старые версии
Версия 2.2:
  • Добавлен список разрешённых сайтов/ip
  • Переведены сообщения:cool:
Версия 2.1:
  • Добавлена защита от рекламы
Версия 1.0:
  • Релиз плагина
 
Последнее редактирование:
Работающий антимат + антиреклама под актуальную версию сервера, просто круто. Спасибо вам, улучшайте сей плагин и не забрасывайте его.
 
У меня есть идея: сделай отдельный файл куда можно вписывать запрещённые слова, а то постоянно вводить команду неохота.
Слова можно вставлять в конфиге.
 
а почему плагин на англ?
Изначально плагин для буржуев выкладывал, а потом сюда тоже решил кинуть. Сначала хотели сделать выбор языка в конфиге, но потом я поставил один файл сообщений и удалил русский перевод:(
 
Изначально плагин для буржуев выкладывал, а потом сюда тоже решил кинуть. Сначала хотели сделать выбор языка в конфиге, но потом я поставил один файл сообщений и удалил русский перевод:(
раз сюда выложили то добавьте русский перевод, хоть там переводить самому не трудно))
 
Сделаю отдельную версию для Россиян с агрессивной проверкой слов:)
ок, но не забудь ещё украинский маты, они тоже распространённые и да, русские маааатеряяятсяяя еще тааакк
 
Сделай просто хотя бы чтоб плагин затыкал русский мат а остальное уже можно постепенно дорабатывать .Смотря как его можно обойти заделаешь дыры и получишь самый популярный цензурный плагин.
 
Насчет такого }{YI есть модераторы,ну а если по теме добавте возможность автоматической выдачи мута с выводом причины в чат...
 
версия 1.4.6
Выдает такое после окончания предупреждений!
Написал 6 капсов, в консоли вот такое
Код:
22:43:32 [SEVERE] Could not pass event AsyncPlayerChatEvent to ChatGuard v2.1
org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:459)
        at net.minecraft.server.v1_4_6.PlayerConnection.chat(PlayerConnection.java:913)
        at net.minecraft.server.v1_4_6.PlayerConnection.a(PlayerConnection.java:852)
        at net.minecraft.server.v1_4_6.Packet3Chat.handle(Packet3Chat.java:44)
        at net.minecraft.server.v1_4_6.NetworkManager.i(NetworkManager.java:208)
        at net.minecraft.server.v1_4_6.NetworkManager.c(NetworkManager.java:344)
        at net.minecraft.server.v1_4_6.NetworkReaderThread.run(SourceFile:93)
Caused by: java.lang.IllegalStateException: Cannot kick player from asynchronous thread!
        at org.bukkit.craftbukkit.v1_4_6.entity.CraftPlayer.kickPlayer(CraftPlayer.java:221)
        at org.bukkit.craftbukkit.v1_4_6.entity.CraftPlayer.kickPlayer(CraftPlayer.java:216)
        at ru.chatguard.ChatListener.punish(ChatListener.java:199)
        at ru.chatguard.ChatListener.changeWarns(ChatListener.java:188)
        at ru.chatguard.ChatListener.onChat(ChatListener.java:168)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
        ... 9 more
И когда опять Пишешь капсом то счетчик идет с нуля 1/5, после 5/5 ошибка, и так по кругу
 

Поделиться этой страницей

Назад
Верх