
23
2
Список изменений
🔧 Modrinth & CI/CD
- Добавлена полноценная интеграция с Modrinth (Minotaur plugin 2.8.7)
- Явно указаны поддерживаемые версии Minecraft: 1.21 – 1.21.11
- Добавлены лоадеры: Paper, Folia
- Настроена автоматическая публикация через GitHub Actions (
mvn modrinth:publish) - Версия плагина теперь синхронизируется через
${project.version}(Maven filtering)
🐛 Исправления ошибок
⚙️ Core / Concurrency
-
RateLimiter
- Исправлен data race в
AttemptBucket - Потокобезопасность теперь гарантируется через
ConcurrentHashMap.compute - Исправлена логика для невалидных IP (больше не блокируются навсегда)
- Исправлен data race в
-
WebhookNotifier
- Устранён race condition в
maybeLogDropStats - Поле
lastStatLogMillisтеперь используется корректно из worker-потока
- Устранён race condition в
🌐 Network / Proxy
-
IpFilterListener
-
Исправлена логика proxy gate
- Недоверенные прокси теперь всегда блокируются
- Ранее при
ALLOW_ALLмогли проходить без логирования
-
Удалена ошибка, при которой пустой список trusted proxies = доверие всем
-
🧪 Tests
-
IpMathSelfCheck
- Исправлена сортировка диапазонов IP
- Используется
Integer.compareUnsignedвместо signed сравнения
🧾 Logging
-
BetterIpFilterPlugin
- Устранено дублирование
formatDeniedLine
- Устранено дублирование
🚀 Улучшения производительности и кода
-
Ленивая генерация строки deny-лога (если логирование отключено — строка не создаётся)
-
Упрощена логика
onEnable(inline executor setup) -
WebhookNotifierswitchвместо if-chain вescapeJson- Оптимизирован
buildPayload(использует String concat → JDK 21 оптимизирует)
🧹 Рефакторинг
IpStore
-
Убрано дублирование через:
commitResult(...)setUnavailable(...)ensureDataFolder()
-
parseEntryсделанstatic
IpfCommand
- Исправлен порядок валидации аргументов (сначала корректность IP)
- Упрощена логика (меньше вложенности, ранние return)
- Оптимизирован
reloadhandler
IpfTabCompleter
- Используется
List.of(...)вместоArrays.asList(...) filterPrefixсделанstatic
🧠 Поведенческие изменения (важно)
- Недоверенные прокси теперь никогда не пропускаются, независимо от failsafe режима
- Пустой список trusted proxies = никто не доверен (раньше — все доверены)
- Невалидные IP больше не попадают под rate limit
⚠️ Breaking Changes
- Из API удалён метод
hasTrustedForwardedIps - Изменено поведение proxy trust (может потребовать обновления конфигурации)
Файлы
Better-IP-Filter-1.4.0.jar(835.61 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.4.0
Загрузчики
BukkitPaperPurpurSpigot
Версии игры
1.21–1.21.11
Загрузок
1
Дата публикации
вчера
