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); }
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(); } }