Velocity
Velocity copied to clipboard
[Suggestion] Custom player info forwarding mode
It would be helpful to include a CUSTOM enum value in PlayerInfoForwarding, which would do nothing and leave the UUIDs alone.
Here's the context:
I've been developing a custom player info forwarding system for my server network, using both a Velocity plugin and Spigot plugin. I was able to get everything working, but I had one issue with the Velocity proxy:
Line 135 of the AuthSessionHandler changes the player's UUID to the offline version when the forwarding mode is set to none. This made it so the player couldn't see their own skin, and the chat messages weren't signed properly, as the server expected the player to have their real UUID.
I was able to avoid this issue by compiling the PlayerInfoForwarding file with an additional CUSTOM entry. I could then copy this modified file into the normal velocity.jar, and change the config option to CUSTOM.
This left the UUIDs alone, allowing the system to work properly.
Having this enum value be a part of the proxy itself by default would be more convenient. Thanks!
I don‘t agree with making this a config option. However, in light of recent discussions there may be api for forwarding instead. With that said, there‘s no timeline for this kind of thing yet, but chances are it’ll have to wait till at least 3.2.0 with the introduction of the dynamic runtime load system for plugins (plugin intents)
As for that line, we had a long conversation back in the day about rewriting UUIDs like bungeecord to fix inconsistencies caused by desynced UUIDs, but ultimately decided against it