Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
Platforms
Tags
Creators
Details
Licensed MIT
Published last week
Updated last month
🐛 Found a bug or have a suggestion?
If you encountered a bug or have an idea for the project:
- Please open an Issue on GitHub.
AntiVPN+
A lightweight Paper plugin that detects VPN and proxy connections using proxycheck.io and sends real-time Discord webhook alerts.
Features
- Proxy/VPN detection on player join via proxycheck.io API
- Discord webhook alerts — rich embeds with player info, IP, country, and risk data
- Optional auto-kick — block VPN/proxy players from joining
- IP whitelist — skip checks for trusted IPs
- Built-in caching — reduces redundant API calls (configurable TTL)
- Async by design — HTTP requests run off the main thread, zero lag to gameplay
- Reload command — apply config changes without restarting the server
Requirements
- Server: Paper 1.21+
- Java: 17+
- API key: A proxycheck.io API key (free tier available at proxycheck.io)
Installation
- Download the latest
AntiVPNPlus.jarfrom the releases page - Place the jar into your server's
plugins/folder - Restart the server or run
/reload(not recommended on production) - Configure the plugin in
plugins/AntiVPNPlus/config.yml
Configuration
# API key for proxycheck.io (leave empty to use the free tier)
api-key: ""
# proxycheck.io API endpoint
api-url: ""
# Discord webhook URL (leave empty to disable)
webhook-url: ""
# Send webhook for every connection (false = VPN only)
send-always: true
# Kick players detected as VPN/proxy
kick-vpn: false
# How long to cache IP check results (minutes)
cache-duration-minutes: 60
# HTTP request timeout (seconds)
timeout-seconds: 5
# IPs to skip proxy checking for
whitelist-ips:
- "127.0.0.1"
- "192.168.1.1"
Config options
| Option | Default | Description |
|---|---|---|
api-key |
"" |
Your proxycheck.io API key. Leave empty for free tier (limited queries). |
api-url |
"" |
Custom API endpoint. Leave empty to use the default proxycheck.io/v3/. |
webhook-url |
"" |
Discord webhook URL for join alerts. Leave empty to disable. |
send-always |
true |
Send webhook for all players (true) or only when a VPN is detected (false). |
kick-vpn |
false |
Automatically kick players detected as VPN/proxy. |
cache-duration-minutes |
60 |
How long to cache API results before re-checking an IP. |
timeout-seconds |
5 |
HTTP request timeout for API and webhook calls. |
whitelist-ips |
["127.0.0.1"] |
IPs that bypass the proxy check entirely. |
Commands
| Command | Permission | Description |
|---|---|---|
/antivpn reload |
antivpn.reload (default: op) |
Reload the plugin configuration |
Discord Webhook
When a player joins, the plugin sends a rich embed to your Discord channel:
The embed shows:
- Player name
- Connection status (
VPNorNo VPN) - IP address
- Country
( ⚠ Warning: The plugin creator is not responsible for people who install this plugin on their server, and I am also not responsible for other people's IP addresses. )


