Esempio n. 1
0
        private void HelloGameMessageHandler(DofusClient client, HelloGameMessage message)
        {
            client.Logger.Log("Connecté au serveur de jeu.");
            var atm = new AuthenticationTicketMessage("fr", client.Account.Ticket);

            client.Send(atm);
        }
        public static void HandleAuthenticationTicketMessage(WorldClient client, AuthenticationTicketMessage message)
        {
            if (!IPCAccessor.Instance.IsConnected)
            {
                client.Send(new AuthenticationTicketRefusedMessage());
                client.DisconnectLater(1000);
            }
            else
            {
                var reader = new BigEndianReader(Encoding.ASCII.GetBytes(message.ticket));
                var count  = reader.ReadByte();
                var ticket = reader.ReadUTFBytes(count);

                ApproachHandler.logger.Debug("Client request ticket {0}", ticket);
                IPCAccessor.Instance.SendRequest <AccountAnswerMessage>(new AccountRequestMessage
                {
                    Ticket = ticket
                }, delegate(AccountAnswerMessage msg)
                {
                    ServerBase <WorldServer> .Instance.IOTaskPool.AddMessage(delegate
                    {
                        ApproachHandler.OnAccountReceived(msg, client);
                    });
                }, delegate(IPCErrorMessage error)
                {
                    client.Disconnect();
                });
            }
        }
Esempio n. 3
0
        private void HelloGameMessageHandler(DofusClient Client, HelloGameMessage Message)
        {
            Client.Logger.Log("Connecté au serveur de jeu.");
            AuthenticationTicketMessage ATM = new AuthenticationTicketMessage("fr", Client.Account.Ticket);

            Client.Send(ATM);
        }
Esempio n. 4
0
 public static void HandleAuthenticationTicketMessage(GameClient client, AuthenticationTicketMessage message)
 {
     if (message.ticket != string.Empty)
     {
         AccountRecord account = AccountRecord.ReturnAccountWithTicket(message.ticket);
         if (account != null)
         {
             client.Account = account;
             if (GameServer.Clients.Count(x => x.Account.Login == account.Login) > 1)
             {
                 GameServer.Clients.First(x => x.Account.Login == account.Login).Disconnect();
             }
             client.Account.Characters = CharacterRecord.ReturnCharacters(account.Id);
             client.Send(new AuthenticationTicketAcceptedMessage());
             BasicHandler.SendBasicTimeMessage(client);
         }
         else
         {
             client.Send(new AuthenticationTicketRefusedMessage());
         }
     }
     else
     {
         client.Send(new AuthenticationTicketRefusedMessage());
     }
 }
        public async void AuthenticationTicketMessageFrame(Client client, AuthenticationTicketMessage authenticationTicketMessage)
        {
            //verif du compte via IPC
            Account account = null;
            //HttpResponseMessage response = await clientweb.GetAsync("http://localhost:3000/ticket/get?secure_key=secret_key&ticket=" + authenticationTicketMessage.ticket);
            HttpResponseMessage response = await clientweb.GetAsync("http://localhost:3000/ticket/get?secure_key=secret_key&ticket=" + authenticationTicketMessage.ticket);

            if (response.IsSuccessStatusCode)
            {
                var account_json = await response.Content.ReadAsStringAsync();

                account = JsonConvert.DeserializeObject <Account>(account_json);
            }
            //var account = await Container.Instance().Resolve<IAuthenticationManager>().GetAccountByTicket(authenticationTicketMessage.ticket);
            if (account == null)
            {
                client.Send(new AuthenticationTicketRefusedMessage());
                return;
                //while (account == null)
                //{
                //    account = await Container.Instance().Resolve<IAuthenticationManager>().GetAccountByTicket(authenticationTicketMessage.ticket);
                //}
            }
            client.Account = account;
            this._logger.Info($"'{client.Account.Login}' switched to world with Ticket={authenticationTicketMessage.ticket}");
            client.Send(new AuthenticationTicketAcceptedMessage());
            client.Send(new BasicTimeMessage(1606023934, 60));// time which yet it
            client.Send(new ServerSettingsMessage("fr", 0, 0));
            client.Send(new ServerOptionalFeaturesMessage(new int[] { 1, 2, 3, 5 }));
            client.Send(new ServerSessionConstantsMessage(new ServerSessionConstantInteger[] { new ServerSessionConstantInteger(1, 1500000), new ServerSessionConstantInteger(2, 7200000), new ServerSessionConstantInteger(3, 30), new ServerSessionConstantInteger(4, 86400000), new ServerSessionConstantInteger(5, 60000) }));
            client.Send(new AccountCapabilitiesMessage(client.Account.Id, true, 32767, 32767, 0, new int[] {}, new object()));
            client.Send(new TrustStatusMessage(true));
            client.Language = authenticationTicketMessage.lang;
        }
