diff --git a/src/Prospect.Unreal/Net/StatelessConnectHandlerComponent.cs b/src/Prospect.Unreal/Net/StatelessConnectHandlerComponent.cs index 196f18b..e50c8e2 100644 --- a/src/Prospect.Unreal/Net/StatelessConnectHandlerComponent.cs +++ b/src/Prospect.Unreal/Net/StatelessConnectHandlerComponent.cs @@ -185,13 +185,20 @@ public class StatelessConnectHandlerComponent : HandlerComponent public override void Incoming(FBitReader packet) { + var diagTotalBits = packet.GetBitsLeft(); + if (_magicHeader.Length > 0) { // Skip magic header. packet.Pos += _magicHeader.Length; } - + var bHandshakePacket = packet.ReadBit() && !packet.IsError(); + + // [HS-DIAG] Compare the incoming packet against what the stateless handshake expects. + // The Cycle client may use a magic header / different handshake size than 227 bits. + Logger.Information("[HS-DIAG] Incoming totalBits={Total} magicLen={Magic} bHandshake={HS} bitsLeftAfterFlag={Left} expectAfterFlag={Exp}", + diagTotalBits, _magicHeader.Length, bHandshakePacket, packet.GetBitsLeft(), HandshakePacketSizeBits - 1); if (bHandshakePacket) { var bRestartHandshake = false;