From 6ccad507a809aabed9aa10a1a0ec49b06e3d1534 Mon Sep 17 00:00:00 2001 From: neckfire Date: Tue, 14 Jul 2026 19:00:19 +0200 Subject: [PATCH] diag(game-server): log connectionless handshake (challenge/response) Co-Authored-By: Claude Opus 4.8 --- src/Prospect.Unreal/Net/StatelessConnectHandlerComponent.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Prospect.Unreal/Net/StatelessConnectHandlerComponent.cs b/src/Prospect.Unreal/Net/StatelessConnectHandlerComponent.cs index e50c8e2..0620552 100644 --- a/src/Prospect.Unreal/Net/StatelessConnectHandlerComponent.cs +++ b/src/Prospect.Unreal/Net/StatelessConnectHandlerComponent.cs @@ -399,9 +399,10 @@ public class StatelessConnectHandlerComponent : HandlerComponent } var bHandshakePacket = packet.ReadBit() && !packet.IsError(); + Logger.Information("[HS-DIAG-CL] Incoming flag={HS} bitsLeftAfterFlag={Left} expect={Exp}", bHandshakePacket, packet.GetBitsLeft(), HandshakePacketSizeBits - 1); _lastChallengeSuccessAddress = null; - + if (bHandshakePacket) { var bRestartHandshake = false; @@ -411,6 +412,7 @@ public class StatelessConnectHandlerComponent : HandlerComponent Span origCookie = stackalloc byte[CookieByteSize]; bHandshakePacket = ParseHandshakePacket(packet, ref bRestartHandshake, ref secretId, ref timestamp, cookie, origCookie); + Logger.Information("[HS-DIAG-CL] parsed ok={Ok} restart={R} secretId={S} timestamp={T}", bHandshakePacket, bRestartHandshake, secretId, timestamp); if (bHandshakePacket) { @@ -419,6 +421,7 @@ public class StatelessConnectHandlerComponent : HandlerComponent var bInitialConnect = timestamp == 0.0; if (bInitialConnect) { + Logger.Information("[HS-DIAG-CL] initial -> SendConnectChallenge to {Addr}", address); SendConnectChallenge(address); } else if (_driver != null) @@ -437,6 +440,7 @@ public class StatelessConnectHandlerComponent : HandlerComponent GenerateCookie(address, secretId, timestamp, regenCookie); bChallengeSuccess = cookie.SequenceEqual(regenCookie); + Logger.Information("[HS-DIAG-CL] challenge response cookieMatch={Ok}", bChallengeSuccess); if (bChallengeSuccess) {