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

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

Обновлено до 7.0
Что нового?
  • Переписан полностью с нуля и теперь опенсурсный. Данное обновление не добавляет тонну новых функций, но улучшает имеющиеся.
  • Новый конфиг
    • Структурирован и полностью прокомментирован
    • Настраиваемое количество предупреждений для каждого нарушения отдельно(функция общего счётчика присутствует)
    • Наказания теперь только в виде команд
    • Настраиваемые команды для каждого нарушения с неограниченным количеством шаблонов причин(найдите способы применения этих шаблонов, а то я забыл)
    • Новый файл локализации, больше тегов.
    • Возможность отключить предупреждения и наказания вообще. Можно просто отменять неприятные сообщения. А если отключить и это, то получается, что выключено всё :)
    • Новый формат проверяемых команд, надеюсь понятный
  • Убраны ненужные подкоманды - mute, unmute(в плагине нет функции мута игрока), unwarn, export, и крошащая сервера как орешки list
  • Новый обновлятор, который сам скачает обновления(если вообще включен). Потому что это обновления действительно важны - скоро будет поддержка ProtocolLib и рабочая настройка Hard mode
  • Спам фильтр
    • Ограничение количества цифр в сообщении(можно выключить)
    • Новый принцип проверки сообщений
    • Регулярные выражения в конфиге работают на полную мощность
  • Мат фильтр
    • Мат слова теперь тоже полноценные регулярные выражения, благодаря новому методу проверки сообщений. Настраивайте как хотите.
  • Флуд фильтр
    • Многоуровневая система проверки сообщений. При flood level больше 1 будут проверяться последние сообщения игрока на предмет совпадения с новым.
    • Кулдаун написания в чат(можно выключить)
  • Подкоманда list заменена на info, показывающая информацию только об одном игроке.
  • Информация о нарушениях игроков больше не хранится в файле. Только в ОЗУ и стирается после перезагрузки/рестарта сервера.
  • Сбор метрики о включенных фильтрах, для того чтобы знать, на что делать упор при обновлениях.
  • Поддержка версий 1.5.2 и выше.
Настройте плагин заново! Также изменились пермишены!
 
Обновлено до 7.0
Что нового?
  • Переписан полностью с нуля и теперь опенсурсный. Данное обновление не добавляет тонну новых функций, но улучшает имеющиеся.
  • Новый конфиг
    • Структурирован и полностью прокомментирован
    • Настраиваемое количество предупреждений для каждого нарушения отдельно(функция общего счётчика присутствует)
    • Наказания теперь только в виде команд
    • Настраиваемые команды для каждого нарушения с неограниченным количеством шаблонов причин(найдите способы применения этих шаблонов, а то я забыл)
    • Новый файл локализации, больше тегов.
    • Возможность отключить предупреждения и наказания вообще. Можно просто отменять неприятные сообщения. А если отключить и это, то получается, что выключено всё :)
    • Новый формат проверяемых команд, надеюсь понятный
  • Убраны ненужные подкоманды - mute, unmute(в плагине нет функции мута игрока), unwarn, export, и крошащая сервера как орешки list
  • Новый обновлятор, который сам скачает обновления(если вообще включен). Потому что это обновления действительно важны - скоро будет поддержка ProtocolLib и рабочая настройка Hard mode
  • Спам фильтр
    • Ограничение количества цифр в сообщении(можно выключить)
    • Новый принцип проверки сообщений
    • Регулярные выражения в конфиге работают на полную мощность
  • Мат фильтр
    • Мат слова теперь тоже полноценные регулярные выражения, благодаря новому методу проверки сообщений. Настраивайте как хотите.
  • Флуд фильтр
    • Многоуровневая система проверки сообщений. При flood level больше 1 будут проверяться последние сообщения игрока на предмет совпадения с новым.
    • Кулдаун написания в чат(можно выключить)
  • Подкоманда list заменена на info, показывающая информацию только об одном игроке.
  • Информация о нарушениях игроков больше не хранится в файле. Только в ОЗУ и стирается после перезагрузки/рестарта сервера.
  • Сбор метрики о включенных фильтрах, для того чтобы знать, на что делать упор при обновлениях.
  • Поддержка версий 1.5.2 и выше.
Настройте плагин заново! Также изменились пермишены!
словарь "чёрных слов" старый же можно юзать ?
Так же порадовало
"Мат слова теперь тоже полноценные регулярные выражения, благодаря новому методу проверки сообщений. Настраивайте как хотите."
Спасибо за плагин
 
словарь "чёрных слов" старый же можно юзать ?
Так же порадовало
"Мат слова теперь тоже полноценные регулярные выражения, благодаря новому методу проверки сообщений. Настраивайте как хотите."
Спасибо за плагин
Мат слова перенесутся в новый формат, но есть вероятность кривого переноса, проверьте после включения плагина.
 
Что говорит сервер о этом плагине?
Не обосрется ли сервер от проверки каждого символа в собщении по 300 раз?...
upload_2015-9-1_1-41-18.png
Я не рылся в плагине и не видел метод проверки но думаю там цикл, который проверяет каждый символ на валид из списке на скрине
 
Что говорит сервер о этом плагине?
Не обосрется ли сервер от проверки каждого символа в собщении по 300 раз?...
Посмотреть вложение 35845
Я не рылся в плагине и не видел метод проверки но думаю там цикл, который проверяет каждый символ на валид из списке на скрине
Не волнуйся, штаны останутся чистыми.
 
