java - 从命令行启动 Minecraft - 用户名和密码作为前缀

标签 java terminal cmd launcher minecraft

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

相关文章:

java - Android AsyncTask 如何设置定时器

Java 格式化文本的方法?

java - 尝试在 Java 中获取终端 $COLUMNS

windows - 为什么控制台输出会阻止自引用批处理脚本干净地退出?

batch-file - 如何让forfiles在PATH中执行命令?

java - Velocity 在哪里搜索模板?

Java正则表达式用于具有两个子字符串且其间不包含特定子字符串的模式

c - 如何在终端文件中输入我的 C 程序以使其顺序显示?

git - 如何查看git日志和git状态

shell - 有没有一个windows shell工具可以保存历史记录?