示例#1
0
        public override void HandleMessage(INetPacketStream packet)
        {
            base.HandleMessage(packet);

            var buffer = packet.ReadArray <byte>(packet.Size);

            var type = BitConverter.ToInt32(buffer, 0);

            if (type == 0)
            {
                SessionId = BitConverter.ToUInt32(buffer, 4);
            }

            if (type == 0x000000fd)
            {
                PatchServerList(ref buffer);
            }

            using (var p = new FlyServerPacket())
            {
                p.Write(buffer, 0, buffer.Length);

                FlyProxContext.Instance.ProxyLoginServer.SendToAll(p);
            }
        }
示例#2
0
        public override void HandleMessage(INetPacketStream packet)
        {
            base.HandleMessage(packet);

            var buffer = packet.ReadArray <byte>(packet.Size).Skip(4).ToArray();

            using (var p = new FlyClientPacket(FlyProxContext.Instance.ProxyClusterClient.SessionId))
            {
                p.Write(buffer, 0, buffer.Length);

                FlyProxContext.Instance.ProxyClusterClient.Send(p);
            }
        }
示例#3
0
        public CertifyPacket(INetPacketStream packet, bool useEncryptedPassword)
        {
            this.BuildVersion      = packet.Read <string>();
            this.Username          = packet.Read <string>();
            this.Password          = null;
            this.EncryptedPassword = null;

            if (useEncryptedPassword)
            {
                this.EncryptedPassword = packet.ReadArray <byte>(16 * 42);
            }
            else
            {
                this.Password = packet.Read <string>();
            }
        }