使用 C# 验证 Minecraft
Authenticate Minecraft with C#
我正在尝试了解如何从 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
我写 'My Email' 或 'My Password' 的地方,我把它作为我的登录详细信息,我只是不想在 public 网站上使用它。
我修好了!原来我启动游戏的代码不起作用。我以为它会给我访问令牌,所以我在输出中设置了一些文本,然后我意识到输出是 JSON,里面有访问代码。谢谢!
我正在尝试了解如何从 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
我写 'My Email' 或 'My Password' 的地方,我把它作为我的登录详细信息,我只是不想在 public 网站上使用它。
我修好了!原来我启动游戏的代码不起作用。我以为它会给我访问令牌,所以我在输出中设置了一些文本,然后我意识到输出是 JSON,里面有访问代码。谢谢!