Minecraft – Help with bypassing the Minecraft Launcher with a command

minecraft-java-edition

So, I've found a command among google to run minecraft without using the launcher. I have all the prerequisites, such as all the files from downloading the game. The game will load with using the launcher.

However, when I use the following command

cd\ 
set MCDIR=%APPDATA%\.minecraft 

cd %MCDIR% 
java -Xmx512M -Djava.library.path="%MCDIR%\versions\1.7.2\1.7.2\1.7.2-natives-205668825357570" -cp "%MCDIR%\libraries\org\apache\logging\log4j\log4j-api\2.0-beta9\log4j-api-2.0-beta9.jar;%MCDIR%\libraries\org\apache\logging\log4j\log4j-core\2.0-beta9\log4j-core-2.0-beta9.jar;%MCDIR%\libraries\com\ibm\icu\icu4j-core-mojang\51.2\icu4j-core-mojang-51.2.jar;%MCDIR%\libraries\com\mojang\authlib\1.3\authlib-1.3.jar;%MCDIR%\libraries\io\netty\netty-all\4.0.10.Final\netty-all-4.0.10.Final.jar;%MCDIR%\libraries\java3d\vecmath\1.3.1\vecmath-1.3.1.jar;%MCDIR%\libraries\net\sf\trove4j\trove4j\3.0.3\trove4j-3.0.3.jar;%MCDIR%\libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;%MCDIR%\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;%MCDIR%\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;%MCDIR%\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;%MCDIR%\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;%MCDIR%\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;%MCDIR%\libraries\com\google\guava\guava\15.0\guava-15.0.jar;%MCDIR%\libraries\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar;%MCDIR%\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;%MCDIR%\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;%MCDIR%\libraries\net\java\jinput\jinput-platform\2.0.5\jinput-platform-2.0.5-natives-windows.jar;%MCDIR%\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;%MCDIR%\libraries\com\google\code\gson\gson\2.2.4\gson-2.2.4.jar;%MCDIR%\libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar;%MCDIR%\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar;%MCDIR%\versions\1.7.2\1.7.2\1.7.2.jar" net.minecraft.client.main.Main --username Seal --version 1.7.2 --gameDir C:\DOCUME~1\dmarg001\APPLIC~1\MINECR~1 --assetsDir C:\DOCUME~1\dmarg001\APPLIC~1\MINECR~1\assets --accessToken 6b1e2ce112be467eaf10dc5851e8155c:bd15348017b64ef2a9043194375ffbf0 --uuid (Default)

I get the following error

Exception in thread "main" java.lang.UnsatisfiedLinkError: nolwjgl in java.library.path
ary.path
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at org.lwjgl.Sys$1.run(Sys.java:73)
        at java.security.AccessController.doPrivileged(Native
        at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
        at org.lwjgl.Sys.loadLibrary(Sys.java:95)
        at org.lwjgl.Sys.<clinit>(Sys.java:112)
        at azd.J(SourceFile:2064)
        at net.minecraft.client.main.Main.main(SourceFile:36)

How can I go about solving this? Where is my error?

Also, the directory for the natives and the version is both correct, I purposefully put an extra folder.

I found lwjgl.dll in the natives folder. Can I do something with that?

Best Answer

Your problem is that you did not set the opengl path correctly. See here for more details. In minecraft 1.6 and above, minecraft uses a new launcher. In 1.5 and before, minecraft did not have as many dependencies. So, minecraft can load it itself and does not need a launcher that downloads additional things. However, with the 1.6 update, minecraft has many dependencies. Now, the launcher auto updates itself and all the dependencies. Therefor, the jar files change all the time. To get it to work, you need to use the --classpath or the -cp flag and specify every dependency. What you have done is not enough. If you look at the minecraft log, it says this. The command is super long, much longer that yours. This shows the difference in the number of dependencies between 1.5 and 1.6. My command will be different from yours, but you can use it as a guide. It is almost impossible to run minecraft without the launcher as it now needs a login token, files which is obtained in the launcher through some code, which is almost impossible to get in a script. You will just be better off running minecraft through the launcher, unless you want to get all the dependencies and add them to your classpath one at a time.