In my test environment I've configured a Sponge backend server with Velocity's modern forwarding. Then I joined through the proxy.
During Sponge's ServerSideConnectionEvent.Auth, the player's UUID is not yet forwarded. This undocumented caveat in the Sponge API event breaks bans and mutes. The player's true UUID is forwarded and available at a later time, such as during chat events.
This means that in such environments, thus, bans will not match the player's UUID. IP bans function, but UUID bans do not find the offline UUID. Mutes also become unavailable. The mute cache will have an entry for the offline UUID, but not the forwarded online UUID.
In my test environment I've configured a Sponge backend server with Velocity's modern forwarding. Then I joined through the proxy.
During Sponge's
ServerSideConnectionEvent.Auth
, the player's UUID is not yet forwarded. This undocumented caveat in the Sponge API event breaks bans and mutes. The player's true UUID is forwarded and available at a later time, such as during chat events.This means that in such environments, thus, bans will not match the player's UUID. IP bans function, but UUID bans do not find the offline UUID. Mutes also become unavailable. The mute cache will have an entry for the offline UUID, but not the forwarded online UUID.