Refactor packet sending to use SendReliable method for improved reliability and remove unnecessary logging

This commit is contained in:
2025-12-14 23:18:23 +01:00
parent 36acbb57c5
commit 62db70c1c4
2 changed files with 32 additions and 7 deletions

View File

@@ -99,10 +99,7 @@ namespace KCM.Packets.Network
chunkSize = chunk.Length,
saveDataIndex = sent,
totalChunks = chunks.Count
}.Send(clientId, Riptide.MessageSendMode.Reliable);
Main.helper.Log(" ");
}.SendReliable(clientId);
packetsSent++;
sent += chunk.Length;
}

View File

@@ -20,9 +20,6 @@ namespace KCM.Packets
if (!Main.clientSteamIds.ContainsKey(clientId))
return null;
//Main.helper.Log($"SteamID: {Main.GetPlayerByClientID(clientId).steamId} for {clientId} ({Main.GetPlayerByClientID(clientId).id})");
if (Main.kCPlayers.TryGetValue(Main.GetPlayerByClientID(clientId).steamId, out p))
return p;
else
@@ -107,6 +104,37 @@ namespace KCM.Packets
}
}
public void SendReliable(ushort toClient)
{
try
{
if (KCServer.IsRunning && toClient != 0)
{
KCServer.server.Send(PacketHandler.SerialisePacket(this), toClient, Riptide.MessageSendMode.Reliable);
}
}
catch (Exception ex)
{
Main.helper.Log($"Error sending reliable packet {packetId} {this.GetType().Name} from {clientId}");
Main.helper.Log("----------------------- Main exception -----------------------");
Main.helper.Log(ex.ToString());
Main.helper.Log("----------------------- Main message -----------------------");
Main.helper.Log(ex.Message);
Main.helper.Log("----------------------- Main stacktrace -----------------------");
Main.helper.Log(ex.StackTrace);
if (ex.InnerException != null)
{
Main.helper.Log("----------------------- Inner exception -----------------------");
Main.helper.Log(ex.InnerException.ToString());
Main.helper.Log("----------------------- Inner message -----------------------");
Main.helper.Log(ex.InnerException.Message);
Main.helper.Log("----------------------- Inner stacktrace -----------------------");
Main.helper.Log(ex.InnerException.StackTrace);
}
}
}
public abstract void HandlePacketServer();
public abstract void HandlePacketClient();
}