Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details

GeoRestrict
Friendly geographic access control for Minecraft servers and proxies.
GeoRestrict lets you make practical rules around where connections come from. Block a short list of countries, keep a private server open to one region, stop traffic from a troublesome hosting network, or add a VPN rule while an attack is active. The policy stays in your own config.yml, where you can read it and change it.
The useful bits
- Country allowlists and blocklists
- ASN rules for individual ISPs and hosting networks
- Configurable VPN, proxy and hosting detection
- One v2.0.0 jar for Bukkit, Spigot, Paper, Purpur, Folia, BungeeCord, Waterfall and Velocity
- Local, bounded cache with atomic saves and automatic expiry cleanup
- Clear behavior when the lookup service is temporarily unavailable
- Discord block notifications with IP masking enabled by default
/georestrict check,cachestats,purgecacheandreloadgeorestrict.bypasson servers compatible with Bukkit
Start small
- Put
georestrict-2.0.0.jarin the server or proxyplugins/folder. - Restart once to create
plugins/GeoRestrict/config.yml. - Pick
BLOCKLISTorALLOWLISTand add two letter country codes. - Run
/georestrict reload. - Use
/georestrict check <ip>to confirm the result before inviting everyone back.
You do not need to enable every feature on day one. Country rules are enough for many communities; ASN and VPN controls can wait until you have a specific problem to solve.
When a lookup fails
v2.0.0 blocks by default when the cache is empty and the lookup service is unavailable. The player receives your kickMessageLookupFailure. Set blockOnLookupFailure: false if keeping the server reachable during an outage matters more than strict filtering.
Privacy, without vague promises
On a cache miss, the connecting IP goes to the configured lookup service for country, ASN and proxy data. GeoRestrict does not run a central player panel or player analytics service. Standard aggregate bStats metrics are available per platform; bStats does not receive player names or IP addresses from this plugin. Most communities can keep the generated network settings unchanged.
Requirements
- GeoRestrict targets Java 17 bytecode; use the newer Java version required by your platform
- Check the tested version table in the wiki for your Minecraft release
- A supported Bukkit server or proxy platform
- Outbound HTTPS access to the configured lookup service
Sponsored by Nexeu Hosting
High-performance, affordable hosting for your Minecraft server. Premium hardware, instant setup, 24/7 support.
Help and project links
- Source code
- Releases
- Documentation
- Privacy Policy
- Terms and Conditions
- Discord support and feedback
- Bug reports
- Demonz Development
GeoRestrict was originally created by linuxaddict and is now maintained by the Demonz Development open source community. Licensed under GPL-3.0.


