Added an option for custom timeout as requested in #1337.

This commit is contained in:
Milutinke 2022-08-29 19:12:44 +02:00
parent e150bd569b
commit 42de4378e1
3 changed files with 14 additions and 8 deletions

View file

@ -229,7 +229,7 @@ namespace MinecraftClient
{ {
client = ProxyHandler.newTcpClient(host, port); client = ProxyHandler.newTcpClient(host, port);
client.ReceiveBufferSize = 1024 * 1024; 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); handler = Protocol.ProtocolHandler.GetProtocolHandler(client, protocolversion, forgeInfo, this);
Log.Info(Translations.Get("mcc.version_supported")); Log.Info(Translations.Get("mcc.version_supported"));
@ -414,7 +414,7 @@ namespace MinecraftClient
lock (lastKeepAliveLock) lock (lastKeepAliveLock)
{ {
if (lastKeepAlive.AddSeconds(30) < DateTime.Now) if (lastKeepAlive.AddSeconds(Settings.Timeout) < DateTime.Now)
{ {
if (((CancellationToken)o!).IsCancellationRequested) if (((CancellationToken)o!).IsCancellationRequested)
return; return;

View file

@ -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) 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 minecraftrealms=true # Enable support for joining Minecraft Realms worlds
moveheadwhilewalking=true # Enable head movement while walking to avoid anti-cheat triggers 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] [Signature]
# Chat settings (affects minecraft 1.19+) # Chat settings (affects minecraft 1.19+)

View file

@ -105,6 +105,7 @@ namespace MinecraftClient
public static bool AutoRespawn = false; public static bool AutoRespawn = false;
public static bool MinecraftRealmsEnabled = true; public static bool MinecraftRealmsEnabled = true;
public static bool MoveHeadWhileWalking = true; public static bool MoveHeadWhileWalking = true;
public static int Timeout = 30;
// Signature // Signature
public static bool LoginWithSecureProfile = true; public static bool LoginWithSecureProfile = true;
@ -355,10 +356,12 @@ namespace MinecraftClient
{ {
case "login": Login = argValue; return true; case "login": Login = argValue; return true;
case "password": Password = argValue; return true; case "password": Password = argValue; return true;
case "type": AccountType = argValue == "mojang" case "type":
AccountType = argValue == "mojang"
? ProtocolHandler.AccountType.Mojang ? ProtocolHandler.AccountType.Mojang
: ProtocolHandler.AccountType.Microsoft; return true; : ProtocolHandler.AccountType.Microsoft; return true;
case "method": LoginMethod = argValue.ToLower() == "browser" case "method":
LoginMethod = argValue.ToLower() == "browser"
? "browser" ? "browser"
: "mcc"; return true; : "mcc"; return true;
case "serverip": if (!SetServerIP(argValue)) ServerAliasTemp = argValue; 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 "debugmessages": DebugMessages = str2bool(argValue); return true;
case "minecraftrealms": MinecraftRealmsEnabled = str2bool(argValue); return true; case "minecraftrealms": MinecraftRealmsEnabled = str2bool(argValue); return true;
case "moveheadwhilewalking": MoveHeadWhileWalking = str2bool(argValue); return true; case "moveheadwhilewalking": MoveHeadWhileWalking = str2bool(argValue); return true;
case "timeout": Timeout = str2int(argValue); return true;
case "botowners": case "botowners":
Bots_Owners.Clear(); Bots_Owners.Clear();
@ -843,7 +847,8 @@ namespace MinecraftClient
{ {
return Convert.ToInt32(str.Trim()); return Convert.ToInt32(str.Trim());
} }
catch { catch
{
ConsoleIO.WriteLogLine(Translations.Get("error.setting.str2int", str)); ConsoleIO.WriteLogLine(Translations.Get("error.setting.str2int", str));
return 0; return 0;
} }