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

@ -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;

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)
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+)

View file

@ -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;
@ -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();
@ -843,7 +847,8 @@ namespace MinecraftClient
{
return Convert.ToInt32(str.Trim());
}
catch {
catch
{
ConsoleIO.WriteLogLine(Translations.Get("error.setting.str2int", str));
return 0;
}