network fix

This commit is contained in:
2025-12-13 16:39:02 +01:00
parent efa6016fe5
commit cb59d5a918
8 changed files with 119 additions and 43 deletions

View File

@@ -222,7 +222,13 @@ namespace KCM.Packets.Handlers
try
{
var packetRef = Packets[packet.packetId];
Message message = Message.Create(MessageSendMode.Reliable, packet.packetId);
MessageSendMode sendMode = MessageSendMode.Reliable;
Packet basePacket = packet as Packet;
if (basePacket != null)
sendMode = basePacket.sendMode;
Message message = Message.Create(sendMode, packet.packetId);
foreach (var prop in packetRef.properties)
{

View File

@@ -92,36 +92,7 @@ namespace KCM.Packets.Network
return;
byte[] bytes = LoadSaveLoadAtPathHook.saveData;
int chunkSize = 900; // 900 bytes per chunk to fit within packet size limit
List<byte[]> chunks = SplitByteArrayIntoChunks(bytes, chunkSize);
Main.helper.Log("Save Transfer started!");
int sent = 0;
int packetsSent = 0;
for (int i = 0; i < chunks.Count; i++)
{
var chunk = chunks[i];
new SaveTransferPacket()
{
saveSize = bytes.Length,
saveDataChunk = chunk,
chunkId = i,
chunkSize = chunk.Length,
saveDataIndex = sent,
totalChunks = chunks.Count
}.Send(clientId);
Main.helper.Log(" ");
packetsSent++;
sent += chunk.Length;
}
Main.helper.Log($"Sent {packetsSent} save data chunks to client");
KCServer.EnqueueSaveTransfer(clientId, bytes);
}
else
{

View File

@@ -11,6 +11,7 @@ namespace KCM.Packets
{
public abstract ushort packetId { get; }
public ushort clientId { get; set; }
public virtual Riptide.MessageSendMode sendMode => Riptide.MessageSendMode.Reliable;
public KCPlayer player
{

View File

@@ -11,6 +11,7 @@ namespace KCM.Packets.State
public class BuildingStatePacket : Packet
{
public override ushort packetId => (ushort)Enums.Packets.BuildingStatePacket;
public override Riptide.MessageSendMode sendMode => Riptide.MessageSendMode.Unreliable;
public string customName { get; set; }
public Guid guid { get; set; }