v2.0.1 Latest

25 July 2026 · hotfix & developer API

v2.0.1 introduces a public Developer API, Geyser / Floodgate (Bedrock) integration, expanded VPN detection keywords, and core performance & thread safety hotfixes.

Developer API & Bedrock Integration

  • Public GeoRestrictAPI class for third-party plugins on Paper/Spigot, BungeeCord, and Velocity.
  • Paper/Bukkit ServicesManager registration out of the box.
  • Optional Geyser / Floodgate (Bedrock player) detection with configurable floodgate: bypass settings.
  • New Discord embed placeholders: %xuid% and %device_os% for Bedrock player logging.

Performance & Thread Safety

  • Isolated Discord webhooks to a dedicated single-thread executor (GeoRestrict-Discord) so slow webhooks never block player lookups.
  • Replaced ForkJoinPool thread sleeping in cache save debouncing with a dedicated ScheduledExecutorService.
  • Moved Bukkit pending-check pruning to a periodic 60s task instead of running inline during every login.
  • Expanded default VPN keywords to include datacamp (Proton VPN host), tzulo, leaseweb, m247, proton, and datacenter.

v2.0.0

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 lookup service with provider failover and one-day caching.
  • An independent fallback server that can keep country and ASN rules available during a provider outage.
  • Connection, read-timeout and general I/O failures now produce distinct log messages.
  • Removed the legacy provider URL from the plugin jar. The plugin now talks only to its configured Worker; provider failover stays behind that boundary.
  • Discord delivery retries once after a temporary network or 5xx failure.
  • Detailed deployment, secrets and server security notes now live in the GitHub README instead of marketplace pages or the everyday setup guide.

Quality and documentation

  • 22 Java unit tests, 19 Java integration tests, 12 Worker tests and four fallback server tests, plus JavaScript, XML, HTML and live service checks.
  • Real startup smoke coverage for Paper, Purpur, Folia, BungeeCord, Waterfall and Velocity 4.0.0, including generated config and community message verification.
  • A complete documentation field guide covering installation, configuration, commands, architecture, support and release history.
  • A plain-language Privacy Policy and Terms and Conditions, linked from the wiki and every marketplace listing.
  • Generated config comments now link directly to the wiki and Discord, and warn operators not to change Worker settings without understanding the lookup path.
  • Startup logs now invite bug reports and feedback, reflecting Demonz Development's user-first support approach.
  • Removed leftover scheduler hooks, duplicate constants, retired config fields, unused documentation styles and an unreferenced asset copy. Reserved IP checks now run locally before any Worker request.
  • User-facing documentation now says “fallback server” instead of using hosting-specific shorthand.
  • 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, plus a hand-drawn SVG interface icon set.
  • 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.