Minecraft Launcher



The Minecraft launcher is the login and downloader front-end to the stand-alone client. It is responsible for downloading the main Java packages, including minecraft.jar and LWJGL, which holds the code and resources of the game such as textures. It also acts somewhat like a basic copy-protection by forcing the user to login to a paid account when running for the first time. It has been part of the stand-alone client since its inception.

Behavior
Every time the launcher is executed, it checks a specific directory where Minecraft stores its files called .minecraft. It checks a file called "lastlogin" for login credentials. If the file does not exist or is corrupt the user must login with a valid premium account, otherwise the game will refuse to run.

When logging in, the launcher will first try to verify the login. If a valid "lastlogin" file exists but there is no internet connection, the launcher will offer a "Play offline" mode, allowing the user to play regardless. If the connection is successful, the launcher will then compare the "version" file in the "bin" directory to the latest version reported by the server. If the file does not exist or the installed version is outdated, the launcher will download all Minecraft components and Java binary files.

Finally, upon a successful update or installation, the launcher will execute "minecraft.jar". It is possible however for there to be a valid and up-to-date "version" file but missing ".jar" files, in which case the launcher will hang.

History
A new version of the launcher had been in development since January 21, 2011. Updates to the launcher currently include a smarter update system that only updates changed files, prompts the user to update, allows HTTPS logins for a more secure connection and general UI improvements. A technical sneak preview was published by Notch on February 18, 2011. In addition, a link to the Minecraft install directory for easy access and a "Force Update" button can be found by clicking the "Options" button on the launcher's main window. The new launcher also features an inline "change log" via a Tumblr, and supports command-line arguments. The new launcher was released on February 21, 2011.

The launcher was updated again with version 1.2.1. This update should properly select 64-bit Java installations for users using Mac OS X.

The launcher was updated again with version 1.3.1, showing a Play demo button for non-premium users.

Command-line usage
minecraft.jar (all systems):

minecraft.exe (Windows executable):

minecraft.jar (Windows - no CMD window):

As of the new launcher released with "minecraft 1.2.3", username and password options uses a prefix.

""

If using a server:port it must still be the 3rd option. So if not used with username and password, dummy options need to be added in their place.

No update option also added.

""