Также обновите BungeeControl и VelocityControl.
- Улучшено: переменные и JavaScript теперь пропускаются для сообщений, которые не содержат {, что снижает нагрузку CPU на активных чат-каналах
- Улучшено: улучшена совместимость с Folia для проверок сущностей и sync/async-отчётов
- Исправлено: больше не крашится на серверах Arclight
ПОЖАЛУЙСТА, ПРОЧИТАЙТЕ ПОЛНОСТЬЮ — ЭТО ОЧЕНЬ ВАЖНО:
Наши плагины поддерживают более 10 лет обратной совместимости, и это становится всё менее стабильным, более багованным и замедляет выпуск обновлений.Голосование за прекращение поддержки старых версий > Plugin Compatibility Raise
- Я хочу продолжать с удовольствием разрабатывать плагины и делать их стабильными, быстрыми и простыми в использовании (в том числе на крупных сетях и Folia), поэтому рассматриваю возможность повышения минимальной совместимости вместо текущих Java 8 и Minecraft 1.8.8.
- Я также рассматриваю отказ от поддержки BungeeCord в ChatControl и Foundation, поскольку эта платформа уже давно теряет актуальность. Waterfall (форк BungeeCord от команды Paper) объявил о прекращении поддержки ещё 2 года назад.
Голосование за отказ от BungeeCord > BungeeCord Sunset Vote
Голосование завершится через 48 часов, пожалуйста, проголосуйте ПО ОБОИМ вопросам как можно скорее.
Большое спасибо,
kangarko
В этом посте обновления плагина нет. JAR-файл остался тем же, что и в предыдущей версии.
SPARK REPORTS NEEDED
I am rewriting ChatControl to be more performant, optimized and async. And I'd like to check how it performs on your server today to see where the biggest gaps are!
If you run a server of any size, can you please run a spark report and email the URL privately to mineacademy.org/contact?
No worries how big or slow if your server - the more reports I get the more I can optimize the plugin!
Your report will stay private.
Thanks,
Matej
(There's no new version in this update, the JAR is the same 11.8.10 as last time.)
- Улучшение | Внешние муты из LiteBans, AdvancedBan, BanManager, Essentials и CMI теперь всегда применяются при попытке игрока написать в чат, даже если мут ChatControl отключён или у игрока есть право chatcontrol.bypass.mute. Ранее проверка внешних мутов в этих случаях пропускалась
- Улучшение | AdvancedBan добавлен в softdepend, чтобы хук загружался в правильном порядке
- Исправление | Исправлено отображение {player_unmute_time_remaining}, которое показывало некорректные (отрицательные или сильно ошибочные) значения при муте из внешнего плагина. Теперь время рассчитывается как конец минус текущее время
- Исправление | Вывод команды /mute status теперь показывает корректное оставшееся время для игроков с мутом из внешних плагинов, в соответствии с исправлением выше
- Исправление | Исправлена ошибка "Cannot instantiate SerializedMap in mode YAML from (ArrayList)", которая раньше воспринималась как краш, если в formats/*.yml секция Parts: была записана как YAML-список (например, - Part: ...), а не как map. Теперь такой файл пропускается с понятным предупреждением в консоли и ссылкой на документацию (#3626)
- Новое | Цвет чата и градиент теперь можно использовать одновременно. Выбор градиента больше не сбрасывает {player_chat_color}, поэтому строки формата, использующие эту переменную (например, для цвета имени), продолжают работать, а градиент применяется только к {message}. Спасибо за предложение (#3619)
- Новое | Добавлены три placeholder’а для кастомных форматов: {player_chat_gradient_from} (начальный hex, например #FF5555), {player_chat_gradient_to} (конечный hex) и {player_chat_gradient_name} (предустановленное имя, например Sunset или none)
- Улучшение | /chc color status теперь отображает цвет чата и градиент рядом, если заданы оба, вместо скрытия цвета за градиентом
- Улучшение | Кнопка стекла "Reset chat color" в меню /chc color теперь сбрасывает только обычный цвет. Для сброса градиента используйте кнопку в подменю Gradients. Команда /chc color reset по-прежнему сбрасывает всё сразу
- Улучшение | Переписан IP-фильтр в rules/global.rs: теперь проверяется, что каждый октет находится в диапазоне 0–255, поэтому даты (2026-04-20-09), номера телефонов и строки версий больше не попадают под фильтр рекламы. Добавлены игнорируемые слова (coord, tp, pos, warp, build, version, buying, selling и др.), которые могут стоять перед корректными наборами из 4 чисел
- Улучшение | Фильтр доменов теперь игнорирует английские составные слова и идентификаторы из программирования, похожие на домены (log.in, sign.in, System.in, String.to, File.is), что предотвращает ложные срабатывания в технических обсуждениях и обычных фразах
- Улучшение | Фильтр нецензурной лексики теперь распознаёт составные слова (motherfucker, clusterfuck), а также базовые и замаскированные варианты
- Исправление | Исправлена проблема с правилами ignore players, где происходило сравнение только полного совпадения сообщения с именем одного игрока. Теперь из текста удаляются имена всех онлайн-игроков перед проверкой, поэтому правила спама/флуда больше не срабатывают на сообщения, просто содержащие ник (например, Lexiiiiiik больше не вызывает срабатывание фильтра повторяющихся символов). Спасибо Lanya из обсуждения #3324
- Прочее | Внутреннее: обработка ignore-players теперь компилирует один общий паттерн на сообщение (вместо отдельного для каждого игрока) и сортирует имена по убыванию длины, чтобы избежать ошибок с пересекающимися префиксами (например, Ab и Abc)
- Улучшено: настройки /spy off, выбор отдельных функций в меню /spy и переключения через /spy toggle больше не сбрасываются при каждом входе у игроков с правом chatcontrol.spy.autoenable. Автовключение теперь происходит только при первом входе; после этого выбранные игроком категории (команды, почта, таблички, книги, наковальня, личные сообщения, каналы) сохраняются между повторными входами.
- New | Совместимость с Minecraft 26.1
- Improve | Автоматическая миграция таблиц базы данных почты и логов на новую схему при запуске
- Improve | Улучшенное сообщение об ошибке, если ключ Prefix в разделе Messages файла settings.yml имеет неправильный формат
- Fix | Исправлена гонка потоков, из-за которой кэш игрока мог удаляться до завершения асинхронной обработки чата
- Fix | Предзагрузка кэша базы данных игрока во время асинхронного входа для устранения разрыва между «игрок онлайн» и «кэш загружен»
- Fix | Исправлены сообщения о входе/выходе/кике с устаревшими цветами, вызывавшие ошибки на клиенте vanilla на современных серверах
- Fix | Исправлен ложноположительный срабатывание фильтра рекламных доменов на NBT-тегах вроде 10b или 3.5d
- Fix | Исправлен «NullPointerException» в сообщениях о смерти, когда убийца не имеет кастомного имени
- Fix | Ошибки при известных проблемах с подключением к Redis на прокси больше не возникают
- Fix | Исправлено, что символ \n в командах кикал игроков в Minecraft 26.1
- Fix | Исправлена уязвимость ReDoS при конвертации цвета из legacy в MiniMessage
Примечание разработчика: надеюсь, вам нравится более частый выпуск обновлений! Нет, я не перекладываю работу на ИИ. Я получил спонсорство от Microsoft for Startups, поэтому использую Claude Opus 4.6 на максимальных настройках через них как помощника, как это сейчас делают многие опытные разработчики, но я корректно направляю его и проверяю всё. Также мы добавили автоматическую отправку отчётов о сбоях на GitHub (это можно отключить в settings.yml), поэтому может показаться, что у плагина стало больше багов, что не так — просто раньше большинство не открывало тикеты, и у меня не было возможности это исправить. Теперь мы будем чаще исправлять подобные редкие случаи. Если вам нравится, что я вернулся к разработке, пожалуйста, оставьте отзыв!
Пожалуйста, также обновите BungeeControl и VelocityControl.
- Исправлено: устранён сбой "ConcurrentModificationException", возникавший при таймерных рассылках, когда синхронизация прокси записывала данные в коллекции SyncedCache, пока основной поток их читал
- Исправлено: устранён редкий сбой "NoClassDefFoundError: github/scarsz/discordsrv/dependencies/jda/api/JDA", возникавший при недоступности классов DiscordSRV во время выполнения (повреждённый jar, hot-swap)
- Исправлено: устранена ошибка "Cannot invoke PlayerCache.fromCached() because cache is null", возникавшая при смерти игрока во время асинхронного события spy
- Улучшение: система отчётов об ошибках Sentry заменена на собственный self-hosted краш-репортер. Ключ Sentry в settings.yml теперь называется Error_Auto_Reporting
- Исправление: решена проблема, при которой команды с пагинацией (например, /chc log) отображали смешанный вывод с другими плагинами на базе Foundation при совместном использовании