▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
APVE

APVE

Ultra-fast async Minecraft chat filter, anti-spam, profanity censor, swear & link blocker for Paper/Spigot. Advanced packet chat moderation.

Оцените первым
96
0

Autonomous Potential Violation Eradicator (APVE)

!License !API !Folia Supported

Author / Автор: blackgeyer | Version / Версия: 1.4.5 | License / Лицензия: GPLv3
📹 Plugin Showcase / Видео с демонстрацией: Watch on YouTube

Documentation: https://blackgeyer.github.io/APVE/

Discord: https://discord.gg/TvgqnJNKXW


🇬🇧 English

Forget about ads, sharing adult content, insults, and other nonsense in the chat if you're using APVE!

APVE: High-performance, fully asynchronous Minecraft chat moderation plugin. Designed to keep your server chat clean with zero main-thread overhead. Powered by PacketEvents, Aho-Corasick, RE2J for high-optimized patterns and Fuzzy Matching system.

Plugin work showcase:

🚀 Key Features & Architecture

  • Three-Stage Pattern Matching ($O(N)$ + Fuzzy Fallback + Custom RE2J): Words are not strictly checked by 100% exact equality alone. The plugin first uses lightning-fast Aho-Corasick string matching. If an exact match is not found in the dictionary, it automatically triggers Fuzzy Matching to compare the word's similarity against dictionary patterns, catching bypasses, intentional typos, and modified letters. Custom RE2J Pattern Matching: If the first two stages fail to detect a violation, you can always write your own custom regular expressions using re2j to enhance filtration. Thanks to $O(N)$ linear time complexity and built-in protection against ReDoS attacks, they allow you to precisely catch complex bypass schemes without risking server performance.
  • 100% Asynchronous Netty Interception: Intercepts and drops chat packets at the network layer before they reach the server's main thread.
  • Multi-Engine Text Normalization: Automatically strips homoglyphs, Unicode variations, diacritics, and leetspeak bypasses. The normalization engine features three distinct operating modes:
    • Rude Mode: Aggressively strips all digits and special characters (such as |, ?, etc.) to isolate pure text for core dictionary checks.
    • Smart Mode: Intelligent leetspeak and symbol decoding that substitutes characters like | or ! with their intended alphabetic equivalents.
    • Despondent Mode: Preserves digits and special characters without transformation, designed specifically to detect patterns like domain names or server addresses (e.g., someserver2024 xyz).
  • Offline Punishment Pipeline: Issues warnings and executes configurable punishment commands automatically.
  • Commands interception: APVE also intercepts and checks the commands like /whisper or /msg.

🛠 Installation

  1. Install PacketEvents (Spigot/Paper version, NOT Bungee/Velocity proxy version) into /plugins/.
  2. Install your primary punishment engine (e.g., EssentialsX, AdvancedBan, etc.) into /plugins/.
  3. Place A.P.V.E.jar into /plugins/.
  4. Restart the server.

⚙️ Technical Compatibility

  • Cores: Paper, Purpur, Spigot, etc. (any standard Bukkit-based core) or Folia.
  • Minecraft Versions: 1.20.5 – 26.x+
  • Java: 21

⚠️ Important Usage Notes

  • Configure config.yml before deploying to production to set up punishment command templates and avoid false positives.
  • Due to the internal normalization pipeline, all banned word patterns in config.yml must be entered using Latin characters only (e.g., use shlyuha instead of шлюха). Refer to documentation.txt for details.

💻 Commands & Permissions

CommandDescriptionPermissionDefault
/apveBase command for plugin management.apve.useOP
/apve reloadReloads plugin configuration.apve.reloadOP
/apve warns show {player}Displays current warning count for a player.apve.warns.showOP
/apve warns remove {player} {amount}Removes a specified number of warnings from a player.apve.warns.removeOP
/apve warns clear {player}Resets all warnings for a player.apve.warns.clearOP
/apve notify toggleToggles staff alerts for detected violations.apve.notify.toggleOP
/apve check {string}Normalizes and tests a string against filter rules.apve.checkOP
/apve helpDisplays available commands and usage info.apve.helpOP

🔑 Additional Permissions & Immunity Nodes

PermissionDescriptionDefault
apve.violation.notifyAllows receiving real-time chat notifications about player violations.False
apve.insult.immuneGrants immunity against general insult detections.False
apve.fam.insult.immuneGrants immunity against family insult detections.False
apve.caps.immuneGrants immunity against upper-case (caps) filter.False
apve.spam.immuneGrants immunity against spam filter.False
apve.adult.content.immuneGrants immunity against adult content filter.False
apve.social.immuneGrants immunity against social media links filter.False
apve.advertisement.immuneGrants immunity against advertisement and external resource sharing.False
apve.staff.insult.immuneGrants immunity against staff insult detections.False

🇷🇺 Русский

Забудьте о рекламе, взрослом контенте, оскорблениях и прочей ереси в чате, если вы используете APVE!

APVE: Высокопроизводительный асинхронный плагин модерации чата. Поддерживает чистоту сервера в автоматическом режиме с нулевой нагрузкой на главный поток сервера. Работает на базе PacketEvents, алгоритма Aho-Corasick, библиотеки RE2J для высокооптимизированных паттернов и интеллектуальной системы Fuzzy Matching.

