From 1653944b51966bdc8604be12243f8cb6a04fb3fc Mon Sep 17 00:00:00 2001 From: Bluzume <39113159+KuromeSan@users.noreply.github.com> Date: Tue, 2 Nov 2021 02:41:23 -0400 Subject: [PATCH] fix byte[] packets --- HorseIsleServer/HorseIsleServer/Server/GameClient.cs | 9 +++++---- .../HorseIsleServer/Server/PacketBuilder.cs | 12 ++++++------ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/HorseIsleServer/HorseIsleServer/Server/GameClient.cs b/HorseIsleServer/HorseIsleServer/Server/GameClient.cs index ed773ed..2e9128f 100644 --- a/HorseIsleServer/HorseIsleServer/Server/GameClient.cs +++ b/HorseIsleServer/HorseIsleServer/Server/GameClient.cs @@ -98,9 +98,12 @@ namespace HISP.Server // HI1 Packets are terminates by 0x00 so we have to read until we receive that terminator if (!ClientSocket.Connected) - isDisconnecting = true; + Disconnect(); + + if(e.SocketError != SocketError.Success) + Disconnect(); - if (e.SocketError == SocketError.Success && !isDisconnecting) + if (!isDisconnecting) { int availble = e.BytesTransferred; @@ -123,8 +126,6 @@ namespace HISP.Server return; } - Disconnect(); - // Stop Timers if (inactivityTimer != null) inactivityTimer.Dispose(); diff --git a/HorseIsleServer/HorseIsleServer/Server/PacketBuilder.cs b/HorseIsleServer/HorseIsleServer/Server/PacketBuilder.cs index 136130e..5121a37 100644 --- a/HorseIsleServer/HorseIsleServer/Server/PacketBuilder.cs +++ b/HorseIsleServer/HorseIsleServer/Server/PacketBuilder.cs @@ -341,7 +341,7 @@ namespace HISP.Server packet[0] = PACKET_SWFMODULE; Array.Copy(drawingBytes, 0, packet, 1, drawingBytes.Length); - packet[packet.Length] = PACKET_TERMINATOR; + packet[packet.Length-1] = PACKET_TERMINATOR; return packet; } @@ -361,7 +361,7 @@ namespace HISP.Server Array.Copy(infoBytes, 0, packet, 2, infoBytes.Length); - packet[packet.Length] = PACKET_TERMINATOR; + packet[packet.Length-1] = PACKET_TERMINATOR; return packet; } @@ -446,7 +446,7 @@ namespace HISP.Server Array.Copy(userBytes, 0, packet, 9, userBytes.Length); - packet[packet.Length] = PACKET_TERMINATOR; + packet[packet.Length-1] = PACKET_TERMINATOR; return packet; } @@ -466,7 +466,7 @@ namespace HISP.Server Array.Copy(loginFailMessage, 0, packet, 2, loginFailMessage.Length); - packet[packet.Length] = PACKET_TERMINATOR; + packet[packet.Length-1] = PACKET_TERMINATOR; return packet; } @@ -478,7 +478,7 @@ namespace HISP.Server packet[0] = PACKET_PLAYER; Array.Copy(profileBytes, 0, packet, 1, profileBytes.Length); - packet[packet.Length] = PACKET_TERMINATOR; + packet[packet.Length-1] = PACKET_TERMINATOR; return packet; } @@ -503,7 +503,7 @@ namespace HISP.Server packet[8] = (byte)(direction + 20); packet[9] = (byte)(Convert.ToInt32(walk) + 20); - packet[packet.Length] = PACKET_TERMINATOR; + packet[packet.Length-1] = PACKET_TERMINATOR; return packet; }