C/C++ Kické du serveur après l'envoi d'un second MP

Inscrit
15 Avril 2011
Messages
457
Reactions
1
#1
Bonjour, je cherche à tester mon bot en envoyant des MP, mais j'ai un problème que je ne comprends pas. Le premier MP que j'envoie est bien reçu, mais lorsque j'essaye d'en envoyer un second (que ce soit au même perso ou non), le serveur me kick. J'ai beau envoyer un message complètement différent, je suis systématique kické. J'ai vérifié la constitution du paquet envoyé, il est tout à fait similaire aux paquets que j'ai sniffé. Je cherche à savoir ce qui ne va pas, et s'il y a un moyen de savoir pourquoi je suis kické.
 

Gohu

Membre Actif
Inscrit
16 Novembre 2013
Messages
222
Reactions
2
#2
A tout hasard, il n'y aurait pas un message de confirmation a envoyer avant d'envoyer
un nouveau MP?
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#3
C'est très certainement un précédent paquet qui entraine la déconnexion.

Log ?
 
Inscrit
15 Avril 2011
Messages
457
Reactions
1
#4
Voici mon log :

11 octets recus.

Identifiant du paquet : 1 (ProtocolRequired)
Longueur de la taille : 1
Taille : 8 octets

345 octets recus.

Identifiant du paquet : 3 (HelloConnectMessage)
Longueur de la taille : 2
Taille : 341 octets

Envoi des identifiants, 288 octets.

7 octets recus.

Identifiant du paquet : 10 (LoginQueueStatusMessage)
Longueur de la taille : 1
Taille : 4 octets

123 octets recus.

Identifiant du paquet : 6314 (CredentialsAcknowledgementMessage)
Longueur de la taille : 0
Taille : 0 octets

Identifiant du paquet : 10 (LoginQueueStatusMessage)
Longueur de la taille : 1
Taille : 4 octets

Identifiant du paquet : 22 (IdentificationSuccessMessage)
Longueur de la taille : 1
Taille : 47 octets

Identifiant du paquet : 6469 (SelectedServerDataExtendedMessage)
Longueur de la taille : 1
Taille : 61 octets

Deconnecte du serveur.

13 octets recus.

Identifiant du paquet : 1 (ProtocolRequired)
Longueur de la taille : 1
Taille : 8 octets

Identifiant du paquet : 101 (HelloGameMessage)
Longueur de la taille : 0
Taille : 0 octets

Envoi du ticket, 41 octets.

122 octets recus.

Identifiant du paquet : 6362 (BasicAckMessage)
Longueur de la taille : 1
Taille : 6 octets

Identifiant du paquet : 111 (AuthentificationTicketAcceptedMessage)
Longueur de la taille : 0
Taille : 0 octets

Identifiant du paquet : 175 (AtlasPointsInformations)
Longueur de la taille : 1
Taille : 6 octets

Identifiant du paquet : 6340 (ServerSettingsMessage)
Longueur de la taille : 1
Taille : 6 octets

Identifiant du paquet : 6305 (ServerOptionalFeaturesMessage)
Longueur de la taille : 1
Taille : 14 octets

Identifiant du paquet : 6434 (ServerSessionConstantsMessage)
Longueur de la taille : 1
Taille : 54 octets

Identifiant du paquet : 6216 (AccountCapabilitiesMessage)
Longueur de la taille : 1
Taille : 10 octets

Identifiant du paquet : 6267 (TrustStatusMessage)
Longueur de la taille : 1
Taille : 1 octets

Envoi de la demande des persos, 2 octets.

Identifiant du paquet : 176 (BasicNoOperationMessage)
Longueur de la taille : 0
Taille : 0 octets

32 octets recus.

Identifiant du paquet : 6362 (BasicAckMessage)
Longueur de la taille : 1
Taille : 6 octets

Identifiant du paquet : 6100 (QueueStatusMessage)
Longueur de la taille : 1
Taille : 4 octets

Identifiant du paquet : 6100 (QueueStatusMessage)
Longueur de la taille : 1
Taille : 4 octets

Identifiant du paquet : 176 (BasicNoOperationMessage)
Longueur de la taille : 0
Taille : 0 octets

