What behaviour is observed?
Premium login works only when keepOfflineUuidCompatibility is set to false.
When using:
premium:
keepOfflineUuidCompatibility: false
premium verification succeeds after /premium and reconnecting, but the player joins backend servers with their Mojang UUID. This makes the player appear as a new account on existing offline-mode backend servers, because previous player data is stored under the old offline UUID.
However, when using:
premium:
keepOfflineUuidCompatibility: true
premium verification fails after reconnecting. The player is forced to log in with their AuthMe password again.
The in-game message is:
Premium verification failed. Please login with your password.
The Velocity config generated by AuthMe did not include the premium: section by default, so it was added manually.
Expected behaviour
When keepOfflineUuidCompatibility: true is enabled, I expect the following behavior:
- A player logs in with their AuthMe password.
- The player runs
/premium.
- The player is kicked and asked to reconnect for premium verification.
- The player reconnects using a valid licensed Minecraft account.
- Premium verification succeeds.
- The player is automatically authenticated without entering their AuthMe password.
- The backend server still receives the player's previous offline UUID, so existing inventories and plugin data are preserved.
To Reproduce
- Set up a Velocity network in offline/mixed mode.
- Install
AuthMe-6.0.0-Velocity.jar on the Velocity proxy.
- Install
AuthMe-6.0.0-Paper.jar on the auth/lobby backend server.
- Enable premium mode in the backend AuthMe config:
settings:
enablePremium: true
- Enable Velocity hook and use the same
proxySharedSecret on both proxy and backend:
Hooks:
bungeecord: true
proxySharedSecret: "<redacted>"
- Add this to the Velocity AuthMe config:
premium:
keepOfflineUuidCompatibility: true
- Restart both Velocity and the backend server.
- Join with a valid licensed Minecraft account.
- Log in with
/login <password>.
- Run
/premium.
- Reconnect after being kicked for premium verification.
- Premium verification fails and the player is asked to log in with a password.
For comparison, changing the option to this makes premium verification succeed:
premium:
keepOfflineUuidCompatibility: false
but then the backend receives the Mojang UUID instead of the previous offline UUID.
Plugin list
Proxy:
AuthMe-6.0.0-Velocity.jar
Auth/lobby backend:
No other premium-login plugin such as FastLogin is installed.
Server Implementation
BungeeCord
Database Implementation
MySQL
AuthMe Version
AuthMe 6.0.0
Error log (if applicable)
No response
Configuration
yml authServers: - lobby allServersAreAuthServers: false serverSwitch: requiresAuth: true kickMessage: 'Authentication required' autoLogin: true sendOnLogout: true unloggedUserServer: 'lobby' commands: requireAuth: true whitelist: - /login - /register - /l - /reg - /email - /captcha - /2fa - /totp - /log - /logout - /premium - /freemium chatRequiresAuth: true loginServer: '' proxySharedSecret: '<redacted>' premium: keepOfflineUuidCompatibility: true
What behaviour is observed?
Premium login works only when
keepOfflineUuidCompatibilityis set tofalse.When using:
premium verification succeeds after
/premiumand reconnecting, but the player joins backend servers with their Mojang UUID. This makes the player appear as a new account on existing offline-mode backend servers, because previous player data is stored under the old offline UUID.However, when using:
premium verification fails after reconnecting. The player is forced to log in with their AuthMe password again.
The in-game message is:
The Velocity config generated by AuthMe did not include the
premium:section by default, so it was added manually.Expected behaviour
When
keepOfflineUuidCompatibility: trueis enabled, I expect the following behavior:/premium.To Reproduce
AuthMe-6.0.0-Velocity.jaron the Velocity proxy.AuthMe-6.0.0-Paper.jaron the auth/lobby backend server.proxySharedSecreton both proxy and backend:/login <password>./premium.For comparison, changing the option to this makes premium verification succeed:
but then the backend receives the Mojang UUID instead of the previous offline UUID.
Plugin list
Proxy:
Auth/lobby backend:
No other premium-login plugin such as FastLogin is installed.
Server Implementation
BungeeCord
Database Implementation
MySQL
AuthMe Version
AuthMe 6.0.0
Error log (if applicable)
No response
Configuration
yml authServers: - lobby allServersAreAuthServers: false serverSwitch: requiresAuth: true kickMessage: 'Authentication required' autoLogin: true sendOnLogout: true unloggedUserServer: 'lobby' commands: requireAuth: true whitelist: - /login - /register - /l - /reg - /email - /captcha - /2fa - /totp - /log - /logout - /premium - /freemium chatRequiresAuth: true loginServer: '' proxySharedSecret: '<redacted>' premium: keepOfflineUuidCompatibility: true