# ProtectCord - BungeeCord Edition
## Platform Information
**Compatible with:** BungeeCord & Waterfall (1.8.8 - 1.21+)
**Java Version:** Java 8+
**Server Type:** Proxy plugin
---
## What This Plugin Does
ProtectCord for BungeeCord provides **network-wide IP protection** by checking every connecting player against our threat intelligence database at the proxy level. This means ALL players are verified before they can reach any of your backend servers.
### Key Features
✅ **Network-Wide Protection** - One installation protects your entire server network
✅ **First Line of Defense** - Blocks malicious players before they reach backend servers
✅ **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
✅ **Centralized Config** - Single configuration for all backend servers
### How It Works
1. **Player Connects to Proxy** → IP is captured at BungeeCord login
2. **Background Check** → IP is checked against ProtectCord API (async)
3. **Decision Made** → Allow or block based on VPN/Proxy/Risk level
4. **Action Taken** → Player continues to backend 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 BungeeCord Edition?
### Perfect For:
- 🌐 **Server Networks** - Protect multiple backend servers with one installation
- 🛡️ **Centralized Security** - Single point of IP verification for your entire network
- 💰 **API Efficiency** - Check each player once at proxy, not on every backend server
- 🔄 **Waterfall Compatible** - Works on both BungeeCord and Waterfall proxies
### When to Choose BungeeCord Edition:
- Running a multi-server network with BungeeCord/Waterfall
- Want to protect all backend servers with one plugin installation
- Need centralized IP protection for your network
- Want to save API calls (check once at proxy vs. on every backend server)
### Network Architecture:
```
Player → BungeeCord (ProtectCord checks here) → Backend Servers (protected)
```
**Important:** When using BungeeCord edition, you typically **only install it on the proxy**, not on backend servers. This provides network-wide protection and reduces API usage.
---
## 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-BungeeCord-1.0.0.jar`
2. Drop into your **proxy's** `plugins/` folder (not backend servers)
3. Start or restart your proxy
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 proxy
7. Done! Your entire network is protected ✅
---
## Performance
- **Async Processing** - IP checks run in background threads
- **No Proxy Lag** - Main thread is never blocked
- **Fast Responses** - Most API calls complete in <100ms
- **Network Efficient** - Check once at proxy instead of on every backend server
- **Minimal Overhead** - Lightweight footprint on proxy resources
---
## Network Setup Best Practices
### Recommended Setup:
1. ✅ Install ProtectCord **only on BungeeCord proxy**
2. ✅ Configure `server.properties` on backend servers: `online-mode=false`
3. ✅ Configure BungeeCord: `ip_forward=true`
4. ✅ Enable IP forwarding on backend servers (modern versions handle this automatically)
### Why Install Only on Proxy?
- **API Efficiency** - Players checked once at proxy, not per-backend-server
- **Network Protection** - Blocks threats before they reach any backend server
- **Easier Management** - Single config for entire network
- **Cost Effective** - Reduces API calls significantly
---
## 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
- ✅ Network-wide protection for BungeeCord/Waterfall
- ✅ Support for BungeeCord 1.8.8 - 1.21+
---
**ProtectCord BungeeCord Edition - Network-wide protection for your entire server network**
*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" }