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