protected override void OnRun(byte[] buffer) { try { DataPacket packet = server.Network.GetPacket((short)server.Network.GetTypeOf(buffer)); if (packet != null) { packet.Buffer = buffer; if (packet.IsValid) { _kickTask.Inactive = 0; packet.Decode(); LogFactory.GetLog(server.Name).LogInfo($"Received Packet [{packet.Pid().ToString()}] [{packet.Buffer.Length}]"); LogFactory.GetLog(server.Name).LogInfo($"\n{NetworkUtil.DumpPacket(packet.Buffer)}"); HandlePacket(packet); } else { LogFactory.GetLog(server.Name).LogWarning($"Received Invalid Packet [{packet.Pid().ToString()}] [{packet.Buffer.Length}]"); packet.Decode(); LogFactory.GetLog(server.Name).LogInfo($"\n{NetworkUtil.DumpPacket(packet.Buffer)}"); } } else { LogFactory.GetLog(server.Name).LogWarning($"Unknown Packet with ID {(short)server.Network.GetTypeOf(buffer)}."); LogFactory.GetLog(server.Name).LogInfo($"\n{NetworkUtil.DumpPacket(buffer)}"); } base.OnRun(buffer); }catch (Exception e) { LogFactory.GetLog(server.Name).LogFatal(e); } }
public override void onRun(byte[] buffer) { DataPacket packet = server.Network.GetPacket((short)server.Network.GetTypeOf(buffer)); if (packet != null) { packet.SetBuffer(buffer); if (packet.IsValid) { server.Log($"Received Packet [{packet.Pid().ToString()}] [{buffer.Length}]"); Console.Log(NetworkUtil.DumpPacket(buffer)); packet.Decode(); HandlePacket(packet); } else { server.Log($"Received Invalid Packet [{packet.Pid().ToString()}] [{buffer.Length}]"); } } else { server.Log("Unknown Packet."); } base.onRun(buffer); }
public override void Encode() { FeverData data = Session.Fever; if (!data.Activated) { Write((ushort)0); Write((ushort)0); Write((uint)data.Percent); Write((ushort)data.Progress); //May be the number of progresses passed Write((ushort)100); //Max percent } else { Write((ushort)3); Write((ushort)0); Write((uint)((data.ActivatedAt.AddMinutes(data.Duration) - DateTime.Now).TotalMinutes)); //Remaining Minutes Write((ushort)data.Progress); //May be the number of progresses passed Write((ushort)100); //Max percent } Memory.Position = 0; buffer = new byte[Memory.Length]; Memory.Read(buffer, 0, buffer.Length); Close(); buffer[3] = 1; buffer[4] = 169; buffer[5] = 2; LogFactory.GetLog("FeverInfoUpdatePacket:Encoded").LogInfo($"\n{NetworkUtil.DumpPacket(buffer)}"); }
public override void Encode() { Memory.Position += 8; Write((byte)0); Write((uint)0); Write(Encoding.Default.GetBytes(User.Id.ToString())); Memory.Position += 21 - User.Id.ToString().Length; Write((uint)1); Memory.Position += 1; Write((uint)User.Honor); Write(User.GamePoints); Write(User.ZettaPoints); Write(User.Experience); Memory.Position += 4; Write(User.Rank); Memory.Position += 4; var percent = 100 * User.Experience / User.ExperienceNeed; Write((uint)percent); Write(User.ExperienceNeed); Write(Statistics.Wins); Write(Statistics.Loses); Write(Statistics.Kills); Write(Statistics.Deaths); Write(Statistics.Headshots); Write(Statistics.Assists); Write(Statistics.Desertion); Write((uint)0); Write((uint)15); Write((uint)15); Write(new byte[] { 0xEC, 0xD8, 0xC0, 0x60 }); Memory.Position += 21; Write(User.Id); Memory.Position += 4; Write(Encoding.Default.GetBytes(User.Nickname)); Memory.Position += 16 - Encoding.Default.GetBytes(User.Nickname).Length; Write((ushort)2); Write(Encoding.Default.GetBytes(User.Identifier)); Memory.Position += 20; Write((short)16); Write((short)6); Write(Encoding.Default.GetBytes(User.Nickname)); Memory.Position += 20 - Encoding.Default.GetBytes(User.Nickname).Length; Write(0); int length = (int)Memory.Position; Memory.Position = 0; buffer = new byte[3303]; // 3161 pharaoh Memory.Read(buffer, 0, length); Close(); buffer[3] = 1; buffer[4] = 1; LogFactory.GetLog("PlayerData:Encoded").LogInfo($"\n{NetworkUtil.DumpPacket(buffer)}"); }
public override void Encode() { buffer = new byte[209]; Write(45138, 14); Write("pY20", 16); Write(44431, 22); Write("lY", 24); Write(DateTime.Now.ToString("yyyymmddhhmmss"), 26); Write(User.Rank, 94); Write(User.Kills, 98); Write(User.Deaths, 102); Write(User.Identifier, 106); Close(); buffer[3] = 1; buffer[4] = 6; buffer[5] = 0; LogFactory.GetLog("ServerTimePacket:Encoded").LogInfo($"\n{NetworkUtil.DumpPacket(buffer)}"); }
public override void Decode() { LogFactory.GetLog("ServerTimePacket:Decoded").LogInfo($"\n{NetworkUtil.DumpPacket(buffer)}"); }
public void Debug() { Console.Log($"[Login Server] [{LoginType.S2CDisplayError.ToString()}]"); Console.Log($"{NetworkUtil.DumpPacket(buffer)}"); Console.Log("----- PACKET END -----"); }