Ce genre de choses ne peut pas arriver parce que toutes les informations sur les joueurs sont stoquées dans une database, et mises à jour par le serveur uniquement. Les échanges client/serveur se résument un peu à ça:Qu'est-ce qui m'empêche indiquer au serveur que j'ai un Dracaufeu au niveau 85 avec l'attaque "Rafale Feu" par exemple alors qu'en réalité je n'ai qu'un petit salamèche au niveau 5 avec son "Flammeche" ?
Si le serveur sait que j'ai triché, j'aimerais savoir comment ? Comment peut-t-il savoir qu'en réalité j'ai un salamèche au niveau 5 et non un Dracaufeu au niveau 85 ?
Le client demande à se loguer, et il envoie mot de passe et login. Le serveur lui crée un petit espace pour lui, et récupère toutes ses infos depuis la database principale.
Serveur : "Salut, donc en face de toi, y'a un dracaufeu, il s'apprête à te lancer une flamme dans 0.5 secondes"
Client : Ok, j'affiche le dracaufeu et l'attaque dans 0.5s
Client: J'aimerais lancer une pokeball à la position x,y, si possible
Serveur: "Voyons voir, ta position est x0,y0, et là ou tu veux envoyer une balle, c'est x1,y1. Ok, c'est possible, tu envoies donc une balle, et elle touche le pokemon. Mais elle va rater son coup"
Client : Ok, j'affiche tout ça
Client : J'aimerais me déplacer à la position x,y
Serveur: Je vérifie si tu peux te déplacer, non, ce n'est pas possible, il y a un rocher ici. Je te renvoie ta position normale qui est x0,y0.
Client : *remet le personnage en x0,y0*
Client: J'aimerais lancer l'attaque n°1 de mon pokemon en cours avec un angle de 90°
Serveur : Actuellement, tu as un salamèche, et son attaque en position 1 est charge. Je calcule les dégats infligés&autrestrucs. Tu peux afficher
Client : *Affiche*
etc etc
Le client ne peut pas envoyer d'informations du genre "J'ai un dracaufeu lvl 85", ça ne correspond pas au paquets qui intéressent le serveur. Le client ne peut faire que des requètes " J'aimerais.", et le serveur réponds dans le cas positif, ou ne réponds pas dans le cas négatif.
Si tu penses qu'il y a toujours une raison de crypter les paquets pour certains cas, ça m'intéresserait beaucoup de savoir lesquels.