Skip to content

Fix Velocity perform.login not reaching target server on cross-server switch#3085

Open
lokspel wants to merge 4 commits into
AuthMe:masterfrom
FreeForFive:master
Open

Fix Velocity perform.login not reaching target server on cross-server switch#3085
lokspel wants to merge 4 commits into
AuthMe:masterfrom
FreeForFive:master

Conversation

@lokspel
Copy link
Copy Markdown
Contributor

@lokspel lokspel commented May 29, 2026

Problem: When switching Velocity servers (e.g. survival → lobby), players get prompted to log in again. perform.login never reaches the new server because event.getPlayer().getCurrentServer() returns an empty Optional or the previous server (survival) during ServerConnectedEvent.

Fix:

  1. Send perform.login via event.getServer() (the RegisteredServer the player just joined) instead of event.getPlayer().getCurrentServer() — always correct, no race condition.
  2. Fix infinite retry loop in scheduleRetry(): increment attempt counter before checking getCurrentServer(), so it progresses even when the server connection isn't available yet.

@lokspel
Copy link
Copy Markdown
Contributor Author

lokspel commented May 29, 2026

Fixes probably #3076

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant