Repository navigation
Turn Bedrock HAProxy protocol on by listing proxies, and read PROXY protocol from WebRTC relays - #6843
Open
irrld wants to merge 5 commits into
Open
Turn Bedrock HAProxy protocol on by listing proxies, and read PROXY protocol from WebRTC relays#6843irrld wants to merge 5 commits into
irrld wants to merge 5 commits into
Conversation
This was referenced Oct 29, 2026
|
Since this builds on the work from #6839 and CloudburstMC/Network#106, would you mind adding me as co-author when it's squashed?
Also happy to test it in production behind Infinity Filter, which already sends PPv2 on our NetherNet media, once it's out of draft. Thanks! |
irrld
marked this pull request as ready for review
October 29, 2026 11:08
…otocol, and read PROXY protocol headers from the WebRTC relays listed in webrtc-proxy-protocol-relays
… where its address came from
…g the WebRTC port
… keeping the reason the transport gave
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces
advanced.bedrock.use-haproxy-protocolwith its proxy list, adds PROXY protocol for UDP relays in front of the NetherNet media port, and asks extensions about a NetherNet player with the address it ends up connected from.HAProxy protocol follows the proxy list
use-haproxy-protocolunderadvanced.bedrockis gone. Listing a proxy inhaproxy-protocol-whitelisted-ipsturns HAProxy protocol on for RakNet and built-in signaling, and an empty list turns it off.geyser connectiontestand thebedrockHaProxyProtocolbStats chart follow the list.Config version 12
PROXY protocol from WebRTC relays
advanced.bedrock.webrtc-proxy-protocol-relays: UDP relays in front of the NetherNet media (WebRTC) port that send a PROXY protocol v2 header with each player's address. Built-in signaling and NXS both use it.bedrock.signaling.advertise-addresseshas to name them. NetherNet does not start otherwise, and logs why.NetherNet connection requests
ConnectionRequestEventfor NetherNet now fires when the channel goes active, with the address the channel reports once connected, rather than at channel init with the signaling address. A player that came through a relay or proxy carries it as the proxy address, as on RakNet.ICE_PROXY_PROTOCOL via <relay>), and where signaling met the player when that was a different address. Both respectlog-player-ip-addresses.Smaller changes
IOException, such as a player aborting it on leaving, is closed with the transport's own disconnect reason and a debug line, instead of an error with a stack trace and "An internal error occurred!".NetherNetServer, as built-in and NXS joins were seen sharing the WebRTC port.From network VERSION
AddressSource), and which relay a peer came through.Testing
Retail clients in 16 setups: direct, through a PROXY protocol relay (an unlisted relay and a headerless one are refused), built-in signaling behind a Cloudflare tunnel with X-Forwarded-For, NXS through a local Warden, hybrid, and RakNet behind a relay.
:core:test, including the v11 to v12 migration cases and the RakNet admission rule.This PR used Claude Code to help write the code, the tests and this description. I reviewed every change and tested it as described above.