public static void HandleAuthentificationTicket(AuthenticationTicketMessage message, WorldClient client) { var msg = (AuthenticationTicketMessage)message; var reader = new BigEndianReader(Encoding.ASCII.GetBytes(msg.ticket)); var count = reader.ReadByte(); var ticket = reader.ReadUTFBytes(count); client.Account = ServersManager.GetAccount(ticket); client.Characters = CharacterRecord.GetAccountCharacters(client.Account.Id); client.Send(new AuthenticationTicketAcceptedMessage()); client.Send(new AccountCapabilitiesMessage(true, true, client.Account.Id, BreedRecord.AvailableBreedsFlags, BreedRecord.AvailableBreedsFlags, 1)); client.Send(new TrustStatusMessage(true, true)); client.Send(new ServerOptionalFeaturesMessage(new sbyte[] { 1, 2, 3, 4, 5, 6 })); }