Esempio n. 1
0
        public static void CheckUserPrivacyData(PacketReader packet, PacketBuilder builder, ClientHandler client, EventHandler events)
        {
            //byte[] b;

            packet.Skip(4);
            var pass = packet.ReadString(32).Trim('\0');

            pass = GenerateHash(pass);

            var database = client.Metadata["database"] as IDatabaseContracts;
            var server   = (int)client.Metadata["server"];

            bool?auth = database.VerifyPassword(server, client.AccountID, pass);

            builder.New(0x320);
            {
                if (auth != null)
                {
                    builder += (bool)(auth) ? (byte)1 : (byte)0;
                }
                else
                {
                    events.Error("world.700.CheckUserPrivacyData", "CheckUserPrivacyData: Account ID not found!");
                }

                //b = builder.Data;
            }

            client.Send(builder, "CheckUserPrivacyData");
        }
Esempio n. 2
0
        void Parse(PacketReader reader, PacketBuilder builder, ClientHandler client, EventHandler events)
        {
            ushort opcode = reader.Opcode;

            if (_methods.ContainsKey(opcode))
            {
                reader.index = 10;
                events.ReceivedPacket(this, new PacketEventArgs(client.RemoteEndPoint.ToString(), _methods[opcode].Item1, opcode, reader.Size));
                _methods[opcode].Item2(reader, builder, client, events);
            }
            else
            {
                events.Error(this, string.Format("Unknown packet ({0}) from {1}", opcode, client.RemoteEndPoint));
            }
        }