Premium, cracked and Bedrock players, kept apart
Every session in MCAnalytics carries one identity type: premium Java with a Mojang UUID, Bedrock with a Floodgate XUID, or cracked Java with a username. Players are matched on that identifier and never merged by name, so a Bedrock player and a Java player called Steve stay two players, and a premium player who renames keeps their history. On a network that runs nLogin, a cracked session only counts once the login is confirmed.

How it works
The identity is read at join
Premium Java players carry the UUID from the Mojang session server. Bedrock players carry the XUID Floodgate reports from their Xbox account. Cracked players carry the name they joined with.
The type is checked
The API validates each identifier against its type, so a Bedrock ID can never land on a Java profile.
Cracked logins are confirmed
With nLogin, the connector waits for a confirmed login before a cracked session counts. A player stuck at the password prompt is not a return.
Compare the three
Filter players by type, split retention by identity, and read the ban rate of each type side by side.
What you see on the dashboard
New players by identity
How many new players were premium Java, cracked Java and Bedrock in the range, counted apart.
Players table
Every player with their identity type, first source, first seen and playtime, filtered to one type when you want.
Retention by identity
The cohort grid on Retention split into premium, cracked and Bedrock rows.
Ban rate by identity
Confirmed bans per player for each type on Fair Play, so you see whether one group gets banned more.
Setting it up
Install Floodgate next to the connector on the proxy, or on the server itself when you run without a proxy. No extra connector setting is needed.
For cracked players, run nLogin on the backend and install the connector there too, so it can confirm the login. Premium and Bedrock players are authenticated by the platform when they join, so their sessions are confirmed already.
What a cracked identity can and cannot tell you
A cracked player has no global account, so the username is their identity on your network and nowhere else. If two people share a cracked name, MCAnalytics sees one player.
Nothing links a cracked name to a premium or Bedrock account by name, and nothing fingerprints a player to guess. Tebex purchases match on the premium UUID only, so Bedrock and cracked buyers without one stay in Unmatched.
The one link is a checked one. On a Velocity proxy in offline mode, a player who logs in through premium login has their Mojang UUID stored next to their cracked name. With nLogin it comes from nLogin's record once nLogin reports the premium login; with FastLogin or LibreLogin, from the profile Mojang signed for that login. They stay a cracked player, and their Tebex purchases match. If another player on your network already holds that Mojang UUID, the two stay apart.
Questions
Does it support Geyser and Floodgate?
Yes. Bedrock players who join through Geyser are identified by their Floodgate XUID. Install Floodgate next to the connector and nothing else needs setting.
Why not merge players with the same name?
The same name can belong to different people on Java, Bedrock and offline mode. Merging them would mix up their returns, purchases and bans, so each identity stays its own player.
Which login plugin is supported?
nLogin. The connector waits for its confirmed login before a cracked session counts as a return. Without a login plugin, a session has to last 180 seconds to count. With nLogin on a Velocity proxy in offline mode, a premium login also stores the player's Mojang UUID, so their Tebex purchases match. FastLogin and LibreLogin premium logins are matched the same way.
Does a premium player who changes their name lose their history?
No. Premium players are matched on their Mojang UUID and Bedrock players on their XUID, so a name change keeps everything.