Identifiant du paquet : 6100 (QueueStatusMessage)
Longueur de la taille : 1
Taille : 4 octets

58 octets recus.

Identifiant du paquet : 151 (CharactersListMessage)
Longueur de la taille : 1
Taille : 55 octets

Envoi du choix du perso, 7 octets.

11 octets recus.

Identifiant du paquet : 6362 (BasicAckMessage)
Longueur de la taille : 1
Taille : 6 octets

Identifiant du paquet : 176 (BasicNoOperationMessage)
Longueur de la taille : 0
Taille : 0 octets

6840 octets recus.

Identifiant du paquet : 6087 (NotificationListMessage)
Longueur de la taille : 1
Taille : 6 octets

Identifiant du paquet : 153 (CharacterSelectedSuccessMessage)
Longueur de la taille : 1
Taille : 50 octets

Identifiant du paquet : 3016 (InventoryContentMessage)
Longueur de la taille : 1
Taille : 6 octets

Identifiant du paquet : 6231 (ShortcutBarContentMessage)
Longueur de la taille : 1
Taille : 3 octets

Identifiant du paquet : 6231 (ShortcutBarContentMessage)
Longueur de la taille : 1
Taille : 59 octets

Identifiant du paquet : 5689 (EmoteListMessage)
Longueur de la taille : 1
Taille : 3 octets

Identifiant du paquet : 6058 (AlignmentRankUpdateMessage)
Longueur de la taille : 1
Taille : 2 octets

Creation du depot et ajout de 6690 octets dans le depot.

6756 octets recus.

Ajout de 6756 octets dans le depot. Nouvelle taille du depot : 13446 octets.

Identifiant du paquet : 6440 (PrismsListMessage)
Longueur de la taille : 2
Taille : 13163 octets

Identifiant du paquet : 892 (EnabledChannelsMessage)
Longueur de la taille : 1
Taille : 18 octets

Identifiant du paquet : 1200 (SpellListMessage)
Longueur de la taille : 1
Taille : 45 octets

Identifiant du paquet : 6231 (ShortcutBarContentMessage)
Longueur de la taille : 1
Taille : 59 octets

Identifiant du paquet : 170 (SetCharacterRestrictionsMessage)
Longueur de la taille : 1
Taille : 3 octets

Identifiant du paquet : 3009 (InventoryWeightMessage)
Longueur de la taille : 1
Taille : 8 octets

Identifiant du paquet : 5630 (FriendWarnOnConnectionStateMessage)
Longueur de la taille : 1
Taille : 1 octets

Identifiant du paquet : 6078 (FriendWarnOnLevelGainStateMessage)
Longueur de la taille : 1
Taille : 1 octets

Identifiant du paquet : 6383 (FriendGuildWarnOnAchievementCompleteStateMessage)
Longueur de la taille : 1
Taille : 1 octets

Identifiant du paquet : 6160 (GuildMemberWarnOnConnectionStateMessage)
Longueur de la taille : 1
Taille : 1 octets

Identifiant du paquet : 6316 (SequenceNumberRequestMessage)
Longueur de la taille : 0
Taille : 0 octets

Envoi de la sequence, 5 octets.

Identifiant du paquet : 780 (TextInformationMessage)
Longueur de la taille : 1
Taille : 5 octets

Identifiant du paquet : 780 (TextInformationMessage)
Longueur de la taille : 1
Taille : 27 octets

Identifiant du paquet : 6265 (SpouseStatusMessage)
Longueur de la taille : 1
Taille : 1 octets

Identifiant du paquet : 6205 (AchievementListMessage)
Longueur de la taille : 1
Taille : 32 octets

Identifiant du paquet : 6301 (GameRolePlayArenaUpdatePlayerInfosMessage)
Longueur de la taille : 1
Taille : 10 octets

Identifiant du paquet : 6339 (CharacterCapabilitiesMessage)
Longueur de la taille : 1
Taille : 4 octets

Identifiant du paquet : 6341 (AlmanachCalendarDateMessage)
Longueur de la taille : 1
Taille : 4 octets

