MessageFilter: полный контроль над чатом вашего Minecraft-сервера
Каждый администратор сервера Minecraft рано или поздно сталкивается с проблемой замусоренного чата. Плагины защиты, экономики, мини-игр — все они генерируют сообщения, которые не всегда нужны игрокам. Кто-то хочет скрыть надоедливые уведомления о входе, кто-то — заменить англоязычные реплики на родной язык, а кому-то просто необходимо ограничить частоту повторяющихся фраз. Именно для таких задач создан MessageFilter — легковесный Bukkit-плагин, который превращает хаос в чате в отлаженную систему.
Зачем нужен MessageFilter?
Представьте: на вашем сервере установлен плагин, который каждые пять секунд оповещает всех о состоянии экономики. Или другой мод, сообщающий «You can't build here!» при попытке сломать блок в защищённом регионе. Игроки раздражаются, чат превращается в свалку. MessageFilter решает эти проблемы тремя способами: скрытие сообщений, замена текста и настройка кулдауна. Больше не нужно редактировать конфиги десятков плагинов — все правила хранятся в одном месте.
Основные возможности плагина
- Скрытие сообщений — полное удаление нежелательных строк из чата. Можно навсегда спрятать спам от любого источника.
- Замена текста — перевод сообщений на другой язык или изменение формулировок. MessageFilter работает как универсальный переводчик для плагинов, у которых нет встроенной локализации.
- Кулдаун — ограничение частоты показа одного и того же сообщения. Например, надоедливое предупреждение будет появляться не чаще раза в 30 секунд.
- Гибкие методы сравнения — точное совпадение, поиск подстроки, начало/конец строки и регулярные выражения (RegEx).
Все правила хранятся в YAML-файлах внутри папки MessageFilter/rules. Вы можете редактировать их вручную или управлять через игровые команды — плагин подстраивается под ваш стиль администрирования. Кстати, если вы активно экспериментируете со сборками модов на клиенте, обратите внимание: многие полезные модификации для фильтрации чата или интерфейса легко устанавливаются через лаунчер foxygame.net — современный инструмент, где можно скачать моды прямо из меню, не копаясь в файловой системе. Это особенно удобно, когда нужно быстро протестировать несколько вариантов.
Как работают правила MessageFilter
Каждое правило строится на нескольких параметрах: тип сравнения, маска входящего сообщения, текст замены и время кулдауна. Плагин перехватывает любое сообщение до его отображения, сверяет с активными правилами и модифицирует вывод. Игрок видит уже обработанный текст.
Доступно пять типов сравнения:
- EQUAL — сравнение без учёта регистра. «Aaaa Bbbb» и «aaaa bbbb» считаются одинаковыми.
- CONTAINS — проверка наличия подстроки в сообщении.
- START — сообщение должно начинаться с указанного шаблона.
- END — сообщение заканчивается заданной строкой.
- REGEX — мощные регулярные выражения для сложных паттернов.
В маске замены можно использовать плейсхолдеры %word1%, %word2% и так далее — они автоматически подставят соответствующие слова из оригинального сообщения. Это упрощает перевод, когда нужно сохранить часть исходного текста.
Создание правил: команды и ручная настройка
Основная команда плагина — /msgfilter (алиасы: /mfilter, /filter). С её помощью можно добавлять, изменять и удалять правила прямо в игре. Например:
/msgfilter add newrule— создать правило с идентификатором newrule./msgfilter set newrule type EQUAL— задать тип сравнения./msgfilter set newrule input &3[RP] &cThis place is protected!— указать входящую маску (с цветовыми кодами)./msgfilter set newrule output &6Здесь нельзя ломать и строить!— текст замены на русском.
Для массового сбора сообщений предусмотрена команда /msgfilter save. Она записывает входящие строки в файл, что удобно при анализе логов или быстром создании правил на основе реального спама.
Ручное редактирование YAML-файлов даёт полный контроль. Пример структуры:
roadprotector: type: EQUAL message-mask: '&3[RP] &cThis place is protected!' replace-to: '&6Здесь нельзя ломать и строить!' cooldown-time: '' use-formating: true removejoin: type: REGEX message-mask: '\w+ joined the server\.' replace-to: '' cooldown-time: '' use-formating: false annoying: type: EQUAL message-mask: 'You can\'t build here!' replace-to: '' cooldown-time: '5s' use-formating: false
Здесь первое правило переводит сообщение плагина RoadProtector, второе — полностью скрывает оповещения о входе игроков, третье — показывает предупреждение о запрете строительства не чаще раза в пять секунд.
Зависимости и тестирование
MessageFilter требует установленный ProtocolLib — популярную библиотеку для работы с пакетами. Без неё плагин не сможет перехватывать сообщения. Проверить работоспособность можно командой /msgfilter test. Если вы видите «MessageFilter test failed!», скорее всего, нужно обновить или установить ProtocolLib.
Плагин также включает автоматическую проверку обновлений, которая раз в час обращается к dev.bukkit.org. При желании её можно отключить, выставив параметр version-check: false в config.yml.
Права доступа
messagefilter.config— доступ к командам управления правилами.messagefilter.test— разрешение на выполнение теста при входе игрока.
Заключение
MessageFilter — незаменимый инструмент для администраторов, которые ценят порядок в чате и хотят дать игрокам чистый, понятный интерфейс общения. Гибкие правила, поддержка регулярных выражений, кулдаун и возможность перевода делают его универсальным решением. Настройка не требует глубоких знаний программирования: несколько команд или правка YAML-файла — и ваш сервер заговорит так, как нужно именно вам. Попробуйте MessageFilter, и вы забудете о спаме в чате навсегда.