我正在尝试制作一个简单的自定义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>

就像我双击jar文件一样,旧方法将打开minecraft启动器,但是它不会直接进入菜单屏幕。

新方法(使用密码和用户名作为前缀)给我一条错误消息,说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阅读这些详细信息,此答案已过期
在C#中登录minecraft.net的Here's an example

关于java - 从命令行启动Minecraft-用户名和密码作为前缀,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14531917/

10-09 19:13