
23
2
Better IP Filter 1.4.0
release28 марта 2026 г.🔧 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.3.0
release27 марта 2026 г.Better IP Filter 1.21.X (1.3.0)
🚀 Improvements
- Обновлён
plugin.ymlдля Paper1.21.11 - Упрощён парсинг IPv4
- Улучшена логика
IpStore - Добавлен rollback при неудачных
add()/remove() - Улучшены сообщения конфигурации и валидации
- Невалидные
trusted-forwarded-ipsтеперь пропускаются с предупреждением - Команды и kick-сообщения переведены на Adventure
Component
🐛 Fixes
- Исправлен критический баг
Ipv4.INVALID = -1 INVALIDзаменён наInteger.MIN_VALUE- Исправлена обработка IP с отрицательным
int-представлением - Исправлен edge-case для
255.255.255.255 - Исправлена работа
IntHashSetпри удалении элементов из probe-chain - Убран deprecated
ChatColor - Убран
@SuppressWarnings("deprecation") ipStrв listener теперь всегда без порта- Исправлен
canMergeдля0xFFFFFFFF
🧪 Tests
- Добавлен
testBroadcastIpNotInvalid - Добавлен
testIntHashSetTombstone
⚠️ Requirements
- Paper 1.21+
🧠 Internal
isValidIpпереименован вisValidEntryswitchобновлён до expression switchCollectors.toList()заменён на.toList()
Better IP Filter 1.2.0
release27 января 2026 г.1.2.0 – Correctness & QoL Update
🔐 Security & Correctness
- Fixed and hardened proxy mode behavior
- Enforced trusted proxy validation for Bungee / Velocity setups
- Added explicit deny reason for untrusted proxy connections
- Clarified proxy handling (relies on Paper / proxy forwarding)
⚙️ QoL & Control
- Added
/ipf status— live plugin diagnostics - Added
/ipf reload— reload config and whitelist without restart - Improved command feedback for add/remove operations
- Safer, readable output for
/ipf list
⚡ Performance
- Reduced rate-limiter cleanup overhead under high load
- Preserved fully async, non-blocking login checks
📦 Compatibility
- Fully compatible with 1.1.x
- No config changes required (new options have safe defaults)
- Paper 1.21.x · Java 21+
Better IP Filter 1.1.0
release18 января 2026 г.1.1.0
Security & Reliability Update
- Added proxy-aware IP handling (Bungee / Velocity)
- Implemented connection rate limiting (anti-bruteforce)
- Added fail-safe mode for whitelist loading failures
- Added support for CIDR blocks and IP ranges
- Added audit logging for denied connections
- Added optional webhook notifications for security events
Compatibility: Paper 1.21–1.21.11 · Java 21+
Better IP Filter 1.0.0
release15 января 2026 г.1.0.0 – Initial Release
FEATURES
- IP whitelist filtering for player connections
- Early join validation using
AsyncPlayerPreLoginEvent - Toggleable IP filtering without server restart
- IPv4 address validation
- Persistent whitelist storage (
ips.yml) - Lightweight, dependency-free implementation
COMMANDS
/ipf add <ip>– Add IP to whitelist/ipf remove <ip>– Remove IP from whitelist/ipf list– List all whitelisted IPs/ipf on– Enable IP filtering/ipf off– Disable IP filtering
PERMISSIONS
betteripfilter.admin– Full accessbetteripfilter.add– Add IPsbetteripfilter.remove– Remove IPsbetteripfilter.list– View whitelistbetteripfilter.toggle– Enable/disable filtering
Совместимость
Создатели
Детали
Лицензия:MIT
Опубликован:2 месяца назад
Обновлён:1 день назад
