使用C#从命令行启动minecraft 1.6.4

时间:2013-12-10 05:29:41

标签: c# java batch-file minecraft

我目前正在开发一款定制的Minecraft 1.6.4发射器。 我写的大部分代码都是C#但是我正在批量编写最后一段代码。

这似乎有助于启动Minecraft 1.5.2 jar

cd "%~1"
java -Xms512m -Xmx1g -Djava.library.path=Bin\bin\native\ -cp Bin\bin\* net.minecraft.client.Minecraft %~2 %~3
pause

(C#计算出会话ID(%~3))

然而在Minecraft 1.6.4中我收到错误:

Error: Could not find or load main class net.minecraft.client.Minecraft

我听说过Minecraft的发布方式发生了变化,无论如何,我是否已将新系统应用到我的发射器中?

如果有一种方法可以在没有批次的情况下进行,那将是非常棒的!

用于启动批处理文件的C#代码:

string sessionID = Session.DoLogin(tbUser.Text, tbPassword.Text).SessionId;
Process p = Process.Start("launch.bat", @"""" + filePath + @"""" + " " + tbUser.Text + " " + sessionID);
p.WaitForExit();

2 个答案:

答案 0 :(得分:2)

我是第一个为我的世界制造C#发射器的人,我很乐意分享一些经验。很抱歉这么晚回复你!<​​/ p>

请注意,您希望启动“ net.minecraft.client.main.Main ”类而不是“ net.minecraft.client.Minecraft ”。当我不得不将我的发射器移植到1.6时,我也遇到了这个问题。它目前仍适用于1.7.4。

以下示例是直接从我的编辑清理批处理命令(编辑:旧,但黄金)open source launcher


Minecraft 1.7.4批量启动(jvm参数):

java 
-Djava.library.path=C:\Users\<username>\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl-platform\2.9.0\ 
-cp 
C:\Users\<username>\AppData\Roaming\.minecraft\versions\1.7.4\1.7.4.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\java3d\vecmath\1.3.1\vecmath-1.3.1.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\net\sf\trove4j\trove4j\3.0.3\trove4j-3.0.3.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\com\ibm\icu\icu4j-core-mojang\51.2\icu4j-core-mojang-51.2.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\io\netty\netty-all\4.0.10.Final\netty-all-4.0.10.Final.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\15.0\guava-15.0.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.2.4\gson-2.2.4.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\com\mojang\authlib\1.2\authlib-1.2.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\org\apache\logging\log4j\log4j-api\2.0-beta9\log4j-api-2.0-beta9.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\org\apache\logging\log4j\log4j-core\2.0-beta9\log4j-core-2.0-beta9.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.1-nightly-20131120\lwjgl-2.9.1-nightly-20131120.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.1-nightly-20131120\lwjgl_util-2.9.1-nightly-20131120.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl-platform\2.9.1-nightly-20131120\lwjgl-platform-2.9.1-nightly-20131120-natives-windows.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\net\java\jinput\jinput-platform\2.0.5\jinput-platform-2.0.5-natives-windows.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\tv\twitch\twitch\5.12\twitch-5.12.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\tv\twitch\twitch-platform\5.12\twitch-platform-5.12-natives-windows-64.jar;
C:\Users\<username>\AppData\Roaming\.minecraft\libraries\tv\twitch\twitch-external-platform\4.5\twitch-external-platform-4.5-natives-windows-64.jar;
net.minecraft.client.main.Main  
--username=<your username> 
--accessToken <your accesstoken> 
--version 1.7.4 
--gameDir C:\Users\<username>\AppData\Roaming\.minecraft 
--assetsDir C:\Users\<username>\AppData\Roaming\.minecraft\assets  
--userProperties {} 
--uuid <your uuid>

您还可以在上面的链接or HERE.

中的同一命名空间中找到如何获取uuid,会话令牌等内容的方法。

答案 1 :(得分:1)

这可能会有所帮助: http://s3.amazonaws.com/Minecraft.Download/versions/1.6.4/1.6.4.json

链接格式适用于所有Minecraft版本,因此您可以比较信息并检查更改内容。

还要注意Minecraft认证系统已经改变。 (我认为你必须从1.7开始使用新系统,但它也可能适用于1.6)

编辑: 您也可能想要反编译官方发射器(我为自己的启动器做了那个)提供了一些有用的信息。