Changelog
The useful version: what changed, why it matters, and what you may need to check after updating.
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
ALLOWLISTandBLOCKLISTmodes, ASN rules, and configurable VPN/proxy detection. - Clear, editable messages for country, ASN, VPN and lookup-failure blocks.
georestrict.bypassnow 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: falseif 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.jsonwith 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,KPandIR. - Update checks compare version numbers numerically, so
1.10correctly sorts after1.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
ipquery 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.