示例#1
0
        private void OnCharacterListResponse(Packet inPacket)
        {
            string hash = inPacket.ReadString();
            User   user = LoginServer.GetUser(hash);

            if (user != null)
            {
                bool online = inPacket.ReadBool();

                if (online)
                {
                    using (Packet outPacket = new Packet(ServerMessages.SelectWorldResult))
                    {
                        outPacket.WriteByte();
                        outPacket.WriteByte(inPacket.ReadByte());
                        outPacket.WriteBytes(inPacket.ReadLeftoverBytes());

                        user.Client.Send(outPacket);
                    }
                }
                else
                {
                    using (Packet outPacket = new Packet(ServerMessages.SelectWorldResult))
                    {
                        outPacket.WriteByte(9);

                        user.Client.Send(outPacket);
                    }
                }
            }
        }
示例#2
0
        private void OnCheckUserLimitResponse(Packet inPacket)
        {
            string hash = inPacket.ReadString();
            User   user = LoginServer.GetUser(hash);

            if (user != null)
            {
                using (Packet outPacket = new Packet(ServerMessages.CheckUserLimitResult))
                {
                    outPacket.WriteShort(inPacket.ReadByte());

                    user.Client.Send(outPacket);
                }
            }
        }
示例#3
0
        private void OnServerListResponse(Packet inPacket)
        {
            string hash = inPacket.ReadString();
            User   user = LoginServer.GetUser(hash);

            if (user != null)
            {
                using (Packet outPacket = new Packet(ServerMessages.WorldInformation))
                {
                    outPacket.WriteBytes(inPacket.ReadLeftoverBytes());

                    user.Client.Send(outPacket);
                }
            }
        }
示例#4
0
        private void OnCharacterCreationResponse(Packet inPacket)
        {
            string hash = inPacket.ReadString();
            User   user = LoginServer.GetUser(hash);

            if (user != null)
            {
                using (Packet outPacket = new Packet(ServerMessages.CreateNewCharacterResult))
                {
                    outPacket.WriteBool(!inPacket.ReadBool());
                    outPacket.WriteBytes(inPacket.ReadLeftoverBytes());

                    user.Client.Send(outPacket);
                }
            }
        }
示例#5
0
        private void OnMigrateResponse(Packet inPacket)
        {
            string hash = inPacket.ReadString();
            User   user = LoginServer.GetUser(hash);

            if (user != null)
            {
                int    characterId = inPacket.ReadInt();
                byte[] ip          = inPacket.ReadBytes(4);
                ushort port        = inPacket.ReadUShort();

                using (Packet outPacket = new Packet(ServerMessages.SelectCharacterResult))
                {
                    outPacket.WriteShort(); // NOTE: Status. Otherwise will show error connecting.
                    outPacket.WriteBytes(ip);
                    outPacket.WriteUShort(port);
                    outPacket.WriteInt(characterId);
                    outPacket.WriteByte(); // NOTE: Unknown.
                    outPacket.WriteInt();  // NOTE: Unknown.

                    user.Client.Send(outPacket);
                }
            }
        }