diff --git a/MinecraftClient/Protocol/Handlers/Protocol16.cs b/MinecraftClient/Protocol/Handlers/Protocol16.cs index 4af70ab1..54733664 100644 --- a/MinecraftClient/Protocol/Handlers/Protocol16.cs +++ b/MinecraftClient/Protocol/Handlers/Protocol16.cs @@ -41,9 +41,20 @@ namespace MinecraftClient.Protocol.Handlers private void Updater() { + int keep_alive_interval = 100; + int keep_alive_timer = 100; try { - do { Thread.Sleep(100); } + do + { + Thread.Sleep(100); + keep_alive_timer--; + if (keep_alive_timer <= 0) + { + Send(getPaddingPacket()); + keep_alive_timer = keep_alive_interval; + } + } while (Update()); } catch (System.IO.IOException) { } diff --git a/MinecraftClient/Protocol/Handlers/Protocol17.cs b/MinecraftClient/Protocol/Handlers/Protocol17.cs index 62b65fb8..fe97cae3 100644 --- a/MinecraftClient/Protocol/Handlers/Protocol17.cs +++ b/MinecraftClient/Protocol/Handlers/Protocol17.cs @@ -44,9 +44,20 @@ namespace MinecraftClient.Protocol.Handlers private void Updater() { + int keep_alive_interval = 100; + int keep_alive_timer = 100; try { - do { Thread.Sleep(100); } + do + { + Thread.Sleep(100); + keep_alive_timer--; + if (keep_alive_timer <= 0) + { + Send(getPaddingPacket()); + keep_alive_timer = keep_alive_interval; + } + } while (Update()); } catch (System.IO.IOException) { }