Falaxy HaProxy Support
ModMIT

Falaxy HaProxy Support

Falaxy HaProxy Support is a Minecraft Forge 1.20.1 mod that adds PROXY Protocol v1/v2 support, flood protection, connection metrics, and TCPShield integration, preserving real IP addresses behind reverse proxies.

47
Downloads
2
Followers
4 months ago
Updated
📦
1
Versions

📖About Falaxy HaProxy Support

Professional PROXY Protocol implementation for Minecraft Forge 1.20.1. Get real player IPs behind reverse proxies, load balancers, and DDoS protection services.

Why You Need This

When your server is behind a proxy (HAProxy, Nginx, TCPShield), all players appear to connect from the proxy's IP. This breaks:

  • IP bans and whitelists
  • Login security
  • Geographic tracking
  • Anti-cheat systems
  • Server analytics

This mod reads PROXY protocol headers and restores real player IPs.


Features

PROXY Protocol

  • PROXY protocol v1 (text) and v2 (binary)
  • IPv4 and IPv6 support
  • Auto protocol detection
  • Works with HAProxy, Nginx, Velocity, BungeeCord, TCPShield

Security

  • IP whitelist with CIDR support
  • Connection rate limiting
  • Fail-closed model (unknown IPs rejected)
  • IP spoofing prevention

TCPShield

  • Auto-fetch TCPShield server IPs
  • Configurable cache duration
  • No manual IP updates needed

Analytics

  • Connection metrics tracking
  • Verbose debug logging
  • Startup diagnostics

Installation

  1. Download the JAR file
  2. Place in mods/ folder
  3. Start server (generates config)
  4. Edit config/falaxy_haproxy.json
  5. Configure your proxy to send PROXY headers
  6. Restart and test

Configuration

{
  "enableProxyProtocol": true,
  "proxyServerIPs": ["10.0.0.1"],
  "directAccessIPs": ["127.0.0.1"],
  "whitelistTCPShieldServers": false,
  "enableRateLimiting": true,
  "maxConnectionsPerSecond": 10,
  "verboseLogging": false
}
Option Description
proxyServerIPs Trusted proxy IPs (must send PROXY headers)
directAccessIPs IPs allowed without PROXY headers
whitelistTCPShieldServers Auto-fetch TCPShield IPs
enableRateLimiting Enable per-IP rate limiting
maxConnectionsPerSecond Max connections per IP/second
verboseLogging Enable debug logging

Proxy Setup

HAProxy

backend minecraft
    mode tcp
    server mc1 YOUR_SERVER:25565 send-proxy-v2

Nginx

stream {
    server {
        listen 25565;
        proxy_pass YOUR_SERVER:25565;
        proxy_protocol on;
    }
}

Velocity

[advanced]
proxy-protocol = true

Use Cases

TCPShield Setup

{
  "enableProxyProtocol": true,
  "whitelistTCPShieldServers": true,
  "directAccessIPs": ["127.0.0.1"]
}

High Security

{
  "enableProxyProtocol": true,
  "proxyServerIPs": ["YOUR_PROXY_IP"],
  "directAccessIPs": [],
  "enableRateLimiting": true,
  "maxConnectionsPerSecond": 3
}

Troubleshooting

Can't Connect

  1. Check proxy IP in proxyServerIPs
  2. Verify proxy sends PROXY headers
  3. Enable verboseLogging
  4. Check firewall rules

Wrong IP in Logs

  1. Verify send-proxy or send-proxy-v2 in proxy config
  2. Add proxy IP to proxyServerIPs
  3. Check verbose logs for header info

Rate Limited

Increase maxConnectionsPerSecond or disable rate limiting temporarily.


Requirements

  • Minecraft 1.20.1
  • Forge 47.2.0+
  • Java 17+

Compatibility

  • HAProxy 1.5+
  • Nginx 1.9+
  • Velocity
  • BungeeCord
  • TCPShield
  • All Forge mods

Performance

  • Memory: ~500 KB base
  • Latency: < 1ms added
  • CPU: negligible impact

License

MIT License - free for commercial and private use.


Author: SSbaxyS
Version: 1.0.0