Tags
Creators
Details
Licensed GPL-3.0-only
Published 2 years ago
Updated 2 weeks ago
All versions
2.0.1
Release
Geo Restrict 2.0.13 months ago 66
Uploaded by
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
Platforms
Bukkit
BungeeCord
Folia
Paper
Purpur
Spigot
Velocity
Waterfall
Changes
[v2.0.1] - 2026-07-25
Added
- Developer API & Geo-Routing (
GeoRestrictAPI):GeoRestrictAPI.lookup(ip): Asynchronous raw geolocation lookup without rule evaluation or kick decisions.GeoRestrictAPI.getCountryCode(ip): Asynchronous ISO 2-letter country code query for custom proxy routing.GeoRestrictAPI.isVpn(ip): Asynchronous VPN / proxy / hosting node detection.GeoRestrictAPI.getAsn(ip)andGeoRestrictAPI.getIsp(ip): Network AS number and provider queries.GeoRestrictAPI.checkIp(ip, playerName, uuid, bypass)andisAllowed(ip, playerName).- Automatic
ServicesManagerregistration on Paper/Spigot backends.
- Geyser & Floodgate (Bedrock) Integration:
- Reflection-based fail-safe wrapper for Floodgate API (
FloodgateHandler). - Configurable
floodgate:settings block (enabled,bypassGeorestrict,bypassVpnCheck). - Discord embed placeholders
%xuid%(Bedrock Xbox User ID) and%device_os%.
- Reflection-based fail-safe wrapper for Floodgate API (
- Automatic Config Schema Migration (v5):
- Bumped
configVersionfrom 4 to 5. - Older v2.0.0 configs auto-migrate on load, adding new
floodgate:defaults in-place without losing user settings.
- Bumped
Fixed & Improved
- Discord Webhook Threading: Moved Discord webhook delivery to a dedicated single-thread executor (
GeoRestrict-Discord), preventing slow webhooks from stalling player lookups. - Cache Debounce Scheduling: Replaced
ForkJoinPoolsleeping in cache save debouncing with aScheduledExecutorService. - Bukkit Pending-Check Pruning: Replaced inline HashMap cleaning with a periodic 60s background task.
- Expanded VPN Keywords: Added
datacamp(DataCamp Limited AS62005 / Proton VPN free servers),tzulo,leaseweb,m247,proton, anddatacenterto defaultvpnKeywords.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:5pVkdbaU:3exLoyB8"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:5pVkdbaU:3exLoyB8"
}

