Add Virtualhost support for server list pings #1265
+30
−9
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.
When a player connects to a server through velocity, velocity correctly forwards the virtualhost used to connect. This allows velocity to be run in front of proxy/routing services such as mc-router, and gives the proxying services running behind velocity the information they need to know which final game-server to forward the request to.
However, velocity doesn't forward that information for server list pings, meaning that even with ping passthrough enabled, any proxy/router running behind velocity won't have the information it needs to be able route pings to the correct game-server based on the virtual host. Instead, velocity would just create the ping packet with the host set to whatever was configured in
velocity.toml
. This PR fixes that issue, and makes it so virtualhosts are now forwarded with server list pings as well.I'm not super familiar with the velocity codebase as a whole, so if this PR needs any changes to align with the overall goals or structure of the project, I'd be happy to make any requested modifications.