Skip to content

Velocity keeps /premium verification pending after a failed licensed login #3124

Description

@strobil

What behaviour is observed?

Hi! We hit what looks like a regression of #3051 on Velocity.

After an already registered player logs in normally and runs /premium, AuthMe kicks them so the next connection can be checked as premium. If that reconnect is made from a client that is not logged into a licensed Minecraft account, the online-mode check fails as expected.

The problem is that the player then stays stuck in premium verification on the proxy. Every later reconnect is still forced into online mode, even after waiting longer than the backend's 5-minute pending window. The player cannot reach the lobby to log in with their AuthMe password anymore.

Restarting Velocity clears the state and lets the player log in normally again.

This seems very similar to #3051, which was fixed by 7b52ffb. That fix included Velocity-side cleanup after a failed forced-online attempt, but I cannot find equivalent cleanup in build 2767 after the newer premium verification refactor.

Screenshot from the failed reconnect:

Image

Expected behaviour

If premium verification fails, or once the backend's pending request expires, the proxy should clear the pending premium state.

A later reconnect should use the normal offline/AuthMe login flow, so the player can enter their password instead of being forced into online mode indefinitely.

To Reproduce

  1. Run Velocity in offline mode with AuthMe Velocity and a Paper auth/lobby backend.
  2. Use matching AuthMe 6.0.1-SNAPSHOT-b2767 builds on the proxy and backend, with premium mode enabled.
  3. Log in to an existing registered account with its AuthMe password.
  4. Run /premium and let AuthMe kick the player for verification.
  5. Reconnect from a client that is not logged into a licensed Minecraft account.
  6. Wait more than 5 minutes and reconnect again with the same client.

The proxy still forces online mode and the player cannot reach the AuthMe password login. Restarting Velocity clears the state.

Plugin list

Relevant plugins:

  • AuthMe Velocity 6.0.1-SNAPSHOT-b2767
  • AuthMe Paper 6.0.1-SNAPSHOT-b2767

I can provide the full backend plugin list if needed.

Server Implementation

BungeeCord

Database Implementation

MySQL

AuthMe Version

6.0.1-SNAPSHOT-b2767 (Paper and Velocity)

Error log (if applicable)

No console error was observed. The client receives the disconnect message shown in the attached screenshot.

Configuration

Relevant settings (secrets redacted):Backend config.yml:yamlsettings: enablePremium: trueHooks: bungeecord: true proxySharedSecret: "<redacted>"Velocity AuthMe config:yamlauthServers: - lobbypremium: keepOfflineUuidCompatibility: trueproxySharedSecret: "<redacted>"Velocity itself is running in offline mode.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions