PaperMC / Velocity

The modern, next-generation Minecraft server proxy.

Home Page:https://papermc.io/software/velocity

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ability to chain multiple Velocity-Server

valaphee opened this issue · comments

At the moment chaining velocity server don't work with LEGACY as it requires parsing the forwarding information transmitted with the serverAddress in the handshake packet.

This is sometimes used by larger server networks to separate different network architectures.

Implementing this is fairly easy, as in offline mode the serverAddress can be checked if it contains valid forwarding data and if so the gameProfile can be filled with the forwarded uuid and properties, and the remote address can be overwritten. (which is already there for HAProxy anyway)

Already did this in a fork and if there is interest, I'll clean up and create a pr for it.

This type of setups is not officially supported, although as you said, it is quite easy to support it in your own personal Velocity fork

Yep already figured,

and the problem with MODERN forwarding is that the information would I guess get forwarded to the final destination, but the intermediate server would have the incorrect uuid.

Implementing this is trivial for vanilla servers, however, if we support it, then we need to support it, and that's just far too much of an ask for such a rabbit hole of a niche setup; You have to remember that it's not just forwarding that we'd need to support, it's everything else, chat chaining, mod payload wrapping (basically, cross stitch, and anything else that requires such patterns down the line).

It's an entire burden on the project for a setup we do not support and have publically stated that we do not support as a wider organisation for the past however long now.