Can I bypass the new launcher?

For 1.6.1, there's a new launcher. Unfortunately, I find myself sitting at the launcher for just long enough to get rather annoyed before I'm allowed to click the 'play' button. I usually launch the launcher from Steam; is there some way to point directly to the version I want to play and only use the launcher when I'm doing something odd?


Yes

My earlier post was wrong, sorry, it was launching an old version and I didn't realise.

What you need to do for 1.6.1 is a little more complex.

First, you'll need to launch from the launcher. Assuming Minecraft launches ok, you'll get a load of output in the Development Console. What you need to look for is a line that looks a bit like this (yes, it's very long!):

java -Xmx1G -Djava.library.path=%APPDATA%\.minecraft\versions\1.6.1\1.6.1-natives-10107774015424 -cp %APPDATA%\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;%APPDATA%\.minecraft\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;%APPDATA%\.minecraft\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;%APPDATA%\.minecraft\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;%APPDATA%\.minecraft\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;%APPDATA%\.minecraft\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;%APPDATA%\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar;%APPDATA%\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar;%APPDATA%\.minecraft\libraries\argo\argo\2.25_fixed\argo-2.25_fixed.jar;%APPDATA%\.minecraft\libraries\org\bouncycastle\bcprov-jdk15on\1.47\bcprov-jdk15on-1.47.jar;%APPDATA%\.minecraft\libraries\com\google\guava\guava\14.0\guava-14.0.jar;%APPDATA%\.minecraft\libraries\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar;%APPDATA%\.minecraft\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;%APPDATA%\.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;%APPDATA%\.minecraft\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;%APPDATA%\.minecraft\libraries\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar;%APPDATA%\.minecraft\versions\1.6.1\1.6.1.jar net.minecraft.client.main.Main --username %YOUR_USERNAME% --session token:%SOME_TOKEN% --version 1.6.1 --gameDir %APPDATA%\.minecraft --assetsDir %APPDATA%\.minecraft\assets

I've edited mine a bit to remove system-specific data, it'll probably start with something like
Running C:\Program Files\Java\jre7\bin\javaw.exe

Close Minecraft, but not the launcher. You will see some lines at the end of the Dev Console that read something like

Game ended with no troubles detected (exit code 0)
Deleting C:\Users\fredley\AppData\Roaming\.minecraft\versions\1.6.1\1.6.1-natives-11569750504590
Couldn't delete C:\Users\fredley\AppData\Roaming\.minecraft\versions\1.6.1\1.6.1-natives-11569750504590 - scheduling for deletion upon exit

This is obviously a problem! Make a copy of the 1.6.1-natives-11569750504590 folder (just make a copy in the same folder called 1.6.1-natives-backup in the same folder). Edit your command so that it uses your backup copies (just paste it in a text editor and find-replace 11569750504590 with backup).

Don't use my command, as it will not work. Account/session data is in the command so you must use your own copy as generated by the launcher.

Copy your entire, edited command (excluding Running at the start), and save it somewhere. You can then launch from cmd using this command at any time.

If you want to have an icon to launch Minecraft it's as simple as right-clicking your desktop, selecting New > Shortcut and entering this command as the 'file'.


Skipping the launcher

Here's my approach for creating a Windows batch script that will run Minecraft and skip the launcher:

  • Download process explorer
  • Run the Minecraft launcher and open Minecraft with the exact version and configuration which you want to use
  • Run process explorer and find the Minecraft process (it'll be a javaw.exe process under the tree of the Minecraft launcher) Minecraft javaw.exe process in Process Explorer
  • Double-click on the process to view details and copy the command line used to run it
  • Paste the command into a batch script (a text file with .bat extension)
  • Save the batch script into your .minecraft directory: %appdata%/.minecraft
  • The command will include a -Djava.library.path= which (in Minecraft v1.13) points to a temporary directory which only exists while Minecraft is still open. While it exists, copy that directory somewhere and then change the -Djava.library.path= configuration to point to the new location.

You can now run that script by double clicking on it.

NOTE: Be careful never to share the script or the full command you copied as it includes a session token for logging in using your own Mojang account.

Running the script from Steam

I also wanted to run Minecraft through the Steam launcher and specifically needed to skip the Minecraft launcher so that Steam can properly stream Minecraft to a Steam Link. However, Steam's "Add a non-Steam game" feature only allows you to select executables with an .exe extension.

To run the newly created batch script from Steam, you can:

  • Add a non-Steam game and choose any application/game
  • Right-click on the newly added application in your Steam game list and select properties
  • Change the target field to point to your new batch script and the start in field to point to it's directory, and then also change the name/icon to identify it as Minecraft.