Point B. Comprendre et interpréter un packet
Un packet est interprété par son utilisation.
Par exemple, Sur Dofus 1.29, Le premier packet est identifié par les deux premiers caractères : HC + 32 caractères
L'utilisation d'un packet est défini selon Le jeu, Le Tchat, Ou autre qui est utilisé .
Quand un packet est mauvais, Le serveur déconnecte le client¹ en question.
Par exemple,
Sur Dofus 1.29, On reçoit HC + 32 caractères
On doit envoyer : Version, Compte#Pass crypté, Af
Recv : HCqsdkfurklgjfidusklodsfmgk
Send : 1.29.1
Send : Compte#CRYPT
Send : Ax
Error : Déconnecté du serveur.
Là, Une erreur est détectée par le serveur, Car nous devons envoyer Af, et non Ax
Alors que là, Nous arrivons a la sélection des serveurs :
Recv : HCqsdkfurklgjfidusklodsfmgk (Clef de cryptage)
Send : 1.29.1 (Version)
Send : Compte#CRYPT (Compte + pass crypté)
Send : Af (Demande d'envoi du serveur?)
(Autres packets a suivre)
Le serveur nous garde et Nous invite a sélectionner le serveur de jeu.
Un autre exemple d'utilisation Pour un Tchat par exemple ;)
Le client :
Recv : CO;id;IP ; Packet de connexion, Id de connexion, Demande d'ip
Send : ID;Sparkdaemon;Password;IP ; Packet des identifiants, Pseudo, Mot de passe, IP (Pour être sur que aucun proxy n'est activé)
Recv : 3;OK/Error;ID erreur ;Si error, ID error (1 Mauvais login/pass, 2 Banni, 3 IP incorrecte)
Recv : Serv;
Send : ID serveur
Recv : Serv;1;users:nbrusers;Pseudo user1;pseudo2, Ect...
; Quand l'initialisation est OK (Création de la liste dans la gui ect...
Send : OK;
Nous (serveur) Demandons au client, Un Identifiant ou un mot de passe. Si celui-ci ne fonctionne pas, Nous lui proposons de s'inscrire.
Si la connexion est O.K Nous demandons au client de choisir un serveur selon ses envies (Par exemple : Flirt, Général, offtopic, Ect..)
à partir de là, le rôle du serveur est super important, étant donné qu'il a besoin des identifiants, Du mot de passe, Et de l'ip de la personne pour travailler.
Si un problème (Mauvais packet, ou autre) Le serveur déconnecte le client.
Une boucle infinie commence, Recv des paroles, Send des paroles Ect...
[En cours de rédaction.. XD]