This commit is contained in:
BruceChen 2022-09-08 15:54:56 +08:00
parent bfd01a5f78
commit 0d1f930c65
2 changed files with 59 additions and 6 deletions

View file

@ -132,7 +132,7 @@ namespace MinecraftClient.Protocol
return new Protocol16Handler(Client, ProtocolVersion, Handler); return new Protocol16Handler(Client, ProtocolVersion, Handler);
int[] supportedVersions_Protocol18 = { 4, 5, 47, 107, 108, 109, 110, 210, 315, 316, 335, 338, 340, 393, 401, 404, 477, 480, 485, 490, 498, 573, 575, 578, 735, 736, 751, 753, 754, 755, 756, 757, 758, 759, 760 }; int[] supportedVersions_Protocol18 = { 4, 5, 47, 107, 108, 109, 110, 210, 315, 316, 335, 338, 340, 393, 401, 404, 477, 480, 485, 490, 498, 573, 575, 578, 735, 736, 751, 753, 754, 755, 756, 757, 758, 759, 760 };
if (Array.IndexOf(supportedVersions_Protocol18, ProtocolVersion) > -1) if (Array.IndexOf(supportedVersions_Protocol18, ProtocolVersion) > -1)
return new Protocol18Handler(Client, ProtocolVersion, Handler, forgeInfo); return new Protocol18Handler(Client, ProtocolVersion, Handler, forgeInfo);
@ -150,9 +150,42 @@ namespace MinecraftClient.Protocol
{ {
switch (MCVersion.Split(' ')[0].Trim()) switch (MCVersion.Split(' ')[0].Trim())
{ {
case "1.0":
case "1.0.0":
case "1.0.1":
return 22;
case "1.1":
case "1.1.0":
return 23;
case "1.2":
case "1.2.0":
case "1.2.1":
case "1.2.2":
case "1.2.3":
return 28;
case "1.2.4":
case "1.2.5":
return 29;
case "1.3":
case "1.3.0":
case "1.3.1":
case "1.3.2":
return 39;
case "1.4":
case "1.4.0":
case "1.4.1":
case "1.4.2":
return 48; // 47 conflicts with 1.8
case "1.4.3":
return 48;
case "1.4.4":
case "1.4.5":
return 49;
case "1.4.6": case "1.4.6":
case "1.4.7": case "1.4.7":
return 51; return 51;
case "1.5":
case "1.5.0":
case "1.5.1": case "1.5.1":
return 60; return 60;
case "1.5.2": case "1.5.2":
@ -161,10 +194,17 @@ namespace MinecraftClient.Protocol
case "1.6.0": case "1.6.0":
return 72; return 72;
case "1.6.1": case "1.6.1":
case "1.6.2":
case "1.6.3":
case "1.6.4":
return 73; return 73;
case "1.6.2":
return 74;
case "1.6.3":
return 77;
case "1.6.4":
return 78;
case "1.7":
case "1.7.0":
case "1.7.1":
return 3;
case "1.7.2": case "1.7.2":
case "1.7.3": case "1.7.3":
case "1.7.4": case "1.7.4":
@ -217,6 +257,7 @@ namespace MinecraftClient.Protocol
case "1.12.2": case "1.12.2":
return 340; return 340;
case "1.13": case "1.13":
case "1.13.0":
return 393; return 393;
case "1.13.1": case "1.13.1":
return 401; return 401;
@ -253,15 +294,18 @@ namespace MinecraftClient.Protocol
case "1.16.5": case "1.16.5":
return 754; return 754;
case "1.17": case "1.17":
case "1.17.0":
return 755; return 755;
case "1.17.1": case "1.17.1":
return 756; return 756;
case "1.18": case "1.18":
case "1.18.0":
case "1.18.1": case "1.18.1":
return 757; return 757;
case "1.18.2": case "1.18.2":
return 758; return 758;
case "1.19": case "1.19":
case "1.19.0":
return 759; return 759;
case "1.19.1": case "1.19.1":
case "1.19.2": case "1.19.2":
@ -293,11 +337,20 @@ namespace MinecraftClient.Protocol
{ {
switch (protocol) switch (protocol)
{ {
case 22: return "1.0";
case 23: return "1.1";
case 28: return "1.2.3";
case 29: return "1.2.5";
case 39: return "1.3.2";
// case 47: return "1.4.2";
case 48: return "1.4.3";
case 49: return "1.4.5";
case 51: return "1.4.6"; case 51: return "1.4.6";
case 60: return "1.5.1"; case 60: return "1.5.1";
case 62: return "1.5.2"; case 62: return "1.5.2";
case 72: return "1.6"; case 72: return "1.6";
case 73: return "1.6.1"; case 73: return "1.6.1";
case 3: return "1.7.1";
case 4: return "1.7.2"; case 4: return "1.7.2";
case 5: return "1.7.6"; case 5: return "1.7.6";
case 47: return "1.8"; case 47: return "1.8";
@ -838,7 +891,7 @@ namespace MinecraftClient.Protocol
TcpClient client = ProxyHandler.newTcpClient(host, 443, true); TcpClient client = ProxyHandler.newTcpClient(host, 443, true);
SslStream stream = new SslStream(client.GetStream()); SslStream stream = new SslStream(client.GetStream());
stream.AuthenticateAsClient(host, null, (SslProtocols)3072, true); // Enable TLS 1.2. Hotfix for #1780 stream.AuthenticateAsClient(host, null, SslProtocols.Tls12, true); // Enable TLS 1.2. Hotfix for #1780
if (Settings.DebugMessages) if (Settings.DebugMessages)
foreach (string line in headers) foreach (string line in headers)

View file

@ -124,7 +124,7 @@ namespace MinecraftClient.Protocol
if (isSecure) if (isSecure)
{ {
stream = new SslStream(client.GetStream()); stream = new SslStream(client.GetStream());
((SslStream)stream).AuthenticateAsClient(host, null, (SslProtocols)3072, true); // Enable TLS 1.2. Hotfix for #1774 ((SslStream)stream).AuthenticateAsClient(host, null, SslProtocols.Tls12, true); // Enable TLS 1.2. Hotfix for #1774
} }
else else
{ {