Minecraft 1.6.2自定义启动器
本文关键字:启动 自定义 Minecraft | 更新日期: 2023-09-27 18:26:45
我正在为《我的世界》制作一个发射器。1.6.2更改了很多,所以您的登录方式有所不同。如果你们中的任何人有任何使用C#登录minecraft的知识,我将不胜感激。
wClient.DownloadString("http://login.minecraft.net/?user=" + strUsername + "&password=" + strPassword + "&version=13");
我相信这曾经是一种有效的方法,但我现在不太确定了。感谢您的帮助。
回复TheUnrealMegashark对Rhys Towey答案的评论。我一直在努力让它上市,但是。这让我有点失望。下一次更新将包括1.6补丁。只是想办法。
您的问题的正确答案是获取会话的web链接当前仍在使用中。没有什么新鲜事。
小心你必须知道你的
"http://login.minecraft.net/?user="+strUsername+"&密码="+strPassword+"&version=13"
不安全。它通过互联网以明文形式发送用户的密码。它可能会受到"中间人"的攻击。
加密连接的正确方法之一是在POST中使用HTTPS。使用POST,我避免发送请求URL中的所有数据,而是通过POST发送数据。使用HTTPS,我对请求URL返回后发送的任何数据进行加密。HTTPS对POST进行加密,从而消除了"中间人"攻击。
您可以将GET与HTTPS一起使用,而且它仍然是安全的(根据我所读到的内容)。但是,这被认为是一种不安全的做法。尽管它在您的计算机和连接设备之间的所有帐户中都是安全的,但在其他任何地方都可能看到它,并受到"身后人攻击"。我的意思是,当你发送这个URL时,你的计算机可能会将该URL记录在某种历史记录中,或者以纯文本形式显示在地址栏中。尽管,感觉你没有制作网络浏览器,URL也没有显示,但这一切可能都会被忘记。
但是,如果是我,我仍然会谨慎行事,只是使用更安全的策略。
将HTTPS与POST一起使用
下面是我在"AtomLauncher"中使用的一个代码示例。该代码将POST数据发送到URL并返回一个字符串。Gotohttp://www.minecraftwiki.net/wiki/Minecraft.net以获取有关返回字符串的更多信息。
string mcURLData = "Error";
using (WebClient client = new WebClient()) // Get Data from Minecraft with username and password
{
// This a Text control for my Program, ignore this commented line if you wish.
// this.Invoke(new MethodInvoker(delegate { homeLabelTop.Text = "Connecting to Minecraft.net..."; }));
try
{
System.Collections.Specialized.NameValueCollection urlData = new System.Collections.Specialized.NameValueCollection();
urlData.Add("user", "UserName");
urlData.Add("password", "MYPa22w0rd");
urlData.Add("version", "13");
byte[] responsebytes = client.UploadValues("https://login.minecraft.net", "POST", urlData);
mcURLData = Encoding.UTF8.GetString(responsebytes);
}
catch
{
if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
{
mcURLData = "Internet Disconnected.";
}
else
{
mcURLData = "Can't connect to login.minecraft.net.";
}
}
}
将HTTPS与GET一起使用
只需简单地更改
http
在的代码中
https
在其他新闻中
我已经修复了我的代码。请随意使用(上传时)。对于您的信息,您需要知道当1.6.X启动时,它会创建一个本地文件夹,并立即开始使用。我所做的是修复这个问题,运行1.6.2并复制它创建的本地文件夹,并删除该号码。
Created "version/1.6.2/1.6.2-natives-###"
Copied it to "version/1.6.2/1.6.2.natives"
Point my program to "natives" folder I created.
我将来要做的是自动检查本地文件夹,如果它不存在,我会让它从互联网上下载本地文件夹。(我很想知道minecraft目前的原生版本在哪里,这样我基本上也可以做同样的事情。除非,它每次发布都会从互联网上下载。如果是真的,那就有点难看了。因为我有带宽使用限制。)