diff --git a/MinecraftClient/McClient.cs b/MinecraftClient/McClient.cs index abc001e8..e7d6647e 100644 --- a/MinecraftClient/McClient.cs +++ b/MinecraftClient/McClient.cs @@ -60,7 +60,7 @@ namespace MinecraftClient private float playerYaw; private float playerPitch; private double motionY; - public enum MovementType { Sneak, Walk, Sprint} + public enum MovementType { Sneak, Walk, Sprint } public int currentMovementSpeed = 4; private int sequenceId; // User for player block synchronization (Aka. digging, placing blocks, etc..) @@ -229,7 +229,7 @@ namespace MinecraftClient { client = ProxyHandler.newTcpClient(host, port); client.ReceiveBufferSize = 1024 * 1024; - client.ReceiveTimeout = 30000; // 30 seconds + client.ReceiveTimeout = Settings.Timeout * 1000; // Default: 30 seconds handler = Protocol.ProtocolHandler.GetProtocolHandler(client, protocolversion, forgeInfo, this); Log.Info(Translations.Get("mcc.version_supported")); @@ -414,7 +414,7 @@ namespace MinecraftClient lock (lastKeepAliveLock) { - if (lastKeepAlive.AddSeconds(30) < DateTime.Now) + if (lastKeepAlive.AddSeconds(Settings.Timeout) < DateTime.Now) { if (((CancellationToken)o!).IsCancellationRequested) return; diff --git a/MinecraftClient/Resources/config/MinecraftClient.ini b/MinecraftClient/Resources/config/MinecraftClient.ini index 2b93abf6..b77d8542 100644 --- a/MinecraftClient/Resources/config/MinecraftClient.ini +++ b/MinecraftClient/Resources/config/MinecraftClient.ini @@ -47,6 +47,7 @@ timestamps=false # Prepend timestamps to chat messages autorespawn=false # Toggle auto respawn if client player was dead (make sure your spawn point is safe) minecraftrealms=true # Enable support for joining Minecraft Realms worlds moveheadwhilewalking=true # Enable head movement while walking to avoid anti-cheat triggers +timeout=30 # Set a custom timeout in seconds (Default: 30). Use only if you know what you're doing. [Signature] # Chat settings (affects minecraft 1.19+) diff --git a/MinecraftClient/Settings.cs b/MinecraftClient/Settings.cs index 6f0f6654..9a668669 100644 --- a/MinecraftClient/Settings.cs +++ b/MinecraftClient/Settings.cs @@ -105,6 +105,7 @@ namespace MinecraftClient public static bool AutoRespawn = false; public static bool MinecraftRealmsEnabled = true; public static bool MoveHeadWhileWalking = true; + public static int Timeout = 30; // Signature public static bool LoginWithSecureProfile = true; @@ -206,7 +207,7 @@ namespace MinecraftClient //AutoCraft public static bool AutoCraft_Enabled = false; public static string AutoCraft_configFile = @"autocraft\config.ini"; - + //Mailer public static bool Mailer_Enabled = false; public static string Mailer_DatabaseFile = "MailerDatabase.ini"; @@ -355,10 +356,12 @@ namespace MinecraftClient { case "login": Login = argValue; return true; case "password": Password = argValue; return true; - case "type": AccountType = argValue == "mojang" + case "type": + AccountType = argValue == "mojang" ? ProtocolHandler.AccountType.Mojang : ProtocolHandler.AccountType.Microsoft; return true; - case "method": LoginMethod = argValue.ToLower() == "browser" + case "method": + LoginMethod = argValue.ToLower() == "browser" ? "browser" : "mcc"; return true; case "serverip": if (!SetServerIP(argValue)) ServerAliasTemp = argValue; return true; @@ -386,6 +389,7 @@ namespace MinecraftClient case "debugmessages": DebugMessages = str2bool(argValue); return true; case "minecraftrealms": MinecraftRealmsEnabled = str2bool(argValue); return true; case "moveheadwhilewalking": MoveHeadWhileWalking = str2bool(argValue); return true; + case "timeout": Timeout = str2int(argValue); return true; case "botowners": Bots_Owners.Clear(); @@ -821,7 +825,7 @@ namespace MinecraftClient public static void WriteDefaultSettings(string settingsfile) { // Load embedded default config and adjust line break for the current operating system - string settingsContents = String.Join(Environment.NewLine, + string settingsContents = String.Join(Environment.NewLine, DefaultConfigResource.MinecraftClient.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None)); // Write configuration file with current version number @@ -843,7 +847,8 @@ namespace MinecraftClient { return Convert.ToInt32(str.Trim()); } - catch { + catch + { ConsoleIO.WriteLogLine(Translations.Get("error.setting.str2int", str)); return 0; }