Exemplo n.º 1
0
 private void HandleCreateCharacter(SecurePacketBasedClient client, In.P29_Unknown packet)
 {
     Out.P20_ReferToGameServer referToGameServer = new Out.P20_ReferToGameServer();
     referToGameServer.ConnectionInfo = new IPEndPoint(IPAddress.Loopback, 0);
     referToGameServer.Unknown0       = 3;
     referToGameServer.Unknown1       = 1;
     client.SendPacket(referToGameServer);
 }
Exemplo n.º 2
0
        public static void SendCharacters(SecurePacketBasedClient client, Database database)
        {
            Collection <Character> collection = database.GetCollection <Character>("Characters");

            AuthServerDataContainer.Data.Characters = collection.FindAllByIdQuery("AccountId", AuthServerDataContainer.Data.Account.Id);

            foreach (Character character in AuthServerDataContainer.Data.Characters)
            {
                Serializer serializer = new Serializer();
                character.Data.Serialize(serializer);

                Out.P17_CharacterInfo characterInfo = new Out.P17_CharacterInfo();
                characterInfo.SyncCount     = AuthServerDataContainer.Data.SyncCount;
                characterInfo.CharacterId   = character.Id;
                characterInfo.CharacterName = character.Name;
                characterInfo.CharacterData = serializer.Data;
                client.SendPacket(characterInfo);
            }
        }
Exemplo n.º 3
0
        private void HandleClientSessionInfo(SecurePacketBasedClient client, In.P10_ClientSessionInfo packet)
        {
            UID accountId = packet.AccountId;
            Collection <Account> accounts = database.GetCollection <Account>("Accounts");
            Account account = accounts.FindById(accountId);

            if (account == null)
            {
                Account item = Account.NewEmpty();
                item.Id = packet.AccountId;
                accounts.Save(item);
                account = item;
            }

            AuthServerDataContainer.Data.Account = account;
            CharacterHandler.SendCharacters(client, database);
            AccountHandler.SendAccountInfo(client);
            GameServerHandler.SendGameServerInfo(client);
        }
Exemplo n.º 4
0
        public static void SendAccountInfo(SecurePacketBasedClient client)
        {
            P10_AccountMedals accountMedals = new P10_AccountMedals();

            accountMedals.SyncCount = AuthServerDataContainer.Data.SyncCount;
            accountMedals.MedalData = new byte[0];
            client.SendPacket(accountMedals);

            P08_AccountInfo accountInfo = new P08_AccountInfo();

            accountInfo.SyncCount = AuthServerDataContainer.Data.SyncCount;
            accountInfo.Unknown1  = new UID(new byte[16]);
            accountInfo.Unknown2  = new UID(new byte[16]);
            accountInfo.Unknown3  = 2;
            accountInfo.Unknown4  = 5;
            accountInfo.Unknown5  = 387914393;
            accountInfo.Unknown6  = 2007;
            accountInfo.Unknown7  = 2007;
            accountInfo.Unknown8  = 3;
            accountInfo.Unknown9  = new byte[] { 0x94, 0xD7, 0x7F, 0x77, 0xB1, 0x26, 0x56, 0xCF, 0x9D, 0xCD, 0x19, 0x3D, 0xC4, 0xFB, 0x2B, 0xC2, 0x1A, 0xB2, 0xFB, 0x0A, 0xEF, 0x40, 0x60, 0x16, 0x04, 0xC1, 0x90, 0x7C, 0xDB, 0x78, 0x07, 0x97 };
            accountInfo.Unknown16 = new P08_AccountInfo.Struct10[0];
            accountInfo.Unknown17 = new byte[32];
            client.SendPacket(accountInfo);

            P16_Unknown p16 = new P16_Unknown();

            p16.SyncCount = AuthServerDataContainer.Data.SyncCount;
            p16.Unknown1  = new Common.UID(new byte[16]);
            p16.Unknown2  = 0;
            p16.Unknown2  = 8753153;
            p16.Unknown2  = 168;
            p16.Unknown2  = 1800;
            p16.Unknown2  = 0;
            client.SendPacket(p16);

            P23_Unknown p23 = new P23_Unknown();

            client.SendPacket(p23);
        }
