Velocity icon indicating copy to clipboard operation
Velocity copied to clipboard

[Suggestion] Custom player info forwarding mode

Open mega12345mega opened this issue 2 years ago • 2 comments

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!

mega12345mega avatar Nov 13 '22 08:11 mega12345mega

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)

Xernium avatar Nov 13 '22 09:11 Xernium

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

Xernium avatar Nov 13 '22 09:11 Xernium