Add extra debug log statements

To help debugging Impostor, this commit prints a message every time a
GameData message arrives, and one more if it's an Rpc or a Data update.
Most other interesting Gamedata tags already have log statements
attached, but these two didn't as they're very frequent.

They only show up when the Debug verbosity is used, which production
servers shouldn't have enabled.
This commit is contained in:
miniduikboot committed 2024-08-13 21:21:29 +02:00
1 parent 35c66cda5f
commit 6b8a32d090
1 file changed
+12 -1
+12 -1
View File
@@ -83,6 +83,8 @@ namespace Impostor.Server.Net.State
{
using var reader = parent.ReadMessage();
_logger.LogTrace("Client {SenderId} sent GameData {Tag}", sender.Client.Id, reader.Tag);
switch (reader.Tag)
{
case GameDataTag.DataFlag:
@@ -90,6 +92,7 @@ namespace Impostor.Server.Net.State
var netId = reader.ReadPackedUInt32();
if (_allObjectsFast.TryGetValue(netId, out var obj))
{
_logger.LogTrace("Received Data for {NetId}, which is of type {Type}", netId, obj.GetType().Name);
await obj.DeserializeAsync(sender, target, reader, false);
}
else
@@ -105,7 +108,15 @@ namespace Impostor.Server.Net.State
var netId = reader.ReadPackedUInt32();
if (_allObjectsFast.TryGetValue(netId, out var obj))
{
if (!await obj.HandleRpcAsync(sender, target, (RpcCalls)reader.ReadByte(), reader))
var call = (RpcCalls)reader.ReadByte();
_logger.LogTrace(
"Client {SenderId} called Rpc {Call} on NetId {CallerId} and sent it to {Target}",
sender.Client.Id,
call,
obj.NetId,
target?.Client.Id.ToString() ?? "everyone");
if (!await obj.HandleRpcAsync(sender, target, call, reader))
{
parent.RemoveMessage(reader);
continue;