Exemplo n.º 5
0
        public static void SendGameServerInfo(SecurePacketBasedClient client)
        {
            P25_GameServerInfo gameServerInfo = new P25_GameServerInfo();

            gameServerInfo.Location     = 2007;
            gameServerInfo.Population   = 0;
            gameServerInfo.TransferCost = 100;
            gameServerInfo.Unknown3     = 168;
            client.SendPacket(gameServerInfo);

            P24_Unknown p24 = new P24_Unknown();

            client.SendPacket(p24);

            P04_ClientSync clientSync = new P04_ClientSync();

            clientSync.Unknown0 = AuthServerDataContainer.Data.SyncCount;
            clientSync.Unknown1 = 0;
            clientSync.Unknown2 = 49;
            clientSync.Unknown3 = 7004;
            clientSync.Unknown4 = 823;
            client.SendPacket(clientSync);
        }
Exemplo n.º 6
0
        public override bool OnPacketReceived(SecurePacketBasedClient client, Packet packet)
        {
            AuthPacketHeaderIn header = (AuthPacketHeaderIn)packet.Reader.ReadUInt16();

            switch (header)
            {
            case AuthPacketHeaderIn.P01_PingServer:
                RaiseEvent <P01_PingServer>(P01_PingServer, client, new P01_PingServer(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P02_ComputerUserName:
                RaiseEvent <P02_ComputerUserName>(P02_ComputerUserName, client, new P02_ComputerUserName(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P03_ComputerInfo:
                RaiseEvent <P03_ComputerInfo>(P03_ComputerInfo, client, new P03_ComputerInfo(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P04_Unknown:
                RaiseEvent <P04_Unknown>(P04_Unknown, client, new P04_Unknown(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P05_Unknown:
                RaiseEvent <P05_Unknown>(P05_Unknown, client, new P05_Unknown(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P10_ClientSessionInfo:
                RaiseEvent <P10_ClientSessionInfo>(P10_ClientSessionInfo, client, new P10_ClientSessionInfo(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P11_ClientDisconnect:
                RaiseEvent <P11_ClientDisconnect>(P11_ClientDisconnect, client, new P11_ClientDisconnect(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P12_Unknown:
                RaiseEvent <P12_Unknown>(P12_Unknown, client, new P12_Unknown(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P14_Unknown:
                RaiseEvent <P14_Unknown>(P14_Unknown, client, new P14_Unknown(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P15_Unknown:
                RaiseEvent <P15_Unknown>(P15_Unknown, client, new P15_Unknown(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P16_Unknown:
                RaiseEvent <P16_Unknown>(P16_Unknown, client, new P16_Unknown(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P20_CharacterDelete:
                RaiseEvent <P20_CharacterDelete>(P20_CharacterDelete, client, new P20_CharacterDelete(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P21_Unknown:
                RaiseEvent <P21_Unknown>(P21_Unknown, client, new P21_Unknown(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P22_CharacterSelect:
                RaiseEvent <P22_CharacterSelect>(P22_CharacterSelect, client, new P22_CharacterSelect(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P23_Unknown:
                RaiseEvent <P23_Unknown>(P23_Unknown, client, new P23_Unknown(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P24_Unknown:
                RaiseEvent <P24_Unknown>(P24_Unknown, client, new P24_Unknown(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P25_Unknown:
                RaiseEvent <P25_Unknown>(P25_Unknown, client, new P25_Unknown(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P26_Unknown:
                RaiseEvent <P26_Unknown>(P26_Unknown, client, new P26_Unknown(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P29_Unknown:
                RaiseEvent <P29_Unknown>(P29_Unknown, client, new P29_Unknown(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P34_Unknown:
                RaiseEvent <P34_Unknown>(P34_Unknown, client, new P34_Unknown(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P35_Unknown:
                RaiseEvent <P35_Unknown>(P35_Unknown, client, new P35_Unknown(packet.Reader));
                return(true);

            case AuthPacketHeaderIn.P36_Unknown:
                RaiseEvent <P36_Unknown>(P36_Unknown, client, new P36_Unknown(packet.Reader));
                return(true);

            default:
                Console.WriteLine("Unhandled packet: " + header);
                return(false);
            }
        }
Exemplo n.º 7
0
 private void HandleComputerInfo(SecurePacketBasedClient client, In.P03_ComputerInfo packet)
 {
     client.SendPacket(new Out.P02_ComputerInfoReply());
     client.SendPacket(new Out.P01_Unknown());
 }
 private void HandleClientDisconnect(SecurePacketBasedClient client, In.P11_ClientDisconnect packet)
 {
     client.Stop();
 }