Bonjour,
Je développe un FPS jouable en réseau. Le protocole de communication est très simple. J'aimerais savoir comment s'assurer qu'un joueur ne s'est pas recodé un client utilisant le même protocole de communication mais avec une interface différente : suppression du brouillard, visibilité des joueurs...
Ceci constituerait une triche indétectable par le serveur.
Pour bloquer le faux client, j'avais pensé à un protocole de questionnement : le serveur pause des questions au client que seul un vrai client est capable de répondre.
Voici un exemple :
Le serveur envoie une série de nombres aléatoires au client : "12 45 81 35 56". Le client utilise une règle de calcule relativement complexe pour produire un nombre à partir de ces nombres et les retourne au serveur. Le serveur effectue les mêmes opérations de son côté et au retour de la réponse, il compare les deux résultats. S'ils sont identique, le client est authentique.
Cette méthode fonctionnerait sans doute jusqu'à ce qu'un crackeur réussisse à produire un générateur de clé en réutilisant le binaire de mon client. Donc la solution n'est pas suffisante et j'ai l'impression de tourner en rond.
Avez-vous une solution pour détecter ce genre de triche ?
Merci.
Partager