Esempio n. 6
0
        private void HandleAuthenticationTicketMessage(ConnectionMITM client, AuthenticationTicketMessage message)
        {
            if (!m_tickets.ContainsKey(message.ticket))
            {
                throw new Exception(string.Format("Ticket {0} not registered", message.ticket));
            }

            var tuple = m_tickets[message.ticket];

            m_tickets.Remove(message.ticket);

            client.Bot = tuple.Item1;
            client.Bot.ChangeConnection(client);
            client.Bot.ConnectionType = ClientConnectionType.GameConnection;
            client.Bot.CancelAllMessages(); // avoid to handle message from the auth client.
            client.Bot.Start();

            ((NetworkMessageDispatcher)client.Bot.Dispatcher).Client = client;
            ((NetworkMessageDispatcher)client.Bot.Dispatcher).Server = client.Server;

            try
            {
                client.BindToServer(tuple.Item2.address, tuple.Item2.port);
            }
            catch (Exception)
            {
                logger.Error("Cannot connect to {0}:{1}.", tuple.Item2.address, tuple.Item2.port);
                client.Bot.Stop();
                return;
            }

            logger.Debug("Bot retrieved with ticket {0}", message.ticket);
        }
Esempio n. 7
0
        public void AuthenticationTicketMessageFrame(Client client, AuthenticationTicketMessage authenticationTicketMessage)
        {
            //verif du compte via IPC

            client.Send(new AuthenticationTicketAcceptedMessage());
            client.Send(new AccountCapabilitiesMessage(141748286, true, 32767, 32767, 0, new int[] {}, new object()));
            client.Send(new TrustStatusMessage(true));
        }
Esempio n. 8
0
        public static void OnAuthenticationTicketMessage(INetworkClient client, AuthenticationTicketMessage im)
        {
            client.Send(new AuthenticationTicketAcceptedMessage());

            var accountId = client.GetEntity().GetComponent <AccountComponent>().AccountId;

            client.Send(new AccountCapabilitiesMessage(accountId));
        }
Esempio n. 9
0
 public static void HelloGameMessageTreatment(Message message, byte[] packetDatas, AccountUC account)
 {
     if (!account.IsMITM)
     {
         AuthenticationTicketMessage authenticationTicketMessage = new AuthenticationTicketMessage(GameConstants.Lang,
                                                                                                   account.Ticket);
         account.SocketManager.Send(authenticationTicketMessage);
     }
 }
        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 }));
        }
Esempio n. 11
0
        public static void HandleAuthenticationTicket(BigEndianReader reader, WorldClient client, WorldServer server)
        {
            AuthenticationTicketMessage message = new AuthenticationTicketMessage();

            message.Unpack(reader);
            Account account = AccountManager.GetAccountByTicket(message.ticket);

            if (account == null)
            {
                client.Send(new AuthenticationTicketRefusedMessage());
            }
            client.Ticket  = message.ticket;
            client.account = account;
            client.Send(new AuthenticationTicketAcceptedMessage());
        }
Esempio n. 12
0
        public static void HandleAuthentificationTicketMessage(AuthenticationTicketMessage message, WorldClient client)
        {
            lock (m_locker) {
                var reader = new BigEndianReader(Encoding.ASCII.GetBytes(message.ticket));
                var count  = reader.ReadByte();
                var ticket = reader.ReadUTFBytes(count);

                MessagePool.SendRequest <AccountMessage>(TransitionServerManager.Instance.AuthServer,
                                                         new AccountRequestMessage {
                    Ticket = ticket
                },
                                                         delegate(AccountMessage msg) { OnAccountReceived(client, msg); },
                                                         delegate() { OnAccountReceptionError(client); });
            }
        }
