Geo Restrict
2.1.0-spongeCountry, ASN, VPN and proxy access rules for Minecraft servers and proxy networks.

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.
Sponsored by Nexeu Hosting
High-performance, affordable hosting for your Minecraft server. Premium hardware, instant setup, 24/7 support.
The useful bits
- Country allowlists and blocklists
- ASN rules for individual ISPs and hosting networks
- Configurable VPN, proxy and hosting detection
- Geyser / Floodgate (Bedrock) integration with custom bypass options
- Developer API (
GeoRestrictAPI) for Paper, BungeeCord, and Velocity (Geo-Routing, VPN queries, ASN lookups) - One v2.0.2 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.2.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.2 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.
Live Statistics
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
Help and project links
- Source code
- Download on Modrinth
- 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.
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta