Installation
One jar for the supported server and proxy families. Pick the place where you want connections checked.
1. Pick the right jar
There's only one jar, georestrict-2.0.0.jar. The same file works on:
- Bukkit 1.16+ (Spigot, Paper, Purpur, ...)
- Folia 1.20+ — detected at runtime, region-aware scheduler is used automatically
- BungeeCord, Waterfall
- Velocity 3.2.0+
2. Install
Bukkit / Paper / Folia / Spigot
cd /path/to/server
cp georestrict-2.0.0.jar plugins/
./start.sh # or systemctl restart minecraft
BungeeCord / Waterfall
cd /path/to/proxy
cp georestrict-2.0.0.jar plugins/
./start.sh
Velocity
cd /path/to/velocity
cp georestrict-2.0.0.jar plugins/
./start.sh
3. Verify the install
On startup you should see this in the console:
[GeoRestrict] GeoRestrict v2.0.0 starting...
[GeoRestrict] GeoRestrict enabled.
And a config file at plugins/GeoRestrict/config.yml (Bukkit) or plugins/GeoRestrict/config.yml (Bungee/Velocity).
4. Set up the Worker (recommended)
The default config points at the shared Worker at geoprotect.demonzdevelopment-e64.workers.dev. If you want the gateway under your own Cloudflare account:
- Fork or copy
worker/src/index.jsfrom this repo. - Deploy it:
npx wrangler deployin theworker/directory. - Set
GATEWAY_TOKENSas a Worker secret. - Update
gatewayUrlandgatewayTokenin your plugin config.
GATEWAY_TOKENS on the Worker, requests without a matching gatewayToken are rejected with HTTP 401. The default config has an empty token — leave it that way when using the public Worker, or set one to lock down your private one.
Updating
Replace the jar and restart. Missing config keys are merged with documented defaults while your existing values are kept. configVersion tracks the file schema, not the plugin release.
Uninstalling
Delete the jar, delete plugins/GeoRestrict/, restart. Nothing is written outside that directory.