🚀 Архитектурные преимущества

  • Трёхэтапная проверка ($O(N)$ + Fuzzy Fallback + Кастомный RE2J): Проверка слов не ограничивается строго 100% точным совпадением. Плагин сначала выполняет ультрабыстрый поиск через алгоритм Ахо-Корасик. Если точное совпадение в словаре не найдено, автоматически включается Fuzzy Matching (нечёткое сравнение), которое сопоставляет степень схожести слова с паттернами из словаря, отлавливая обходы, опечатки и подмену букв. Кастомные RE2J паттерны: Если первые два этапа не смогли обнаружить нарушение, вы всегда можете написать свои кастомные регулярные выражения на базе re2j. Благодаря линейной сложности $O(N)$ и встроенной защите от ReDoS-атак, они позволяют точечно отлавливать сложные схемы обхода фильтра без риска для производительности сервера.

  • Асинхронный перехват Netty: Фильтрация и сброс запрещённых пакетов происходят на сетевом уровне до их обработки главным потоком сервера.

  • Многорежимный нормализатор текста: Автоматически нейтрализует обходы через символы-омоглифы, вариации Unicode, диакритику и Leetspeak. Движок нормализации имеет три различных режима работы:

  • Rude Mode: Агрессивно вырезает все цифры и спецсимволы (такие как |, ? и т.д.), изолируя чистый текст для базовых проверок по словарям.

  • Smart Mode: Интеллектуальное декодирование Leetspeak и символов, заменяющее знаки вроде | или ! на аналогичные по смыслу буквы.

  • Despondent Mode: Сохраняет цифры и спецсимволы без изменений. Режим специально предназначен для детекта доменных имён и адресов серверов (например, someserver2024 xyz).

  • Автоматические оффлайн-наказания: Автоматический учёт предупреждений и исполнение настраиваемых команд наказаний.

  • Перехват команд: APVE также перехватывает и проверяет личные сообщения и команды коммуникации (например, /whisper, /msg и другие).

🛠 Установка

  1. Поместите плагин PacketEvents (Spigot/Paper версию, НЕ Proxy/Bungee/Velocity) в папку /plugins/.
  2. Поместите плагин наказаний (например, EssentialsX, AdvancedBan и т.д.) в папку /plugins/.
  3. Загрузите файл A.P.V.E.jar в папку /plugins/.
  4. Перезапустите сервер.

⚙️ Совместимость

  • Ядра: Paper, Purpur, Spigot или любое другое ядро, основанное на Bukkit или Folia.
  • Версии Minecraft: от 1.20.5 до 26.x+
  • Java: 21

⚠️ Важные предупреждения

  • Перед запуском настройте config.yml и шаблоны команд наказаний, чтобы исключить ложные срабатывания.
  • Из-за работы нормализатора все паттерны запрещённых слов в config.yml вносятся строго латиницей (пример: шлюха -> shlyuha). Подробный разбор — в documentation.txt.

💻 Команды и права

КомандаОписаниеПравоПо умолчанию
/apveБазовая команда управления плагином.apve.useOP
/apve reloadПерезагружает конфигурацию плагина.apve.reloadOP
/apve warns show {player}Показывает количество предупреждений игрока.apve.warns.showOP
/apve warns remove {player} {число}Снимает указанное количество предупреждений.apve.warns.removeOP
/apve warns clear {player}Полностью очищает предупреждения игрока.apve.warns.clearOP
/apve notify toggleПереключает получение уведомлений о нарушениях.apve.notify.toggleOP
/apve check {строка}Проверяет и нормализует строку на предмет нарушений.apve.checkOP
/apve helpВыводит список команд и их описание.apve.helpOP

🔑 Дополнительные права и узлы иммунитета

ПравоОписаниеПо умолчанию
apve.violation.notifyПозволяет получать уведомления о нарушениях игроков в чате в реальном времени.OP
apve.insult.immuneИммунитет к наказаниям за обычные оскорбления.False
apve.fam.insult.immuneИммунитет к наказаниям за оскорбление родных.False
apve.caps.immuneИммунитет к фильтру сообщений верхним регистром (капс).False
apve.spam.immuneИммунитет к фильтру спама.False
apve.adult.content.immuneИммунитет к фильтру контента для взрослых (18+).False
apve.social.immuneИммунитет к фильтру распространения соцсетей.False
apve.advertisement.immuneИммунитет к фильтру рекламы и сторонних ресурсов.False
apve.staff.insult.immuneИммунитет к наказаниям за оскорбление администрации (Staff).False
Партнёрский материал

Сервер для плагина APVE - как у профи

Плагин APVE создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином APVE для друзей можно за пару минут - BungeeHost всё уже подготовил.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.3.x26.2.x26.1.x1.21.x1.20.x

Поддерживаемые окружения

Сервер

Зависимости

Ссылки

Создатели

Детали

Лицензия:
Опубликован:2 месяца назад
Обновлён:1 неделю назад
Главная