Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
🔐 IP Security
-
Automatically save the first IP when a player joins for the first time.
-
Account is linked to one or more trusted IPs.
-
For an IP that does not belong to the account:
-
player is blocked before joining;
-
IP can be automatically banned.
-
A player can have multiple trusted IPs.
-
IPs are case-insensitive when comparing.
-
all can allow an account from any IP.
-
IP bans are stored in data.yml, so they persist after a restart.
🚫 IP mismatch
By default, this is enabled:
block-join-on-ip-mismatch: true ban-ip-on-mismatch: true
So for example:
Steve → trusted IP: 1.2.3.4
Someone tries with Steve from 5.6.7.8 → ❌ refused + IP is banned. The player also receives a message stating that they may only use their own account.
🌐 VPN/proxy detection
It actually includes a ProxyCheck.io integration.
Capable of:
- Detect VPN/proxy
- Block VPN usage
- Exclude trusted IPs from the VPN check
- Temporarily cache results
- Use API key
- Set timeout
But importantly: VPN detection is OFF by default.
vpn-check: enabled: false
📢 Notifications
In the event of an IP ban, the plugin can:
-
Send a Minecraft broadcast;
-
Show that broadcast only to ipguard.admin;
-
Display IP address masked;
-
Optionally use a Discord webhook.
The Discord webhook is currently also disabled.
🎮 Commands
/ip whitelist <player> <ip|all>
Add IP to an account.
Normal player:
/ip whitelist YourName your.ip.address
According to the plugin, a normal player may only whitelist their own account.
Admins with ipguard.admin can whitelist other players.
all:
/ip whitelist Steve all
makes Steve’s account accessible from any IP.
⸻
/ip unbanip <ip>
Removes an IP from the IP ban list.
/ip unbanip 1.2.3.4
This is an admin function.
⸻
/ip check <player>
Shows a player's saved trusted IPs.
/ip check Steve
For example:
Trusted IPs for Steve:
- 1.2.3.4
- 5.6.7.8
It can also indicate that the player has all. ⸻
💬 Discord commands
/dc and /discord are the same.
/dc
Displays the configured Discord link and makes it clickable.
/dc setup <link>
Admin sets up the appeal Discord:
/dc setup https://discord.gg/xxxxx
That link is then used on the kick/ban page.
/dc remove
Removes the Discord link.
/discord supports exactly the same commands.
⸻
🔑 Permissions
ipguard.use
- default true
- basic use of /ip and /dc
- ability to whitelist own IP
- view Discord link
ipguard.admin
- default OP only
- whitelist other players
- use all
- unban IPs
- manage Discord link
- see staff-only IP ban notifications
💾 Data
The plugin uses:
plugins/IPGuard/data.yml
This stores, among other things:
- players
- trusted IPs
- allow-all status
- banned IPs
- Discord link


