我想弄清楚如何从C#登录Minecraft。 我发现Login to MineCraft using C# - 所以我使用了DMP9 MC中的代码,但它没有用。 还有其他方法吗? 我正在尝试制作自己的发射器。 这是我的代码:
string ACCESS_TOKEN;
public string GetAccessToken()
{
return ACCESS_TOKEN;
}
public void ObtainAccessToken(string username, string password)
{
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://authserver.mojang.com/authenticate");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{\"agent\":{\"name\":\"Minecraft\",\"version\":1},\"username\":\"" + username + "\",\"password\":\"" + password + "\",\"clientToken\":\"6c9d237d-8fbf-44ef-b46b-0b8a854bf391\"}";
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
ACCESS_TOKEN = result;
}
}
}
代码中的其他地方:
private void label4_Click(object sender, EventArgs e)
{
ObtainAccessToken("My Email", "My Password");
string code = GetAccessToken();
string strCmdText;
strCmdText = "java -Xms512m -Xmx1g -Djava.library.path=natives/ -cp \"minecraft.jar; lwjgl.jar; lwjgl_util.jar\" net.minecraft.client.Minecraft " + "My Email" + " " + code;
Process.Start("CMD.exe", strCmdText);
Application.Exit();
}
我正在使用Visual Studio 2015(个人版)并运行Windows 7。 谢谢, 弗洛:3
在我写“我的电子邮件”或“我的密码”的地方,我将其作为我的登录详细信息,我只是不想在公共网站上发布。
答案 0 :(得分:0)
我修好了!原来我的代码启动游戏是没有用的。我认为它会给我访问令牌,所以我将一些文本设置为输出,我意识到输出是JSON,其中包含访问代码。谢谢!