using MassTransit; namespace Server.Packets; [MessageUrn("packets")] public class RawPacket { public readonly OperationCode OperationCode; public byte[] MessageBody; public readonly TimeSpan ClientAliveTime; public readonly byte UnknownValue; public readonly byte UnknownValue2; public readonly Guid SessionId; public readonly AuthSession Session; public RawPacket(OperationCode operationCode, byte[] messageBody, uint aliveTime, byte unknownValue2, byte unknownValue, Guid sessionId, AuthSession session) { this.MessageBody = messageBody; this.UnknownValue2 = unknownValue2; this.UnknownValue = unknownValue; this.SessionId = sessionId; this.Session = session; this.OperationCode = operationCode; /* * 20s = 5 * 15s = 4 * 10s = 3 * client alive time * 5s => uptime */ this.ClientAliveTime = TimeSpan.FromSeconds(5 * aliveTime); } }