使用C#验证Minecraft

时间:2015-12-19 06:00:42

标签: c# authentication minecraft

我想弄清楚如何从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

在我写“我的电子邮件”或“我的密码”的地方,我将其作为我的登录详细信息,我只是不想在公共网站上发布。

1 个答案:

答案 0 :(得分:0)

我修好了!原来我的代码启动游戏是没有用的。我认为它会给我访问令牌,所以我将一些文本设置为输出,我意识到输出是JSON,其中包含访问代码。谢谢!