Что говорит сервер о этом плагине?
Не обосрется ли сервер от проверки каждого символа в собщении по 300 раз?...
Посмотреть вложение 35845
Я не рылся в плагине и не видел метод проверки но думаю там цикл, который проверяет каждый символ на валид из списке на скрине
Вроде сервера не на перфокартах, справятся.
 
Последнее редактирование:
Ваш плагин хоть все это дело в отдельном потоке выполняет?
Или в основном потоке чата?
События чата асинхронные.
Буду дома, скину тесты с этой операцией, чтобы не было необоснованных претензий.
 
b92add79a2.jpg

Что-то я боюсь утечек памяти...
 
Но ведь может пойти что-то не так и оптимизация накроется
Ну если сервер посещает 1000 игроков в день, и он не выключался все это время, то занятый обьем озу может составить аж около 50кб, и эффекта от оптимизации не будет
Ваш плагин хоть все это дело в отдельном потоке выполняет?
Или в основном потоке чата?
Провёл тест. Результат ожидаемый - на 100000 переборов затрачено 1317ms
Можешь сам проверить
Код:
    public static String charSet = "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ¸¨АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабгдежзийклмнопрстуфхцчшщъыьэюяёЁ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_¸abcdefghijklmnopqrstuvwxyz{|}§~АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя";

    public static void main(String[] args) throws Exception {
        String message = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        long start = System.currentTimeMillis();
        for (int i = 0; i < 100000; i++) {
            for (char c : message.toCharArray()) {
                if (isNotAllowed(c)) {
                }
            }
        }
        System.out.println(System.currentTimeMillis() - start);
    }

    private static boolean isNotAllowed(char ch) {
        return !charSet.contains(ch + "");
    }
 
Ну если сервер посещает 1000 игроков в день, и он не выключался все это время, то занятый обьем озу может составить аж около 50кб, и эффекта от оптимизации не будет

Провёл тест. Результат ожидаемый - на 100000 переборов затрачено 1317ms
Можешь сам проверить
Код:
    public static String charSet = "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ¸¨АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабгдежзийклмнопрстуфхцчшщъыьэюяёЁ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_¸abcdefghijklmnopqrstuvwxyz{|}§~АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя";

    public static void main(String[] args) throws Exception {
        String message = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        long start = System.currentTimeMillis();
        for (int i = 0; i < 100000; i++) {
            for (char c : message.toCharArray()) {
                if (isNotAllowed(c)) {
                }
            }
        }
        System.out.println(System.currentTimeMillis() - start);
    }

    private static boolean isNotAllowed(char ch) {
        return !charSet.contains(ch + "");
    }
В принципе результ не плохой хороший
 
На кой владеть русским языком, если даже описание конфига, которое обещается быть понятным, на английском?
 
На кой владеть русским языком, если даже описание конфига, которое обещается быть понятным, на английском?
Потому что там все понятно даже на интуитивном уровне, я так считаю. С минимальными знаниями английского или применяя ассоциативное мышление можно без проблем всё настроить.
 
Потому что там все понятно даже на интуитивном уровне, я так считаю. С минимальными знаниями английского или применяя ассоциативное мышление можно без проблем всё настроить.
А если человек знает английский на уровне helo me frends? (ошибки специально)
 
Код:
[16:18:32] [Server thread/ERROR]: Error occurred while enabling ChatGuard v7.0 (Is it up to date?)
java.lang.ArrayIndexOutOfBoundsException: 0
    at ru.Den_Abr.ChatGuard.Integration.AuthMe34.load(AuthMe34.java:30) ~[?:?]
    at ru.Den_Abr.ChatGuard.Integration.AuthMe34.register(AuthMe34.java:40) ~[?:?]
    at ru.Den_Abr.ChatGuard.ChatGuardPlugin.registerIntegratedPlugins(ChatGuardPlugin.java:74) ~[?:?]
    at ru.Den_Abr.ChatGuard.ChatGuardPlugin.onEnable(ChatGuardPlugin.java:53) ~[?:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:524) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_51]
authme 5.0
 
Код:
[16:18:32] [Server thread/ERROR]: Error occurred while enabling ChatGuard v7.0 (Is it up to date?)
java.lang.ArrayIndexOutOfBoundsException: 0
    at ru.Den_Abr.ChatGuard.Integration.AuthMe34.load(AuthMe34.java:30) ~[?:?]
    at ru.Den_Abr.ChatGuard.Integration.AuthMe34.register(AuthMe34.java:40) ~[?:?]
    at ru.Den_Abr.ChatGuard.ChatGuardPlugin.registerIntegratedPlugins(ChatGuardPlugin.java:74) ~[?:?]
    at ru.Den_Abr.ChatGuard.ChatGuardPlugin.onEnable(ChatGuardPlugin.java:53) ~[?:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:524) [Spigot.jar:git-Spigot-fdc1440-53fac9f]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_51]
authme 5.0
Скачай версию с гитхаба, исправлено.
А если человек знает английский на уровне helo me frends? (ошибки специально)
Добавил в шапку ссылку на конфиг с русскими комментариями.
 
Главное, что бы проект развивался, а то мы (русскоязычные) сильно в обломе будем - америкосовские плаги на эту тему - фуфло конкретное...
 

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

Назад
Верх