Minecraft Launcher

The Minecraft launcher is the login and downloader frontend to the stand-alone client. It is responsible for downloading the main java packages, including minecraft.jar, 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 the a specific directory where Minecraft stores its files called. 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.

Boom sahaklaka boom boom, problem solved.

Command-line usage
Minecraft.jar (All Systems):

Minecraft.exe (Windows Executable):

Minecraft.jar (Windows - no CMD window):