使用 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,里面有访问代码。谢谢!