Player Info Forwarding Configuration
Player info forwarding allows Gate to pass real player information (IP addresses and UUIDs) to backend Minecraft servers. Without forwarding, backend servers only see Gate’s IP address for all players.Why Forwarding Matters
When players connect through a proxy: Without forwarding, backend servers:- See Gate’s IP for all players (breaks IP bans, geolocation)
- Can’t verify player UUIDs (breaks bans, permissions, player data)
- Can’t distinguish between players
- See real player IP addresses
- Get authentic player UUIDs
- Can properly ban, track, and identify players
Configuration
Player information forwarding settings
Forwarding Modes
Gate supports multiple forwarding modes for compatibility with different server software:- Velocity (Recommended)
- BungeeGuard
- Legacy
- None
Modern secure forwarding using Velocity’s modern forwarding protocol. Best choice for Paper/Purpur/Spigot 1.13+.
- ✅ Most secure (uses HMAC authentication)
- ✅ Best performance
- ✅ Widely supported (Paper, Purpur, Spigot 1.13+)
- ✅ No plugin needed
- ❌ Not compatible with 1.12.2 and older
config/paper-global.yml or paper.yml:server.properties:Choosing a Forwarding Mode
Use this decision tree:Velocity
Best for: Modern servers (1.13+)✅ Most secure
✅ Best performance
✅ Recommended
✅ Best performance
✅ Recommended
BungeeGuard
Best for: Older servers (1.7-1.12)✅ Secure
⚠️ Needs plugin
⚠️ Needs plugin
Legacy
Best for: Trusted networks only⚠️ Not secure
⚠️ LAN/private only
⚠️ LAN/private only
None
Best for: Testing only❌ No forwarding
❌ Not recommended
❌ Not recommended
Secrets Configuration
Velocity Secret
Secret key for Velocity modern forwarding. Must match between Gate and backend servers.
BungeeGuard Secret
Secret token for BungeeGuard forwarding. Must match backend BungeeGuard plugin configuration.
Complete Configuration Examples
Velocity Mode (Recommended)
BungeeGuard Mode
Legacy Mode
Backend Server Configuration
Paper/Purpur/Spigot 1.13+
For Velocity mode:-
Edit
config/paper-global.yml(orpaper.ymlon older versions): -
Edit
server.properties: - Restart server
Spigot 1.7-1.12
For BungeeGuard mode:- Install BungeeGuard
- Configure
plugins/BungeeGuard/config.yml: - Edit
server.properties: - Restart server
- Edit
spigot.yml: - Edit
server.properties: - Restart server
Vanilla/Fabric/Forge Servers
Vanilla servers don’t support forwarding natively. You need:- Paper/Spigot - Best forwarding support
- Fabric: Install FabricProxy-Lite
- Forge: Use VelocityForge or BungeeGuard equivalent
Security Best Practices
Always use Velocity mode if possible
Always use Velocity mode if possible
Velocity modern forwarding is the most secure option:Avoid legacy mode unless absolutely necessary.
Use strong random secrets
Use strong random secrets
Generate cryptographically secure random secrets:
Store secrets in environment variables
Store secrets in environment variables
Don’t commit secrets to version control:Add to
.gitignore:Protect backend servers
Protect backend servers
Backend servers must ONLY be reachable from Gate:Or use firewall rules:
Never use legacy mode on public networks
Never use legacy mode on public networks
Legacy mode has no authentication:Anyone who can connect to your backend can spoof player data.
Troubleshooting
Players can't join - Invalid secret
Players can't join - Invalid secret
Error: Connection refused, invalid secret, or authentication failedCause: Mismatched secrets between Gate and backendSolution:
- Verify secrets match exactly (case-sensitive)
- Check for extra whitespace or newlines
- Restart both Gate and backend after changes
Backend sees proxy IP for all players
Backend sees proxy IP for all players
Problem: Backend logs show Gate’s IP (127.0.0.1) for all playersCauses:
- Forwarding not enabled on Gate
- Backend not configured for forwarding
- Mismatched forwarding modes
Players lose data/inventory after joining
Players lose data/inventory after joining
Problem: Players appear as different UUID each timeCause: Forwarding not working, players get random UUIDsSolution:
- Verify forwarding mode is configured correctly
- Check secrets match (Velocity/BungeeGuard)
- Ensure backend has forwarding enabled
- Verify online-mode=false on backend
IP bans not working
IP bans not working
Problem: Banned players can still joinCause: Backend not receiving real IP addressesSolution: Configure forwarding properlyTest:
Unknown forwarding mode error
Unknown forwarding mode error
Error:
Unknown forwarding mode "velocty"Cause: Typo in configValid modes: none, legacy, velocity, bungeeguardValidation and Warnings
Gate validates forwarding configuration on startup:Testing Forwarding
Verify forwarding is working:Check backend logs
Test IP-based features
Try features that depend on player IP:
- IP bans
- GeoIP plugins
- Connection logs
Related Configuration
Overview
Complete configuration overview
Servers
Configure backend servers
Security
Security best practices and hardening
Online Mode
Understanding online vs offline mode

