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)}");
        }
Esempio n. 5
0
 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)}");
 }
Esempio n. 6
0
 public override void Decode()
 {
     LogFactory.GetLog("ServerTimePacket:Decoded").LogInfo($"\n{NetworkUtil.DumpPacket(buffer)}");
 }
Esempio n. 7
0
 public void Debug()
 {
     Console.Log($"[Login Server] [{LoginType.S2CDisplayError.ToString()}]");
     Console.Log($"{NetworkUtil.DumpPacket(buffer)}");
     Console.Log("----- PACKET END -----");
 }