# ๐ก๏ธ KatIPAuth (KIA)
**KatIPAuth** is a Paper plugin for **Minecraft 1.21.x** that locks accounts to IPs so little gremlins can’t just hack accounts and use them.
No passwords. No auth plugins. Just **IP says yes or go home**.
Built for speed. Optimized. Async. Doesn’t freeze your server like half the plugins on Spigot.
---
## ๐ What This Plugin Does (aka why this exists)
servers have one big issue:
> upon a account being hacked, its achievements are obtained unfairly
KatIPAuth fixes that by **binding each username to an IP address**.
### Core behavior
- First join → IP gets saved
- Next joins → must be same IP
- Different IP?
- โ Login blocked **before they enter**
- ๐ข Discord webhook alert gets fired
- ๐ง Player stays OUT. No spawn, no chunks, no funny business
---
## ๐ Features
### ๐ค Player Protection
- Automatic IP binding on first join
- Zero setup for players
- Login blocked instantly on mismatch
### ๐ก Discord Alerts (cool embeds, not ugly spam)
Sends a clean embed with:
- Player username
- Stored IP
- Attempted IP
- Timestamp
- Server name
So you can watch account theft attempts like a Netflix series.
### โก Performance
- **Async disk I/O**
- **Async webhook requests**
- Never blocks the main thread
- Safe on restarts and reloads
---
## ๐งพ Commands
### Player Commands
#### /ipreset
- Resets your IP binding
- Instantly kicks you
- Next login = new IP bound
#### /ipstatus
- Shows if your IP is bound
- Shows **when** it was bound
- Does NOT leak your IP (privacy W)
---
### Admin Commands (OP only, no funny business)
#### /ipinfo
- Shows stored IP
- Shows last bind/login time
#### /ipforce
- Removes current IP binding and uses the ip from next join
- Does NOT kick the player
#### /ipreload
- Reloads config + Discord webhook
- No restart needed because we’re civilized
---
## โ๏ธ Configuration
`plugins/KatIPAuth/config.yml`
```yaml
discord:
webhook: "YOUR_DISCORD_WEBHOOK_URL"
messages:
blocked: "&cLogin blocked: IP mismatch. Contact staff if this is wrong."
```
---
## โ FAQ
### Q: Can VPNs bypass this?
- A: VPN users get blocked unless they reset IP. That’s the point.
### Q: Can two people share one IP?
- A: Yes. Same IP ≠ same username. This is IP → username, not the other way around.
### Q: Is this better than AuthMe?
- A: Different goal. AuthMe = passwords.
- KatIPAuth = identity locking using yo ip.
- Use both if you’re paranoid lmao.