- Поддерживаемые версии
- 1.16
- 1.17
- 1.18
- 1.19
- 1.20
- Ядра и Прокси
- Bukkit
- Spigot
- Paper
- Минимальная версия Java
- 17
Что это?
LexusFilter — это продвинутый анти-рекламный и анти-спам фильтр, созданный для защиты Minecraft-серверов от:
- рекламы серверов (IP, домены, Discord, Telegram и др.)
- обходов фильтра (d i s c o r d . g g, zero-width, §, unicode spoofing)
- мата и оскорблений
- спама, капса, символов и повторов
- названий предметов, книг, табличек с нарушениями
- рекламных предметов в инвентаре
Особенности:
Модуль | Функция |
---|---|
![]() | Фильтрация сообщений чата |
![]() | Блокировка переименования предметов |
![]() | Проверка сохранённых книг |
![]() | Фильтрация табличек |
![]() | Проверка инвентаря игрока при входе |
![]() | Капс, повтор, флуд, слишком быстрые сообщения |
![]() | Для каждого модуля — своя команда |
![]() | Уведомления в Telegram |
![]() | blacklist_words.txt, blacklist_patterns.txt, whitelist_words.txt |
![]() | Фильтрация обходов через символы и цвета |
![]() | Поддержка %player%, auto mute/kick/ban |
![]() | В файл logs/filter_log.txt и/или в Telegram |
![]() | Управление фильтром без перезагрузки сервера |
Примеры конфигурации:
YAML:
# ================================
# LexusFilter — Config
# ================================
bstats-enabled: true # Включить или выключить // Оставьте, если хотите сделать приятно разработчику. Это будет мотивом обновлять.
modules:
# Проверка переименования предметов через наковальню и прочие механики
item-rename-filter: true
# Проверка сообщений в чате (реклама, IP, ссылки и т.д.)
chat-filter: true
# Проверка написанных игроками книг (включая редактирование)
book-filter: true
# Сканирование предметов в инвентаре игрока при входе на сервер
join-inventory-scan: true
# Проверка текста, написанного на табличках
sign-filter: true
anti-spam: true # Включить антиспам-модуль (проверка на частоту сообщений, капс и т.д.)
# ================================
# Система наказаний
# ================================
punishments:
# Для каждого модуля можно указать СВОЮ команду
# %player% — будет заменено на ник нарушителя
item:
# Наказание за рекламу в названии предмета
command: "ban-ip %player% 30d реклама"
chat:
# Наказание за рекламу в чате
command: "mute %player% 15m Реклама в чате"
book:
# Наказание за рекламу в книгах (можно оставить пустым)
command: ""
sign:
# Наказание за рекламу на табличках
command: ""
join:
# Наказание за наличие рекламных предметов при входе
command: ""
# ============================================
# Отдельная настройка наказаний за спам
# ============================================
spam:
enabled: true # Включить систему наказаний за спам
default-command: "mute %player% 10m Спам" # Команда по умолчанию, если не указана для конкретного случая
repeat:
enabled: true
command: "mute %player% 10m Повтор одинаковых сообщений"
caps:
enabled: true
command: "warn %player% Пожалуйста, не используй КАПС"
symbol-flood:
enabled: true
command: "kick %player% Флуд символами"
too-fast:
enabled: true
command: "mute %player% 5m Сообщения слишком часто"
# ================================
# Сообщения
# ================================
# Сообщение, отправляемое игроку при нарушении (цвета поддерживаются)
warn-message: "§cРеклама запрещена!"
# Имя файла с запрещёнными словами (в папке плагина)
blacklist-file: "blacklist_words.txt"
# Имя файла с разрешёнными словами (игнорируются при совпадении)
whitelist-file: "whitelist_words.txt"
# ================================
# Антиспам
# ================================
antispam:
enabled: true # Включить антиспам-модуль
min-delay-ms: 1000 # Задержка между сообщениями (в миллисекундах)
repeat-limit: 2 # Сколько одинаковых сообщений разрешено подряд
anti-caps: true # Проверка на капс
caps-threshold: 70 # % заглавных букв (от 0 до 100), при котором считается капсом
anti-symbol-flood: true # Проверка на повторяющиеся символы
max-repeated-char: 5 # Максимум одинаковых символов подряд
Пример настройки Логов:
YAML:
# ================================
# Логирование LexusFilter
# ================================
log:
enabled: true # Включить/выключить систему логов полностью
to-file: true # Записывать логи в файл (logs/filter_log.txt)
to-telegram: false # Отправлять логи в Telegram (требуется настроенный бот)
timezone: "Europe/Moscow" # См. список таймзон: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
telegram:
botToken: "your_bot_token_here" # Токен бота Telegram
chatId: "your_chat_id_here" # ID чата (можно группу, канал, юзера)
# ================================
# Форматы логов по модулям
# ================================
formats:
item: "[ITEM] %player% переименовал предмет с нарушением: %message%"
chat: "[CHAT] %player% отправил сообщение с нарушением: %message%"
book: "[BOOK] %player% попытался сохранить книгу с нарушением: %message%"
sign: "[SIGN] %player% разместил табличку с нарушением: %message%"
join: "[JOIN] %player% вошёл с подозрительными предметами: %message%"
spam: "[SPAM] %player% нарушил антиспам: %message%"
# Вы можете добавлять сюда свои шаблоны под любые модули
# Используйте холдеры:
# %player% — ник игрока
# %message% — нарушающее содержимое
# %module% — имя модуля (если не найден шаблон)
Примеры blacklist_words.txt
YAML:
discord.gg
t.me
mcserver
.aternos.me
.ru
.com
.net
.org
Примеры whitelist_words.txt
YAML:
discord # если просто слово
vk # если без ссылки
top # чтобы не блокировался "топ"
- Зависимости
- Нету
- Команды и права
- /lf reload # Перезагрузка конфигурации
/lf on <модуль> # Включить модуль
/lf off <модуль> # Отключить модуль
/lf on # Показать выключенные модули (TabCompleter)
/lf off # Показать включённые модули (TabCompleter)