Links
Tags
Creators
Details
1.0.0
Compatibility
Changes
Release Date: 2026-02-15
Minecraft: 1.20.1 | Forge: 47.x | Java: 17+
License: MIT
🎉 Initial Release
First public release of NG Proxy Support for Minecraft Forge 1.20.1.
Ported from the Fabric mod proxy-protocol-support with new features and improvements.
✨ Features
- HAProxy PROXY Protocol v1/v2 — full support for both protocol versions
- Real IP Resolution — players connecting via proxy show their real IP in logs, bans, and plugins
- Hybrid Mode — supports both proxied and direct connections simultaneously
- Fail-Closed Security — unknown IPs are automatically rejected to prevent proxy bypass
- CIDR Notation — whitelist entire subnets (e.g.
192.168.0.0/16) - TCPShield Integration — auto-fetch and whitelist TCPShield server IPs
- Hot-Reload Config —
/proxyprotocol reloadreloads config without server restart - Status Command —
/proxyprotocol statusshows current config and active rules in-game - Connection Logging — logs real player IPs and proxy IPs to
logs/proxy_connections.log
🔧 Configuration
Config file: config/proxy_protocol_support.json
| Option | Default | Description |
|---|---|---|
enableProxyProtocol |
true |
Enable/disable the mod |
proxyServerIPs |
["127.0.0.1"] |
Trusted proxy IPs |
directAccessIPs |
["127.0.0.1", "192.168.0.0/16"] |
IPs allowed to connect directly |
whitelistTCPShieldServers |
false |
Auto-fetch TCPShield IPs |
logConnections |
true |
Log connections to file |
🛡️ Commands
| Command | Permission | Description |
|---|---|---|
/proxyprotocol reload |
OP 4 | Reload config without restart |
/proxyprotocol status |
OP 4 | View current configuration |
🔗 Compatible Proxies
- Velocity (with
haproxy-protocol = true) - TCPShield
- HAProxy
- Nginx (with
proxy_protocol on) - FRP
- Any HAProxy-compatible reverse proxy
Author: xylos
© 2024-2026 xylos. Licensed under MIT.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:1xfuW2Hz:KGRn01Wz"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:1xfuW2Hz:KGRn01Wz"
}

