PaperMC / PaperMC/Velocity

[Suggestion] Custom player info forwarding mode

Open
#888 2 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status: in progress type: feature
Dominant language
Java
Stars
2.3k
Forks
959
Avg merge
5d 10h
Merged PRs (30d)
2

Description

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!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the PlayerInfoForwarding enum and AuthSessionHandler around line 135, where the issue reports that NONE changes the player's UUID. Add and verify the requested CUSTOM mode so UUIDs remain unchanged, then check the proxy behavior against the custom forwarding setup described in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
networking
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.