diff --git a/OpenRA.Game/Network/ReplayConnection.cs b/OpenRA.Game/Network/ReplayConnection.cs index 3c3f727106..c0ecaf0d7f 100644 --- a/OpenRA.Game/Network/ReplayConnection.cs +++ b/OpenRA.Game/Network/ReplayConnection.cs @@ -70,10 +70,7 @@ namespace OpenRA.Network if (frame != int.MaxValue && (!lastClientsFrame.ContainsKey(client) || frame > lastClientsFrame[client])) lastClientsFrame[client] = frame; - if (packet.Length == 5 && packet[4] == (byte)OrderType.Disconnect) - continue; - - if (packet.Length == 4 + Order.SyncHashOrderLength && packet[4] == (byte)OrderType.SyncHash) + if (packet.Length > 4 && (packet[4] == (byte)OrderType.Disconnect || packet[4] == (byte)OrderType.SyncHash)) continue; if (frame == 0) diff --git a/OpenRA.Game/Network/ReplayRecorder.cs b/OpenRA.Game/Network/ReplayRecorder.cs index 2407b8fe48..33e0075c08 100644 --- a/OpenRA.Game/Network/ReplayRecorder.cs +++ b/OpenRA.Game/Network/ReplayRecorder.cs @@ -26,9 +26,7 @@ namespace OpenRA.Network static bool IsGameStart(byte[] data) { - if (data.Length == 5 && data[4] == (byte)OrderType.Disconnect) - return false; - if (data.Length == 4 + Order.SyncHashOrderLength && data[4] == (byte)OrderType.SyncHash) + if (data.Length > 4 && (data[4] == (byte)OrderType.Disconnect || data[4] == (byte)OrderType.SyncHash)) return false; var frame = BitConverter.ToInt32(data, 0);