Ignore the length requirement of sync orders we want to drop
This commit is contained in:
@@ -70,10 +70,7 @@ namespace OpenRA.Network
|
|||||||
if (frame != int.MaxValue && (!lastClientsFrame.ContainsKey(client) || frame > lastClientsFrame[client]))
|
if (frame != int.MaxValue && (!lastClientsFrame.ContainsKey(client) || frame > lastClientsFrame[client]))
|
||||||
lastClientsFrame[client] = frame;
|
lastClientsFrame[client] = frame;
|
||||||
|
|
||||||
if (packet.Length == 5 && packet[4] == (byte)OrderType.Disconnect)
|
if (packet.Length > 4 && (packet[4] == (byte)OrderType.Disconnect || packet[4] == (byte)OrderType.SyncHash))
|
||||||
continue;
|
|
||||||
|
|
||||||
if (packet.Length == 4 + Order.SyncHashOrderLength && packet[4] == (byte)OrderType.SyncHash)
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (frame == 0)
|
if (frame == 0)
|
||||||
|
|||||||
@@ -26,9 +26,7 @@ namespace OpenRA.Network
|
|||||||
|
|
||||||
static bool IsGameStart(byte[] data)
|
static bool IsGameStart(byte[] data)
|
||||||
{
|
{
|
||||||
if (data.Length == 5 && data[4] == (byte)OrderType.Disconnect)
|
if (data.Length > 4 && (data[4] == (byte)OrderType.Disconnect || data[4] == (byte)OrderType.SyncHash))
|
||||||
return false;
|
|
||||||
if (data.Length == 4 + Order.SyncHashOrderLength && data[4] == (byte)OrderType.SyncHash)
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
var frame = BitConverter.ToInt32(data, 0);
|
var frame = BitConverter.ToInt32(data, 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user