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 and easily bypassable (alternative launcher) copy-restriction 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. It is possible to use the launcher to run versions of Minecraft since Indev.

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.

Currently, Minecraft launcher supports only English. Users cannot select their preferred language.

History


The current version of the launcher has been in development since January 21, 2011. Updates to the launcher included a smarter update system that only updates changed files, prompts the user to update, allows HTTPS logins for a more secure connection, and offers general UI improvements. A technical sneak preview was published by Notch on February 18, 2011. Additionally, this launcher introduced a link to the Minecraft install directory for easy access and a "Force Update" button under the "Options" menu. The launcher also featured an inline "change log" via a Tumblr, and supports command-line arguments. The launcher was released on February 21, 2011.

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

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

1.6 Dev Launcher


A new optional version of the launcher was released on April 18, 2013 (with snapshot 13w16a). It lets users choose the version they want to play, downloads all resources before launching the game and updates additional libraries (function previously unavailable). Later it will have more functionality as it currently is in early development stage. Currently there is no demo for non-premium users. The launcher can automatically update itself; the most recent version is 0.9.4 [Dev].

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

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 use 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.

""