How it is verified
Which mechanism does the verifying depends on your setup — rLogin detects that at startup and reports it in the console.- Standalone
- Behind a proxy
- online-mode: true
On a single This is the setup that requires
PacketEvents.
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.
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.real — the default
real — the default
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.cracked — keep an existing offline world
cracked — keep an existing offline world
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.random — one identity across both
random — one identity across both
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.
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
auth-mode: offline — which also
removes the PacketEvents requirement, because nothing is checked against Mojang
at all.