Esempio n. 13
0
 public static void HelloGameMessageTreatment(Message message, byte[] packetDatas, AccountUC account)
 {
     if (!account.IsMITM)
     {
         AuthenticationTicketMessage authenticationTicketMessage = new AuthenticationTicketMessage(GameConstants.Lang,
                                                                                                   account.Ticket);
         using (BigEndianWriter writer = new BigEndianWriter())
         {
             authenticationTicketMessage.Serialize(writer);
             MessagePackaging messagePackaging = new MessagePackaging(writer);
             messagePackaging.Pack((int)authenticationTicketMessage.ProtocolID);
             account.SocketManager.Send(messagePackaging.Writer.Content);
         }
     }
 }
        public static void HandleAuthenticationTicketMessage(Bot bot, AuthenticationTicketMessage message)
        {
            if (m_languageFound)
            {
                return;
            }

            Languages lang;

            if (!m_langsShortcuts.TryGetValue(message.lang, out lang))
            {
                return;
            }

            Host.ChangeLanguage(lang);
            m_languageFound = true;
        }
Esempio n. 15
0
        public static void HandleAuthenticationTicketMessage(WorldClient client, AuthenticationTicketMessage message)
        {
            if (!IPCAccessor.Instance.IsConnected)
            {
                client.Send(new AuthenticationTicketRefusedMessage());
                client.DisconnectLater(1000);
                return;
            }

            message.ticket = Encoding.ASCII.GetString(message.ticket.Split(',').Select(x => (byte)int.Parse(x)).ToArray());

            logger.Debug("Client request ticket {0}", message.ticket);

            IPCAccessor.Instance.SendRequest <AccountAnswerMessage>(new AccountRequestMessage {
                Ticket = message.ticket
            },
                                                                    msg => WorldServer.Instance.IOTaskPool.AddMessage(() => OnAccountReceived(msg, client)), error => client.Disconnect());
        }
Esempio n. 16
0
        public void AuthenticationTicketMessageFrame(WorldClient client, AuthenticationTicketMessage authenticationTicketMessage)
        {
            string ticket = AuthenticationUtils.DecodeTicket(authenticationTicketMessage.ticket);

            //client.SendPacket(new AuthenticationTicketAcceptedMessage());
            var account = AccountRepository.Instance.GetAccountByTicket(ticket);

            if (account == null)
            {
                client.SendPacket(new AuthenticationTicketRefusedMessage());
                return;
            }

            client.Account = account;
            Console.WriteLine("'{0}' switched to world with Ticket={1}", client.Account.Login, ticket);
            client.SendPacket(new AuthenticationTicketAcceptedMessage());
            client.SendPacket(new TrustStatusMessage(true, false));
        }
Esempio n. 17
0
        private void OnClientDataReceived(object sender, SimpleClient.DataReceivedEventArgs e)
        {
            BigEndianReader bigEndianReader = new BigEndianReader(e.Data.Data);
            NetworkMessage  msg             = MessageReceiver.BuildMessage((uint)e.Data.MessageId.Value, (IDataReader)bigEndianReader);

            if (msg == null)
            {
                this.Send(e.Data, NetworkDestinationEnum.Server);
            }
            else
            {
                if (this.Game)
                {
                    if (msg.MessageId == 110U)
                    {
                        AuthenticationTicketMessage authenticationTicketMessage = (AuthenticationTicketMessage)msg;
                        TicketEntry ticket = TicketsManager.GetTicket();
                        if (ticket.Address == "" || ticket.Port == (ushort)0)
                        {
                            return;
                        }
                        this.Ticket = authenticationTicketMessage.Ticket;
                        this.Lang   = authenticationTicketMessage.Lang;
                        this.Server.Start(ticket.Address, (short)ticket.Port);
                        this.Instance = ticket.Instance;
                        this.Window   = ticket.Window;
                        this.Window.UpdateClient(this);
                    }
                    else
                    {
                        this.Send(e.Data, NetworkDestinationEnum.Server);
                    }
                }
                else
                {
                    this.Send(e.Data, NetworkDestinationEnum.Server);
                }
                this.OnMessageSent(new SyncClient.MessageSentEventArgs(msg, e.Data));
            }
        }
