# ProtectCord - Paper Edition
## Platform Information
**Compatible with:** Paper 1.13 - 1.21+ (including PaperSpigot)
**Java Version:** Java 17+
**Server Type:** Bukkit-based server plugin (Paper fork)
---
## What This Plugin Does
ProtectCord for Paper provides real-time IP protection for your Minecraft server by checking every connecting player against our threat intelligence database. Optimized for Paper's async event system and modern API.
### Key Features
✅ **Paper-Optimized** - Uses Paper's async login events for best performance
✅ **VPN/Proxy Detection** - Automatically blocks VPN and proxy connections
✅ **Risk Assessment** - AI-powered threat scoring from UNKNOWN to CRITICAL
✅ **Smart Whitelist** - Bypass protection for trusted players, UUIDs, or IPs
✅ **Discord Alerts** - Real-time webhook notifications when players are blocked
✅ **Lightning Fast** - Fully async, leverages Paper's performance improvements
✅ **Modern API** - Built for Paper 1.13+ with latest features
### How It Works
1. **Player Connects** → IP is captured during Paper's async login event
2. **Background Check** → IP is checked against ProtectCord API (fully async)
3. **Decision Made** → Allow or block based on VPN/Proxy/Risk level
4. **Action Taken** → Player joins or sees custom kick message
5. **Notification** → Optional Discord webhook alert
### Automatic Bypasses
The plugin intelligently bypasses checking for:
- **Localhost** (`127.0.0.1`, `::1`)
- **Private Networks** (`192.168.x.x`, `10.x.x.x`, `172.16-31.x.x`)
- **Whitelisted Players** (configured via commands)
---
## Why Use Paper Edition?
### Perfect For:
- ⚡ **Modern Servers** - Optimized for Paper 1.13+
- 🚀 **Performance** - Leverages Paper's async improvements
- 🔧 **Latest Features** - Uses modern Paper API capabilities
- 🎮 **All Server Types** - Survival, PvP, Skyblock, Minigames, etc.
### When to Choose Paper Edition:
- Running Paper 1.13 or newer
- Want best performance with Paper's optimizations
- Have Java 17+ available
- Using modern Minecraft versions
---
## Configuration
Located at: `plugins/ProtectCord/config.yml`
```yaml
api-key: "YOUR_API_KEY_HERE"
# Block settings
enable-ip-check: true
block-vpn: true
block-proxy: true
block-datacenter: false
block-bogon: true
blocked-risk-level: "HIGH"
# Discord webhooks (optional)
discord-webhook:
enabled: false
url: ""
events:
denied: true
accepted: false
whitelisted: true
error: true
```
---
## Commands
| Command | Description |
|---------|-------------|
| `/protectcord reload` | Reload configuration |
| `/protectcord stats` | View API usage stats |
| `/protectcord check <player\|ip>` | Manually check an IP |
| `/protectcord whitelist add player <name>` | Whitelist a player |
| `/protectcord whitelist add uuid <uuid>` | Whitelist a UUID |
| `/protectcord whitelist add ip <ip>` | Whitelist an IP |
| `/protectcord list` | View all whitelisted entries |
**Aliases:** `/pc`, `/protect`
---
## Permissions
| Permission | Description | Default |
|------------|-------------|---------|
| `protectcord.admin` | Access to all commands | OP |
---
## Installation
1. Download `ProtectCord-Paper-1.0.0.jar`
2. Drop into your server's `plugins/` folder
3. Start or restart your server
4. Get a free API key from [protectcord.com](https://protectcord.com)
5. Add your API key to `plugins/ProtectCord/config.yml`
6. Run `/protectcord reload` or restart again
7. Done! Your server is protected ✅
---
## Performance
- **Fully Async** - Uses Paper's async login events
- **Zero Server Lag** - Never blocks the main thread
- **Ultra Fast** - Most API calls complete in <100ms
- **Paper-Optimized** - Leverages Paper's performance improvements
- **Minimal Overhead** - Lightweight footprint on server resources
---
## Support
- 💬 **Discord:** [protectcord.com/discord](https://protectcord.com/discord)
- 🐛 **Bug Reports:** Submit an issue in our discord!
- 📖 **Documentation:** [api.protectcord.com](https://api.protectcord.com)
---
## Changelog
### Version 1.0.0 (Initial Release)
- ✅ Real-time IP verification via ProtectCord API
- ✅ VPN, Proxy, and Datacenter detection
- ✅ Risk-based blocking system (UNKNOWN to CRITICAL)
- ✅ Player/UUID/IP whitelist system
- ✅ Discord webhook integration
- ✅ Configurable kick messages
- ✅ API usage statistics command
- ✅ Auto-update checker
- ✅ bStats integration
- ✅ Optimized for Paper 1.13 - 1.21+
- ✅ Uses Paper's async login events
---
**ProtectCord Paper Edition - Optimized protection for modern Paper servers**
*Made with ❤️ for the Minecraft community*
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }