{"id":89727,"date":"2026-06-05T05:59:00","date_gmt":"2026-06-05T02:59:00","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/katipauth\/"},"modified":"2026-06-05T05:59:00","modified_gmt":"2026-06-05T02:59:00","slug":"katipauth","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/katipauth\/","title":{"rendered":"KatIPAuth"},"content":{"rendered":"<p># \ud83d\udee1\ufe0f KatIPAuth (KIA)<\/p>\n<p>![Download on Modrinth](https:\/\/modrinth.com\/plugin\/katipauth) ![GitHub](https:\/\/github.com\/oiupoyt\/katIPAuth)<\/p>\n<p>**KatIPAuth** is an optimized plugin for **Minecraft 1.19 to 1.21.x** that locks accounts to IPs.<br \/>\nIt provides account security for cracked servers without the need for complex authentication plugins.<br \/>\nNo passwords. No sessions. Just **IP says yes or go home**.<\/p>\n<p>## \ud83d\ude80 Key Features<\/p>\n<p>### \ud83d\udc64 UUID-IP Identity Locking<br \/>\n&#8211; **Dual Binding**: Binds both player UUID and IP on first join for maximum security.<br \/>\n&#8211; **Bidirectional Verification**: UUID can only use its bound IP, and each IP can only be used by its bound UUID.<br \/>\n&#8211; **Multi-Account Support**: Optional multi-account mode allows multiple UUIDs on the same IP with configurable limits.<br \/>\n&#8211; **Login Block**: Automatically blocks access from mismatched UUID-IP combinations.<br \/>\n&#8211; **Specific Error Messages**: Clear, actionable kick messages that explain why access was denied.<\/p>\n<p>### \ud83d\udcf6 Subnet Locking (BETA)<br \/>\n&#8211; **Dynamic IP Support**: Solving dynamic IP issues by allowing connections within the same subnet.<br \/>\n&#8211; **Security Balance**: Provides flexibility for players whose IPs change within their ISP&#8217;s range while still blocking unauthorized access from elsewhere.<\/p>\n<p>### \ud83d\udce1 Discord Alerts &#038; Logging<br \/>\n&#8211; **Real-time Discord Notifications**: Sends detailed embeds to your configured webhook with player info, stored ID, attempt details, and timestamps.<br \/>\n&#8211; **Console Logging**: All login attempts (success and failure) are logged to console and files for audit trails.<br \/>\n&#8211; **Complete Audit Trail**: Local log files with timestamps for compliance and troubleshooting.<\/p>\n<p>### \ud83d\udee0\ufe0f Maintenance &#038; Utilities<br \/>\n&#8211; **Auto Config Update**: Automatically adds missing settings and comments to your `config.yml` on plugin updates.<br \/>\n&#8211; **H2 Database**: Persistent, reliable storage with automatic migrations from legacy formats.<br \/>\n&#8211; **Formatted Data**: View binding times in standard readable formats (`yyyy-MM-dd HH:mm:ss`).<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83e\uddfe Commands<\/p>\n<p>### Player Commands<br \/>\n#### \/ipstatus<br \/>\n&#8211; Shows if your currently used IP is bound.<br \/>\n&#8211; Shows exactly **when** it was bound in a readable format.<\/p>\n<p>### Admin Commands (Permission: `ipauth.admin`)<br \/>\n#### \/ipinfo <player>\n&#8211; Displays the stored UUID, IP address, and original binding time for any player.<br \/>\n#### \/ipreset <player>\n&#8211; Resets a player&#8217;s UUID-IP binding and kicks them instantly. Shows which UUID and IP were removed. The next IP they join with will be their new bound IP.<br \/>\n#### \/ipforce <player>\n&#8211; Removes a player&#8217;s current UUID-IP binding. Unlike `\/ipreset`, it does NOT kick the player; the next time they join, a new UUID-IP pair will be bound.<br \/>\n#### \/ipreload<br \/>\n&#8211; Reloads the `config.yml` and re-initializes all settings (including Discord webhooks).<\/p>\n<p>&#8212;<\/p>\n<p>## \u2699\ufe0f Configuration<\/p>\n<p>This is a sample of the `config.yml` with explanations for each section:<\/p>\n<p>&#8220;`yaml<br \/>\n# Discord Webhook URL for logging IP changes (optional)<br \/>\ndiscord:<br \/>\n  webhook: &#8220;PUT_WEBHOOK_URL_HERE&#8221;<\/p>\n<p># Privacy settings<br \/>\nprivacy:<br \/>\n  mask-ips: false # If true, last two octets of IPs will be replaced with x (e.g. 192.168.xx.xx)<\/p>\n<p># Debug settings<br \/>\ndebug:<br \/>\n  verbose: false # If true, print debug info in console for player joins, blocks, IP changes, etc.<\/p>\n<p># Security settings<br \/>\nsecurity:<br \/>\n  allow-multiple-accounts: true # If true, multiple UUIDs can bind to the same IP.<br \/>\n  max-accounts-per-ip: 2 # Maximum number of accounts allowed per IP. Need allow-multiple-accounts=true for this to work.<\/p>\n<p># Customizable messages<br \/>\nmessages:<br \/>\n  blocked: &#8220;&#038;cLogin blocked. If you believe this is a mistake contact the owner&#8221; # Default fallback message<br \/>\n  uuid-ip-mismatch: &#8220;&#038;cLogin blocked: UUID bound to different IP. Contact the owner if this is a mistake&#8221;<br \/>\n  ip-uuid-mismatch: &#8220;&#038;cLogin blocked: IP already bound to another account&#8221;<br \/>\n  max-accounts: &#8220;&#038;cLogin blocked: Maximum number of accounts reached for this IP&#8221;<\/p>\n<p># Beta features (Use with caution)<br \/>\nbeta:<br \/>\n  subnet-locking: false # If true, players can join as long as they are in the same \/24 subnet (e.g. 192.168.1.*)<br \/>\n&#8220;`<\/p>\n<p>### Security Settings Explained<br \/>\n&#8211; **allow-multiple-accounts**: When `true`, multiple players can use the same IP (useful for local networks). When `false`, each IP is locked to a single UUID.<br \/>\n&#8211; **max-accounts-per-ip**: When multi-account is enabled, limits the number of different UUIDs that can use the same IP.<\/p>\n<p>&#8212;<\/p>\n<p>## \u2753 FAQ<\/p>\n<p>### Q: How does the UUID-IP binding work?<br \/>\n&#8211; A: On first join, a player&#8217;s UUID and IP are bound together. To access the server, a player must use both the same UUID (account) AND the same IP. This prevents account sharing across different IPs and IP sharing across different accounts (unless multi-account is enabled).<\/p>\n<p>### Q: Can I allow multiple players on the same IP?<br \/>\n&#8211; A: Yes. Enable `security.allow-multiple-accounts: true` and set `security.max-accounts-per-ip` to your desired limit (default: 2). This is useful for local networks or shared internet connections.<\/p>\n<p>### Q: Can dynamic IP players use this?<br \/>\n&#8211; A: Yes. If their IP changes within the same subnet, you can enable **Subnet Locking** in the beta settings.<br \/>\n*Reminder: Subnet Locking is a beta feature and may not be fully stable.*<\/p>\n<p>### Q: Can VPNs bypass this?<br \/>\n&#8211; A: No. VPN users get blocked unless they join from an IP that matches their binding or the subnet.<\/p>\n<p>### Q: Is this compatible with other auth plugins?<br \/>\n&#8211; A: Yes. It works independently before players even enter the server, making it a great second layer of security alongside plugins like AuthMe.<\/p>\n<p>### Q: How do I see what&#8217;s blocked and why?<br \/>\n&#8211; A: Check the console logs (filtered by [KatIPAuth]) or your local log files in `plugins\/KatIPAuth\/LOGS\/`. Enable `debug.verbose: true` for detailed information. Discord webhook (if configured) will also send alerts.<\/p>\n<p>### Q: How do I reset a player&#8217;s binding?<br \/>\n&#8211; A: Ask an admin to use `\/ipreset <player>` to reset their UUID-IP binding and kick them. They can then rejoin to bind new credentials. The reset command shows which UUID and IP were removed.<\/p>\n<p>### Q: Where are logs stored?<br \/>\n&#8211; A: Local logs are stored in `plugins\/KatIPAuth\/LOGS\/` with daily files named `yyyy-MM-dd.log`. Discord webhooks (if configured) provide real-time alerts.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Simple auth system using first join ip instead of a classic registration system<\/p>\n","protected":false},"featured_media":89728,"template":"","meta":{"_minecraft_slug":"katipauth","_minecraft_project_id":"7cGy8DrI","_minecraft_author":"oiupoyt","_minecraft_license":"GPL-3.0-or-later","_minecraft_downloads":126,"_minecraft_follows":3,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"katipauth.zip","_minecraft_size_bytes":89123,"_minecraft_version_count":4,"_minecraft_updated_at":"2026-05-15T19:07:58.709800Z","_minecraft_date_created":"2026-02-09T23:48:37.383925Z","_minecraft_date_modified":"2026-03-30T16:41:16.111817Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/katipauth","_minecraft_icon_attachment_id":89728,"_minecraft_imported_at":"2026-06-05T02:59:02+00:00","_minecraft_import_hash":"b8d74ce6a7161efb9ee3e32a5f2d5e08","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,126,127,128,129,92],"mod_loader":[130,132,133,134],"minecraft_version":[54,55,56,57,58,59,36,60,93,94,101,102,62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-89727","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-bukkit","mod_category-management","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_category-utility","mod_loader-bukkit","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","minecraft_version-1-19","minecraft_version-1-19-1","minecraft_version-1-19-2","minecraft_version-1-19-3","minecraft_version-1-19-4","minecraft_version-1-20","minecraft_version-1-20-1","minecraft_version-1-20-2","minecraft_version-1-20-3","minecraft_version-1-20-4","minecraft_version-1-20-5","minecraft_version-1-20-6","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>KatIPAuth - 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\/katipauth\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"KatIPAuth - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Simple auth system using first join ip instead of a classic registration system\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/katipauth\/\" \/>\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=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/katipauth\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/katipauth\\\/\",\"name\":\"KatIPAuth - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/katipauth\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/katipauth\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/katipauth-icon-831dde000788c46829301d4b6ea06a98e4a64cf2_96.webp\",\"datePublished\":\"2026-06-05T02:59:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/katipauth\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/katipauth\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/katipauth\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/katipauth-icon-831dde000788c46829301d4b6ea06a98e4a64cf2_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/katipauth-icon-831dde000788c46829301d4b6ea06a98e4a64cf2_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/katipauth\\\/#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\":\"KatIPAuth\"}]},{\"@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":"KatIPAuth - 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\/katipauth\/","og_locale":"en_US","og_type":"article","og_title":"KatIPAuth - Minecraft","og_description":"Simple auth system using first join ip instead of a classic registration system","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/katipauth\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/katipauth\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/katipauth\/","name":"KatIPAuth - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/katipauth\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/katipauth\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/katipauth-icon-831dde000788c46829301d4b6ea06a98e4a64cf2_96.webp","datePublished":"2026-06-05T02:59:00+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/katipauth\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/katipauth\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/katipauth\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/katipauth-icon-831dde000788c46829301d4b6ea06a98e4a64cf2_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/katipauth-icon-831dde000788c46829301d4b6ea06a98e4a64cf2_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/katipauth\/#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":"KatIPAuth"}]},{"@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\/89727","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:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/89728"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=89727"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=89727"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=89727"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=89727"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}