Skip to main content
A premium player connects, sees the vanilla “Encrypting…” screen for a moment, and lands in the world already logged in. No command, no password.

How it is verified

Which mechanism does the verifying depends on your setup — rLogin detects that at startup and reports it in the console.
On a single online-mode: false server, rLogin does it itself:
1

Hold the login

The LOGIN_START packet is intercepted and held before the server processes it.
2

Ask Mojang about the name

Is this a real premium account at all? If not, the exact same packet is re-injected and the login continues as if nothing happened. Cracked players see zero difference.
3

Run the encryption handshake

rLogin sends an encryption request. The client contacts Mojang on its own and answers — this is the vanilla client’s standard behaviour for this exchange, not something rLogin induces.
4

Confirm with hasJoined

Mojang confirms that this client owns the account, not merely that the name exists. Only now is the player considered premium.
5

Apply the real identity

The UUID and signed skin Mojang returned are handed to the server, the same way a proxy would forward them.
This is the setup that requires PacketEvents.
A plain “is this name premium?” API check is not verification — anyone can type a premium name. rLogin never treats a name lookup as proof on its own; it is only ever used to decide whether the handshake is worth starting.

uuid-type

Which UUID players end up with. Only applies to a standalone server — behind Velocity the identity is decided before rLogin ever sees the connection.
Verified premium players join with their real Mojang UUID; everyone else keeps the offline one.This is the only mode where “premium Steve” and “cracked Steve” are separate accounts, and where your other plugins — permissions, economy, bans — see the same UUID they would on any online-mode server. It is also what makes switching to online-mode: true later a non-event.
Everyone gets the offline UUID derived from their name, premium included. Auto-login still works exactly the same.Use this when you already have an offline-mode world and player database that you want to keep working untouched. offline is accepted as a synonym.
A random UUID generated the first time each name connects, and reused from then on, for premium and cracked alike.Lets a player move between a premium and a cracked launcher without losing their data. The trade-off: a non-offline UUID no longer proves anything, so only the cryptographic handshake counts as verification under this mode.
Changing uuid-type on a server that already has players changes who they are — they will look like brand-new players to every other plugin. Use /rlogin changeuuid to carry an account across if you do.

Bedrock players

Bedrock players arriving through Geyser/Floodgate were already verified by Microsoft, so they are treated as premium and never asked to log in.
prefix must match username-prefix in Floodgate’s own config.

When Mojang is down

premium.api-failure-policy decides. fail-open (the default) treats the player as cracked and asks for /login — the server stays up. fail-closed refuses the connection until Mojang is reachable again. Results are cached for premium.cache-ttl-minutes (60 by default), so a brief outage often goes unnoticed for players who have connected recently.

Turning it off

Or, more thoroughly, auth-mode: offline — which also removes the PacketEvents requirement, because nothing is checked against Mojang at all.