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); }
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); } }
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); }
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); }
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); }
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); } }
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(); }