# ProtectCord - Velocity Edition
## Platform Information
**Compatible with:** Velocity 3.0+ (1.8.8 - 1.21+)
**Java Version:** Java 17+
**Server Type:** Proxy plugin
---
## What This Plugin Does
ProtectCord for Velocity provides **network-wide IP protection** by checking every connecting player against our threat intelligence database at the proxy level. Built with Velocity's modern API for maximum performance and reliability.
### 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
✅ **Modern API** - Built with Velocity's high-performance plugin architecture
### How It Works
1. **Player Connects to Proxy** → IP is captured at Velocity login
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 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 Velocity Edition?
### Perfect For:
- 🚀 **Modern Networks** - Built for Velocity's high-performance architecture
- 🌐 **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
### When to Choose Velocity Edition:
- Running a modern multi-server network with Velocity
- Want best performance with Velocity's optimizations
- Need centralized IP protection for your network
- Have Java 17+ available
- Prefer Velocity over BungeeCord for better performance
### Network Architecture:
```
Player → Velocity (ProtectCord checks here) → Backend Servers (protected)
```
**Important:** When using Velocity 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.toml`
```toml
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 = ""
[discord-webhook.events]
denied = true
accepted = false
whitelisted = true
error = true
```
**Note:** Velocity uses TOML format instead of YAML
---
## 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-Velocity-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.toml`
6. Run `/protectcord reload` or restart proxy
7. Done! Your entire network is protected ✅
---
## Performance
- **Fully Async** - Uses Velocity's async event system
- **Zero Proxy Lag** - Never blocks the main thread
- **Ultra Fast** - Most API calls complete in <100ms
- **Velocity-Optimized** - Leverages Velocity's performance improvements
- **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 Velocity proxy**
2. ✅ Configure `server.properties` on backend servers: `online-mode=false`
3. ✅ Configure Velocity: `player-info-forwarding-mode = "modern"` (or `bungeeguard`)
4. ✅ Install Velocity forwarding support on backend servers (Paper/Spigot plugins)
### 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
---
## Velocity-Specific Features
This edition leverages Velocity's modern architecture:
- ✅ Uses Velocity's async event API
- ✅ Supports modern player info forwarding
- ✅ Compatible with Velocity 3.0+ features
- ✅ Thread-safe implementation
- ✅ Optimized for Velocity's netty-based networking
---
## 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 Velocity proxies
- ✅ Support for Velocity 3.0+ (1.8.8 - 1.21+)
- ✅ Modern async event handling
- ✅ TOML configuration format
---
**ProtectCord Velocity Edition - Modern, high-performance protection for Velocity networks**
*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" }