![]() |
VOOZH | about |
Legacy Minecraft authentication refers to the method of authenticating Java Edition accounts prior to Java Edition 1.6.1.
To log the player in, the official launcher sends an HTTPS POST (GET appears to suffice as well) request to:
https://login.minecraft.net
with the postdata:
?user=<username>&password=<password>&version=<launcher version>
and an "application/x-www-form-urlencoded" Content-Type header.
After migrating to Mojang accounts, the email address is used instead of a username, but the procedure stays the same.
The current launcher version is "13" (for the new launcher it's "14"), sending a value lower than 12 will cause the server to return "Old version", however, you can send any large number and it will return as expected. If the login succeeds, it will return 5 ':' delimited values.
1343825972000:deprecated:SirCmpwn:7ae9007b9909de05ea58e94199a33b30c310c69c:dba0c48e1c584963b9e93a038a66bb98
If the request is missing a parameter, the server will return "Bad response". If the login information is incorrect, the server will return "Bad login". If the login information is correct but the account isn't premium, the server will return "User not premium". If your minecraft.net account has been migrated to a Mojang account but you're logging in with your minecraft.net username the server will return "Account migrated, use e-mail".
Every 6000 ticks, the client sends an HTTPS request to
https://login.minecraft.net/session?name=<username>&session=<session id>
In the older versions of Minecraft the client simply discarded the answer.
Later[when?], the client would check for the response code. If it is equal to 400 the client would consider the game as an unlicensed copy and display a message accordingly during gameplay.