Esempio n. 18
0
        public void OnReceivedPacket(object source, PacketEventArg e)
        {
            ServerPacketEnum PacketType = (ServerPacketEnum)e.Packet.MessageID;

            switch (PacketType)
            {
            case ServerPacketEnum.ProtocolRequired: break;

            case ServerPacketEnum.CredentialsAcknowledgementMessage: break;

            case ServerPacketEnum.BasicAckMessage: break;

            case ServerPacketEnum.TextInformationMessage:
                TextInformationMessage text = (TextInformationMessage)e.Packet;
                Log(LogMessageType.Arena, ((TextInformationTypeEnum)text.MsgType).ToString() + "ID = " + text.MsgId);
                for (int i = 0; i < text.Parameters.Count; i++)
                {
                    string t = text.Parameters[i];
                    Log(LogMessageType.Arena, "Parameter[" + i + "] " + t);
                }
                break;

            case ServerPacketEnum.HelloGameMessage:
                Log(LogMessageType.Info, "Connecté au serveur de jeu.");
                HelloGameMessage            helloGame = (HelloGameMessage)e.Packet;
                AuthenticationTicketMessage ATM       = new AuthenticationTicketMessage("fr", _ticket.ToString());
                _GameSocket.Send(ATM);
                break;

            case ServerPacketEnum.RawDataMessage:
                List <int> tt = new List <int>();
                for (int i = 0; i <= 255; i++)
                {
                    Random random = new Random();
                    int    test   = random.Next(-127, 127);
                }
                CheckIntegrityMessage rawData = new CheckIntegrityMessage(tt);
                _GameSocket.Send(rawData);
                break;

            case ServerPacketEnum.HelloConnectMessage:
                Log(LogMessageType.Info, "Connecté au serveur d'authentification.");
                HelloConnectMessage   helloConnectMessage = (HelloConnectMessage)e.Packet;
                sbyte[]               credentials         = RSA.RSAKey.Encrypt(helloConnectMessage.key, accountNameTextField.Text, accountPasswordTextField.Text, helloConnectMessage.salt);
                VersionExtended       version             = new VersionExtended(2, 41, 1, 120264, 1, (sbyte)BuildTypeEnum.RELEASE, 1, 1);
                IdentificationMessage idm = new IdentificationMessage(autoConnectCheckBox.Checked, false, false, version, "fr", credentials, 0, 0, new ushort[0]);
                Log(LogMessageType.Info, "Envois des informations d'identification...");
                _ServerSocket.Send(idm);
                break;

            case ServerPacketEnum.LoginQueueStatusMessage:
                LoginQueueStatusMessage loginQueueStatusMessage = (LoginQueueStatusMessage)e.Packet;
                if (loginQueueStatusMessage.Position != 0 && loginQueueStatusMessage.Total != 0)
                {
                    Log(LogMessageType.Info, "Vous êtes en position " + loginQueueStatusMessage.Position + " sur " + loginQueueStatusMessage.Total + " dans la file d'attente.");
                }
                break;

            case ServerPacketEnum.CurrentMapMessage:
                CurrentMapMessage currentMap = (CurrentMapMessage)e.Packet;
                _GameSocket.Send(new MapInformationsRequestMessage(currentMap.MapId));
                break;

            case ServerPacketEnum.QueueStatusMessage:
                QueueStatusMessage queueStatusMessage = (QueueStatusMessage)e.Packet;
                if (queueStatusMessage.Position != 0 && queueStatusMessage.Total != 0)
                {
                    Log(LogMessageType.Info, "Vous êtes en position " + queueStatusMessage.Position + " sur " + queueStatusMessage.Total + " dans la file d'attente.");
                }
                break;

            case ServerPacketEnum.IdentificationFailedMessage:
                IdentificationFailedMessage msg = (IdentificationFailedMessage)e.Packet;
                Log(LogMessageType.Public, "Identification échouée !");
                Log(LogMessageType.Public, ((IdentificationFailureReasonEnum)msg.Reason).ToString());
                DisconnectHandler();
                break;

            case ServerPacketEnum.IdentificationSuccessMessage: break;

            case ServerPacketEnum.ServerListMessage:
                ServersListMessage servers = (ServersListMessage)e.Packet;
                foreach (GameServerInformations i in servers.Servers)
                {
                    if (i.CharactersCount > 0 && i.IsSelectable && (ServerStatusEnum)i.Status == ServerStatusEnum.ONLINE)
                    {
                        _ServerSocket.Send(new ServerSelectionMessage(i.ObjectID));
                        break;
                    }
                }
                break;

            case ServerPacketEnum.SelectedServerDataMessage:
                SelectedServerDataMessage selected = (SelectedServerDataMessage)e.Packet;
                Log(LogMessageType.Info, "Connexion au serveur " + (ServerNameEnum)selected.ServerId + "...");
                _ticket     = AES.AES.TicketTrans(selected.Ticket);
                _GameSocket = new DofusBotSocket(_deserializer, new IPEndPoint(IPAddress.Parse(selected.Address), selected.Port));
                Log(LogMessageType.Info, "Connexion en cours <" + selected.Address + ":" + selected.Port + ">");
                _GameSocket.ConnectEndListen();
                _ServerSocket.CloseSocket();
                _ServerSocket = null;
                break;

            case ServerPacketEnum.SelectedServerDataExtendedMessage:
                SelectedServerDataExtendedMessage selectedExtended = (SelectedServerDataExtendedMessage)e.Packet;
                Log(LogMessageType.Info, "Connecté au serveur : " + (ServerNameEnum)selectedExtended.ServerId + "...");
                _ticket     = AES.AES.TicketTrans(selectedExtended.Ticket);
                _GameSocket = new DofusBotSocket(_deserializer, new IPEndPoint(IPAddress.Parse(selectedExtended.Address), selectedExtended.Port));
                Log(LogMessageType.Info, "Connexion en cours <" + selectedExtended.Address + ":" + selectedExtended.Port + ">");
                _GameSocket.ConnectEndListen();
                _ServerSocket.CloseSocket();
                _ServerSocket = null;
                break;

            case ServerPacketEnum.AuthenticationTicketAcceptedMessage:
                AuthenticationTicketAcceptedMessage accepted = (AuthenticationTicketAcceptedMessage)e.Packet;
                Thread.Sleep(500);
                _GameSocket.Send(new CharactersListRequestMessage());
                break;

            case ServerPacketEnum.AuthenticationTicketRefusedMessage: break;

            case ServerPacketEnum.GameContextCreateMessage: break;

            case ServerPacketEnum.SetCharacterRestrictionsMessage: break;

            case ServerPacketEnum.BasicNoOperationMessage: break;

            case ServerPacketEnum.NotificationListMessage: break;

            case ServerPacketEnum.CharacterSelectedSuccessMessage: break;

            case ServerPacketEnum.InventoryContentMessage:
                InventoryContentMessage inventory = (InventoryContentMessage)e.Packet;
                Invoke((MethodInvoker) delegate
                {
                    kamasLabel.Text = inventory.Kamas.ToString();
                });
                break;

            case ServerPacketEnum.SetUpdateMessage: break;

            case ServerPacketEnum.ShortcutBarContentMessage: break;

            case ServerPacketEnum.RoomAvailableUpdateMessage: break;

            case ServerPacketEnum.HavenBagPackListMessage: break;

            case ServerPacketEnum.EmoteListMessage: break;

            case ServerPacketEnum.JobDescriptionMessage:
                JobDescriptionMessage jobs = (JobDescriptionMessage)e.Packet;
                foreach (JobDescription j in jobs.JobsDescription)
                {
                    foreach (SkillActionDescription s in j.Skills)
                    {
                        //Log(LogMessageType.Noob, "Métier: " + j.JobId + " | Skill: " + s.SkillId);
                    }
                }
                break;

            case ServerPacketEnum.JobExperienceMultiUpdateMessage: break;

            case ServerPacketEnum.JobCrafterDirectorySettingsMessage: break;

            case ServerPacketEnum.AlignmentRankUpdateMessage: break;

            case ServerPacketEnum.ServerExperienceModificatorMessage: break;

            case ServerPacketEnum.DareCreatedListMessage: break;

            case ServerPacketEnum.AlmanachCalendarDateMessage: break;

            case ServerPacketEnum.CharacterCapabilitiesMessage: break;

            case ServerPacketEnum.GameRolePlayArenaUpdatePlayerInfosAllQueuesMessage: break;

            case ServerPacketEnum.AchievementListMessage: break;

            case ServerPacketEnum.BasicLatencyStatsRequestMessage: break;

            case ServerPacketEnum.GameContextRemoveElementMessage: break;

            case ServerPacketEnum.GameMapChangeOrientationMessage: break;

            case ServerPacketEnum.GameRolePlayShowActorMessage: break;

            case ServerPacketEnum.SpouseStatusMessage: break;

            case ServerPacketEnum.SequenceNumberRequestMessage: break;

            case ServerPacketEnum.GuildMemberWarnOnConnectionStateMessage: break;

            case ServerPacketEnum.WarnOnPermaDeathStateMessage: break;

            case ServerPacketEnum.FriendGuildWarnOnAchievementCompleteStateMessage: break;

            case ServerPacketEnum.FriendWarnOnLevelGainStateMessage: break;

            case ServerPacketEnum.FriendWarnOnConnectionStateMessage: break;

            case ServerPacketEnum.BasicTimeMessage: break;

            case ServerPacketEnum.ServerSettingsMessage: break;

            case ServerPacketEnum.ServerOptionalFeaturesMessage: break;

            case ServerPacketEnum.ServerSessionConstantsMessage: break;

            case ServerPacketEnum.StatedElementUpdatedMessage: break;

            case ServerPacketEnum.InteractiveElementUpdatedMessage: break;

            case ServerPacketEnum.InteractiveUsedMessage: break;

            case ServerPacketEnum.AccountCapabilitiesMessage: break;

            case ServerPacketEnum.TrustStatusMessage: break;

            case ServerPacketEnum.PrismsListMessage: break;

            case ServerPacketEnum.CharacterExperienceGainMessage: break;

            case ServerPacketEnum.IdolListMessage: break;

            case ServerPacketEnum.SpellListMessage: break; break;

            case ServerPacketEnum.EnabledChannelsMessage: break;

            case ServerPacketEnum.GameMapMovementMessage: break;

            case ServerPacketEnum.DareSubscribedListMessage: break;

            case ServerPacketEnum.UpdateMapPlayersAgressableStatusMessage: break;

            case ServerPacketEnum.CharacterStatsListMessage: break;

            case ServerPacketEnum.MapComplementaryInformationsDataMessage:
                MapComplementaryInformationsDataMessage mapInfos = (MapComplementaryInformationsDataMessage)e.Packet;
                Invoke((MethodInvoker) delegate
                {
                    currentMapIdLabel.Text = mapInfos.MapId.ToString();
                });
                break;

            case ServerPacketEnum.LifePointsRegenBeginMessage: break;

            case ServerPacketEnum.GameContextDestroyMessage: break;

            case ServerPacketEnum.IgnoredListMessage: break;

            case ServerPacketEnum.FriendsListMessage:
                FriendsListMessage friendsList = (FriendsListMessage)e.Packet;
                foreach (FriendInformations f in friendsList.FriendsList)
                {
                    Log(LogMessageType.Noob, "Amis: " + f.AccountName + " | Dernière Connexion: " + DateExtensions.UnixTimestampToDateTime(f.LastConnection).ToLongDateString() + " | Points de Succès: " + f.AchievementPoints);
                }
                break;

            case ServerPacketEnum.AccountHouseMessage: break;

            case ServerPacketEnum.StartupActionsListMessage:  break;

            case ServerPacketEnum.ChatCommunityChannelCommunityMessage: break;

            case ServerPacketEnum.DareRewardsListMessage: break;

            case ServerPacketEnum.DareWonListMessage: break;

            case ServerPacketEnum.MailStatusMessage: break;

            case ServerPacketEnum.ChannelEnablingChangeMessage: break;

            case ServerPacketEnum.InventoryWeightMessage:
                InventoryWeightMessage IWM = (InventoryWeightMessage)e.Packet;
                Invoke((MethodInvoker) delegate
                {
                    PodsProgressValue   = IWM.Weight;
                    PodsProgressMaximum = IWM.WeightMax;
                    PodsProgress.Refresh();
                });
                break;

            case ServerPacketEnum.CharacterLoadingCompleteMessage:
                _GameSocket.Send(new FriendsGetListMessage());
                _GameSocket.Send(new IgnoredGetListMessage());
                _GameSocket.Send(new SpouseGetInformationsMessage());
                _GameSocket.Send(new ClientKeyMessage(FlashKeyGenerator.GetRandomFlashKey(accountNameTextField.Text)));
                _GameSocket.Send(new GameContextCreateRequestMessage());
                _GameSocket.Send(new ChannelEnablingMessage(7, false));
                break;

            case ServerPacketEnum.CharactersListMessage:
                CharactersListMessage            charactersList = (CharactersListMessage)e.Packet;
                List <CharacterBaseInformations> characters     = charactersList.Characters;
                for (int i = 0; i < characters.Count; i++)
                {
                    CharacterBaseInformations c = characters[i];
                    Log(LogMessageType.Info, "Connexion sur le personnage " + c.Name);
                    _GameSocket.Send(new CharacterSelectionMessage((ulong)c.ObjectID));
                    break;
                }
                break;

            default:
                Log(LogMessageType.Admin, "Packet: [" + (ServerPacketEnum)e.Packet.MessageID + "] is not handled.");
                break;
            }
        }
Esempio n. 19
0
 private static void HandleAuthenticationTicketMessage(Bot bot, AuthenticationTicketMessage message)
 {
     // theorically not received
     message.BlockNetworkSend();
 }