Identifiant du paquet : 6275 (MailStatusMessage)
Longueur de la taille : 1
Taille : 4 octets

Identifiant du paquet : 6471 ()
Longueur de la taille : 0
Taille : 0 octets

Destruction du depot.

Envoi de la cle client, 28 octets.

11 octets recus.

Identifiant du paquet : 6362 (BasicAckMessage)
Longueur de la taille : 1
Taille : 6 octets

Identifiant du paquet : 176 (BasicNoOperationMessage)
Longueur de la taille : 0
Taille : 0 octets

11 octets recus.

Identifiant du paquet : 6362 (BasicAckMessage)
Longueur de la taille : 1
Taille : 6 octets

Identifiant du paquet : 176 (BasicNoOperationMessage)
Longueur de la taille : 0
Taille : 0 octets

625 octets recus.

Identifiant du paquet : 6362 (BasicAckMessage)
Longueur de la taille : 1
Taille : 6 octets

Identifiant du paquet : 201 (ActorAlignmentInformations)
Longueur de la taille : 0
Taille : 0 octets

Identifiant du paquet : 200 (GameContextCreateMessage)
Longueur de la taille : 1
Taille : 1 octets

Identifiant du paquet : 5684 (LifePointsRegenBeginMessage)
Longueur de la taille : 1
Taille : 1 octets

Identifiant du paquet : 220 (CurrentMapMessage)
Longueur de la taille : 1
Taille : 38 octets

Envoi de la demande d'informations sur la map, 7 octets.

Identifiant du paquet : 175 (AtlasPointsInformations)
Longueur de la taille : 1
Taille : 6 octets

Identifiant du paquet : 500 (CharacterStatsListMessage)
Longueur de la taille : 2
Taille : 538 octets

Identifiant du paquet : 6454 (UpdateMapPlayersAgressableStatusMessage)
Longueur de la taille : 1
Taille : 9 octets

Identifiant du paquet : 176 (BasicNoOperationMessage)
Longueur de la taille : 0
Taille : 0 octets

306 octets recus.

Identifiant du paquet : 6362 (BasicAckMessage)
Longueur de la taille : 1
Taille : 6 octets

Identifiant du paquet : 226 (MapComplementaryInformationsDataMessage)
Longueur de la taille : 2
Taille : 291 octets

Identifiant du paquet : 176 (BasicNoOperationMessage)
Longueur de la taille : 0
Taille : 0 octets

15 octets recus.

Identifiant du paquet : 5745 (InteractiveUsedMessage)
Longueur de la taille : 1
Taille : 12 octets

7 octets recus.

Identifiant du paquet : 251 (GameContextRemoveElementMessage)
Longueur de la taille : 1
Taille : 4 octets

79 octets recus.

Identifiant du paquet : 5632 (GameRolePlayShowActorMessage)
Longueur de la taille : 1
Taille : 76 octets

Envoi du message "salut" a Ali-Baba.

D 4D F 0 5 73 61 6C 75 74 0 8 41 6C 69 2D 42 61 62 61

12 octets recus.

Identifiant du paquet : 6454 (UpdateMapPlayersAgressableStatusMessage)
Longueur de la taille : 1
Taille : 9 octets

50 octets recus.

Identifiant du paquet : 6362 (BasicAckMessage)
Longueur de la taille : 1
Taille : 6 octets

Identifiant du paquet : 176 (BasicNoOperationMessage)
Longueur de la taille : 0
Taille : 0 octets

Identifiant du paquet : 882 (ChatServerCopyMessage)
Longueur de la taille : 1
Taille : 36 octets

15 octets recus.

Identifiant du paquet : 5745 (InteractiveUsedMessage)
Longueur de la taille : 1
Taille : 12 octets

7 octets recus.

Identifiant du paquet : 251 (GameContextRemoveElementMessage)
Longueur de la taille : 1
Taille : 4 octets

79 octets recus.

Identifiant du paquet : 5632 (GameRolePlayShowActorMessage)
Longueur de la taille : 1
Taille : 76 octets

Envoi du message "bonjour" a Ali-Baba.

