Ejemplo n.º 1
0
        public void Parse(bool encryptedPacket, byte[] packetData)
        {
            // This should be needed for handle the init unencrypted packet
            // after init packet are send we need to set it to true
            // else it resends the unencrypted packet
            //

            // UDP Session is not established and packet is not encrypted - so its the first packet we know
            if (!Store.currentClient.playerData.getUDPSEssionEstablished() && !encryptedPacket)
            {
                if (packetData.Length >= 15)
                {
                    var tempIniHelper = new PlayerHandler();
                    tempIniHelper.processInitUDPSession(ref packetData);
                    Output.WriteUnencryptedPacketLog(packetData, "CLIENT");
                    Store.currentClient.playerData.setUDPSessionEstablished(true);
                    Store.currentClient.playerData.setPss(0x00);
                    tempIniHelper.processPlayerSetup();
                    tempIniHelper.processAttributes();
                    return;
                }
            }

            if (!encryptedPacket)
            {
                Output.WriteUnencryptedPacketLog(packetData, "CLIENT");
                ParsePlainContent(ref packetData);
                return;
            }

            // Parse encrypted
            ParseContent(ref packetData);
        }
Ejemplo n.º 2
0
 private void SendRawMessages()
 {
     lock (messageQueue.rawMessages.SyncRoot)
     {
         if (messageQueue.rawMessages.Count > 0)
         {
             foreach (byte[] message in messageQueue.rawMessages)
             {
                 Output.WriteUnencryptedPacketLog(message, "SERVER");
                 sendPacket(message);
             }
         }
         messageQueue.rawMessages.Clear();
     }
 }