我正在尝试制作一个简单的自定义 Minecraft 启动器。
根据 the Minecraft Wiki page for the Launcher , 应该可以从命令行使用用户名和密码前缀运行 Minecraft 启动器,并直接进入游戏,而不是通过启动器。
我试过各种版本的 java -cp -u=username -p=password minecraft.jar net.minecraft.LauncherFrame
,它说的是旧方法:
java -cp minecraft.jar net.minecraft.LauncherFrame <username> <password>
旧方法打开 minecraft 启动器,就像我双击 jar 文件一样,但是它不会直接进入菜单屏幕。
新方法(使用密码和用户名作为前缀)给我一条错误消息,提示 prefix -u=username or -p=password don't exist
。
有什么帮助吗?我真的卡住了。
最佳答案
你可以做到这一点,你只需要绕过启动器。
在 %appdata%\.minecraft\bin
(或 unixy 系统上的 ~/.minecraft/bin
)中,有一个 minecraft.jar 文件。这是实际的游戏 - 启动器运行它。
像这样调用它:
java -Xms512m -Xmx1g -Djava.library.path=natives/ -cp "minecraft.jar;lwjgl.jar;lwjgl_util.jar" net.minecraft.client.Minecraft <username> <sessionID>
将工作目录设置为.minecraft/bin
。
要获取 session ID,POST(请求此页面):
https://login.minecraft.net?user=<username>&password=<password>&version=13
你会得到这样的回复:
1343825972000:deprecated:SirCmpwn:7ae9007b9909de05ea58e94199a33b30c310c69c:dba0c48e1c584963b9e93a038a66bb98
第四个字段是 session ID。 More details here . 阅读那些细节,这个答案已经过时了
Here's an example在 C# 中登录到 minecraft.net。
关于java - 从命令行启动 Minecraft - 用户名和密码作为前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14531917/