D 4D F 0 7 62 6F 6E 6A 6F 75 72 0 8 41 6C 69 2D 42 61 62 61

12 octets recus.

Identifiant du paquet : 6454 (UpdateMapPlayersAgressableStatusMessage)
Longueur de la taille : 1
Taille : 9 octets

Deconnecte du serveur.

Sachant que le destinataire ne reçoit pas le second message.
 

FastFrench

Membre Actif
Inscrit
19 Octobre 2010
Messages
214
Reactions
0
#5
Trois pistes =>
1/ il manque un message a envoyer entre les deux (sniff un échange similaire entre le client officiel et le serveur pour vérifier). Peut-être en réponse à un message du serveur.
2/ ton 2nd message est incorrect (vérifie avec les même messages envoyés entre le client officiel et le serveur)
3/ tes deux messages sont trop rapprochés. Ajoute 1 seconde de délai entre les deux pour être tranquille.
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#6
plus que 2 pistes , le 2nd message est correct
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#7
Je penche pour la 3eme possibilité, il y aurait eu un RawDataMessage si le problème venait d'un oubli de paquet. De plus le problème persiste uniquement a l'envoi des 2mp, même si il y une attente entre la connexion et l'envoi.
 
Inscrit
15 Avril 2011
Messages
457
Reactions
1
#8
FastFrench a dit:
Trois pistes =>
1/ il manque un message a envoyer entre les deux (sniff un échange similaire entre le client officiel et le serveur pour vérifier). Peut-être en réponse à un message du serveur.
2/ ton 2nd message est incorrect (vérifie avec les même messages envoyés entre le client officiel et le serveur)
3/ tes deux messages sont trop rapprochés. Ajoute 1 seconde de délai entre les deux pour être tranquille.
2) Comme l'a dit ToOns, j'ai vérifié, et il est bon.
3) J'ai mis 10 secondes entre les deux messages, ça ne change rien.

1) Sûrement la piste la plus probable. Mais j'ai sniffé, et ça n'a rien donné, j'envoie exactement les mêmes paquets que le client officiel.

Cependant, il y a du changement. Au lieu d'envoyer le MP juste après le paquet reçu GameRolePlayShowActorMessage, je l'envoie juste après le paquet reçu UpdateMapPlayersAgressableStatusMessage. Et là, le premier MP est bien envoyé, mais le second n'est pas non plus envoyé. Toutefois, je ne suis plus kické. J'envoie des messages dans le vide, mais je reste connecté.

Pour ce qui est du RawDataMessage, je le reçois des fois et je crois qu'au bout d'un moment, il provoque ma déconnexion. Je pense que c'est lui la cause du problème, car le client officiel ne le reçoit pas. A quoi sert-il ?
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#9
RawDataMessage indique qu'il y a un souci de paquet mais a vrai dire je ne sais pas exactement ce que cela signifie. Quand je le recois, j'étudie mes précédents paquets.

Sinon il manque certains message;
QuestListRequestMessage ; 5623
ChannelEnablingMessage ; 890
FriendsGetListMessage ; 4001
IgnoredGetListMessage ; 5676
GameContextCreateRequestMessage ; 250
Le 5607 et 6317 aussi (je n'ai pas les noms des classes sur moi).

Il t'en manque quand même pas mal pour une connexion officiel, enfin c'est ce que je vois d'après tes logs a moins qu'ils ne soient pas complets.
Il ne faut négliger aucun paquet en 'Full Socket'.
 

FastFrench

Membre Actif
Inscrit
19 Octobre 2010
Messages
214
Reactions
0
#10
C'est vrai que la tentation est grande de ne pas demander au serveur des infos dont on n'a pas besoin. Mais il est en effet plus prudent de reproduire au plus près le fonctionnement du client officiel pour éviter d'être détecté et kick, voire ban.
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#11
Lorsque tu n'effetuces pas ces demande (après multiples tests) tu te fait rapidement kick et en mitm l'écran est noir.
 
Inscrit
15 Avril 2011
Messages
457
Reactions
1
#12
J'avoue avoir cédé à la tentation. Je vais corriger ça mais je doute que ça ait un rapport avec mon erreur de second mp...
 
Haut Bas