▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/Better IP Filter
Better IP Filter

Better IP Filter

Lightweight and fast IP whitelist filter for Paper 1.21.x.

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 (больше не блокируются навсегда)
  • WebhookNotifier

    • Устранён race condition в maybeLogDropStats
    • Поле lastStatLogMillis теперь используется корректно из worker-потока

🌐 Network / Proxy

  • IpFilterListener

    • Исправлена логика proxy gate

      • Недоверенные прокси теперь всегда блокируются
      • Ранее при ALLOW_ALL могли проходить без логирования
    • Удалена ошибка, при которой пустой список trusted proxies = доверие всем

🧪 Tests

  • IpMathSelfCheck

    • Исправлена сортировка диапазонов IP
    • Используется Integer.compareUnsigned вместо signed сравнения

🧾 Logging

  • BetterIpFilterPlugin

    • Устранено дублирование formatDeniedLine

🚀 Улучшения производительности и кода

  • Ленивая генерация строки deny-лога (если логирование отключено — строка не создаётся)

  • Упрощена логика onEnable (inline executor setup)

  • WebhookNotifier

    • switch вместо if-chain в escapeJson
    • Оптимизирован buildPayload (использует String concat → JDK 21 оптимизирует)

🧹 Рефакторинг

IpStore

  • Убрано дублирование через:

    • commitResult(...)
    • setUnavailable(...)
    • ensureDataFolder()
  • parseEntry сделан static

IpfCommand

  • Исправлен порядок валидации аргументов (сначала корректность IP)
  • Упрощена логика (меньше вложенности, ранние return)
  • Оптимизирован reload handler

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 для Paper 1.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 переименован в isValidEntry
  • switch обновлён до expression switch
  • Collectors.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 access
  • betteripfilter.add – Add IPs
  • betteripfilter.remove – Remove IPs
  • betteripfilter.list – View whitelist
  • betteripfilter.toggle – Enable/disable filtering

Совместимость

Minecraft: Java Edition

1.21.x

Платформы

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:MIT
Опубликован:2 месяца назад
Обновлён:1 день назад
Главная