v2.0.0 Latest

14 July 2026 ยท complete rewrite

v2.0.0 turns GeoRestrict from a small country filter into a maintained, multi-platform access-control plugin. The setup is still one jar and one readable config; the machinery behind it is much safer.

Rules and player experience

  • Country ALLOWLIST and BLOCKLIST modes, ASN rules, and configurable VPN/proxy detection.
  • Clear, editable messages for country, ASN, VPN and lookup-failure blocks.
  • georestrict.bypass now works on Bukkit-compatible backends by making the final decision when live permission data is available.
  • Lookup failures are fail-closed by default. Set blockOnLookupFailure: false if your community prefers availability over strict enforcement.
  • Commands for manual lookups, cache statistics, cache purges and safe config reloads.

Platforms and scheduling

  • One shaded jar for Bukkit, Spigot, Paper, Purpur, Folia, BungeeCord, Waterfall and Velocity.
  • Folia-aware scheduling with a clean Bukkit fallback on incompatible forks.
  • Bungee and Velocity no longer pretend backend player permissions are available during proxy login.
  • Separate, privacy-conscious bStats IDs for Bukkit, BungeeCord and Velocity.

Cache, config and resilience

  • A bounded local geo_cache.json with atomic writes, five-second write coalescing and scheduled expiry cleanup.
  • Config migration that merges new defaults into existing YAML instead of appending a second, untidy block.
  • Private and documentation networks โ€” including CGNAT, TEST-NET, IPv4-mapped IPv6 and 2001:db8::/32 โ€” bypass public geolocation.
  • The built-in country fallback now matches the generated config: CN, RU, KP and IR.
  • Update checks compare version numbers numerically, so 1.10 correctly sorts after 1.9.

Gateway and privacy

  • A Cloudflare Worker gateway with provider failover, optional shared-token authentication and strict IP validation.
  • An optional self-hosted VPS gateway tier. The Worker tries it first and falls back to upstream providers when it is unavailable.
  • Worker-to-VPS calls preserve the configured path and send the address through the documented ip query parameter.
  • Connection, read-timeout and general I/O failures now produce distinct log messages.
  • Direct provider fallback remains opt-in because it changes where player addresses are sent.
  • Discord delivery retries once after a temporary network or 5xx failure.

Quality and documentation

  • Nineteen Java unit tests plus four Worker gateway tests, along with syntax checks for both JavaScript gateways.
  • A complete documentation field guide covering installation, configuration, commands, architecture, support and release history.
  • A warmer, accessible docs design with keyboard-friendly menus and accordions, readable callouts, colourful section headings and responsive layouts.
  • New Pillow-generated penguin logo, icon and marketplace banner. No SVG build step is required.
  • Human-written marketplace copy for the major Minecraft plugin directories.

v1.0.0 Original

2024

The original linuxaddict release introduced country lists, ASN filtering, ISP-keyword VPN detection, Discord notifications and support for the main Bukkit and proxy platforms.