Exemple #1
0
        public static void OnAuthSession(RealmServerSession session, CmsgAuthSession handler)
        {
            // Check the version of client trying to connect [5875]

            // DONE: Check Account
            session.Users = MainForm.Database.GetAccount(handler.ClientAccount);

            // Kick if existing

            // Check if account is banned

            // DONE: Set Crypt Hash Player
            session.PacketCrypto = new VanillaCrypt();
            session.PacketCrypto.Init(session.Users.sessionkey);

            // Disconnect clients trying to enter with an invalid build
            //if (handler.Build < 5875 || handler.Build > 6141)

            // Disconnect clients trying to enter with an invalid build

            // If server full then queue, If GM/Admin let in

            // DONE: Addons info reading
            #region NOT USED
            var addonData    = handler.ReadBytes((int)handler.BaseStream.Length - (int)handler.BaseStream.Position);
            var decompressed = ZLib.Decompress(addonData);
            //RealmServerSession.DumpPacket(decompressed);
            List <string> addOnsNames = new List <string>();
            using (var reader = new PacketReader(new MemoryStream(decompressed)))
            {
                var count = reader.BaseStream.Length / sizeof(int);
                for (var i = 0; i < count; ++i)
                {
                    //var addonName = reader.ReadString();
                    //if (addonName.Equals("")) continue;
                    //addOnsNames.Add(addonName);
                }
            }
            #endregion

            // Update [IP / Build]

            // Create Log

            // Init Warden

            // DONE: Send Addon Packet
            session.SendPacket(new SmsgAddonInfo(addOnsNames));

            // DONE: Send packet
            session.SendPacket(new SmsgAuthResponse());
        }
Exemple #2
0
        public static void OnPingPacket(RealmServerSession session, CmsgPing handler)
        {
            session.SendPacket(new SmsgPong(handler.Ping));

            // Set latency to char
//            if (session.Character != null)
//                session.Character.Latency = handler.Latency;
        }