{"id":75290,"date":"2026-06-04T11:45:46","date_gmt":"2026-06-04T08:45:46","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/geoblock\/"},"modified":"2026-06-04T11:45:46","modified_gmt":"2026-06-04T08:45:46","slug":"geoblock","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/geoblock\/","title":{"rendered":"GeoBlock"},"content":{"rendered":"<p># GeoBlock<\/p>\n<p>A Paper plugin that filters incoming connections by country using a local<br \/>\nMaxMind GeoLite2 database, with bypass support for trusted IPs and UUIDs,<br \/>\noptional VPN\/proxy detection and Discord webhook notifications.<\/p>\n<p>## Features<\/p>\n<p>&#8211; Country-based filtering in `blacklist` or `whitelist` mode (ISO 3166-1<br \/>\n  alpha-2 codes).<br \/>\n&#8211; IP and UUID bypass list with IPv4\/IPv6 CIDR support.<br \/>\n&#8211; Permission integration through the standard Bukkit API: works with<br \/>\n  LuckPerms when present, falls back to vanilla `\/op` otherwise.<br \/>\n&#8211; Async Discord webhook for connection denials, with toggleable IP<br \/>\n  inclusion for privacy-conscious deployments.<br \/>\n&#8211; Hot configuration reload via `\/geoblock reload`.<\/p>\n<p>## Build<\/p>\n<p>&#8220;`sh<br \/>\n.\/gradlew build<br \/>\n&#8220;`<\/p>\n<p>The shaded jar is produced at `build\/libs\/GeoBlock-<version>.jar` with all<br \/>\nruntime dependencies relocated under `fr.horizonsmp.geoBlock.lib.*` to<br \/>\navoid clashes with other plugins.<\/p>\n<p>## Run a development server<\/p>\n<p>&#8220;`sh<br \/>\n.\/gradlew runServer<br \/>\n&#8220;`<\/p>\n<p>Boots a Paper development server with the plugin loaded.<\/p>\n<p>## Requirements<\/p>\n<p>&#8211; Java 25<br \/>\n&#8211; Paper 1.21.x (Minecraft `26.1.2` API target)<br \/>\n&#8211; A MaxMind GeoLite2 license key for automatic database updates, or a<br \/>\n  manually provided MMDB file under the plugin data folder.<\/p>\n<p>## Configuration<\/p>\n<p>After the first run, edit the files generated under `plugins\/GeoBlock\/`:<\/p>\n<p>&#8211; `config.yml` \u2014 filtering mode, country list, GeoIP, VPN and Discord<br \/>\n  options. Each option is documented inline.<br \/>\n&#8211; `messages.yml` \u2014 user-facing strings (kick reasons, command output).<br \/>\n&#8211; `whitelist.yml` \u2014 bypass list (managed through commands).<\/p>\n<p>The plugin reads `config.yml`, `messages.yml` and `whitelist.yml` at<br \/>\nstartup and through `\/geoblock reload`.<\/p>\n<p>## Commands<\/p>\n<p>| Command                                | Permission                | Description                                |<br \/>\n|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;|<br \/>\n| `\/geoblock reload`                     | `geoblock.command.reload` | Reload all configuration files             |<br \/>\n| `\/geoblock bypass add ip <ip|cidr>`   | `geoblock.command.bypass` | Add an IP or CIDR to the bypass list       |<br \/>\n| `\/geoblock bypass add uuid <uuid>`     | `geoblock.command.bypass` | Add a player UUID to the bypass list       |<br \/>\n| `\/geoblock bypass remove ip <ip>`      | `geoblock.command.bypass` | Remove an IP\/CIDR entry                    |<br \/>\n| `\/geoblock bypass remove uuid <uuid>`  | `geoblock.command.bypass` | Remove a UUID entry                        |<br \/>\n| `\/geoblock bypass list`                | `geoblock.command.bypass` | Show every bypass entry                    |<br \/>\n| `\/geoblock help`                       | `geoblock.admin`          | Print the command summary                  |<\/p>\n<p>`geoblock.admin` (default `op`) implies the two child permissions, so<br \/>\noperators get full access on a server without LuckPerms.<\/p>\n<p>## License<\/p>\n<p>See LICENSE file.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Country-based connection filter with bypass whitelist . Free GeoIP via db-ip.com. No account required.<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"_minecraft_slug":"geoblock","_minecraft_project_id":"ernJj3m9","_minecraft_author":"Orchiwi_","_minecraft_license":"MIT","_minecraft_downloads":4,"_minecraft_follows":0,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"geoblock.zip","_minecraft_size_bytes":3169150,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-16T12:15:44.360034Z","_minecraft_date_created":"2026-05-10T01:04:05.289496Z","_minecraft_date_modified":"2026-05-07T01:51:23.589972Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/geoblock","_minecraft_icon_attachment_id":0,"_minecraft_imported_at":"2026-06-04T08:45:46+00:00","_minecraft_import_hash":"5af6825d4d1e17afb741dfc286d150a5","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[126,127,128,92],"mod_loader":[132,133],"minecraft_version":[163],"class_list":["post-75290","mod","type-mod","status-publish","hentry","mod_category-management","mod_category-paper","mod_category-purpur","mod_category-utility","mod_loader-paper","mod_loader-purpur","minecraft_version-26-1-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>GeoBlock - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/geoblock\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GeoBlock - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Country-based connection filter with bypass whitelist . Free GeoIP via db-ip.com. No account required.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/geoblock\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/geoblock\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/geoblock\\\/\",\"name\":\"GeoBlock - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"datePublished\":\"2026-06-04T08:45:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/geoblock\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/geoblock\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/geoblock\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"GeoBlock\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GeoBlock - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/geoblock\/","og_locale":"en_US","og_type":"article","og_title":"GeoBlock - Minecraft","og_description":"Country-based connection filter with bypass whitelist . Free GeoIP via db-ip.com. No account required.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/geoblock\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/geoblock\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/geoblock\/","name":"GeoBlock - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"datePublished":"2026-06-04T08:45:46+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/geoblock\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/geoblock\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/geoblock\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"GeoBlock"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/75290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=75290"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=75290"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=75290"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=75290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}