Y a-t-il des cadres existants sur lesquels je peux m'appuyer? Dois-je construire le mien? Comment puis-je empêcher la publication de faux scores?
Y a-t-il des cadres existants sur lesquels je peux m'appuyer? Dois-je construire le mien? Comment puis-je empêcher la publication de faux scores?
Réponses:
ScoreLoop est disponible pour la plateforme Android.
Vous pouvez également utiliser ScoreNinja . ScoreNinja offre un moyen facile d'implémenter des scores globaux mais nécessite de voir votre score dans l'application ScoreNinja.
Sinon, l'iphone Cocos fournit un score global avec CocosLive . Vous pouvez utiliser CocosLive.net ou utiliser votre propre machine virtuelle GoogleApp Engine. CocosLive n'est pas disponible sur la plateforme Android mais le protocole est REST avec JSON et peut facilement être porté.
Ma solution actuelle est CocosLive pour Android et iPhone avec ma propre machine virtuelle, mais j'utiliserai ScoreLoop dans mon prochain jeu pour l'intégration de réseaux sociaux.
Je ne suis pas sûr qu'il existe un cadre qui couvre plusieurs plates-formes, mais il existe des cadres spécifiques aux plates-formes à coup sûr. Deux qui me viennent à l'esprit pour l'iPhone sont Scoreloop et OpenFeint .
Découvrez OpenFeint : Premiers pas avec OpenFeint SDK pour Android 1.8 Facile à démarrer!
Procédez comme suit:
(1) L'utilisateur obtient un score dans le jeu.
(2) Créez la chaîne "Nom d'utilisateur, partition, horodatage" ou quelque chose de similaire.
(3) Ajoutez un sel (chaîne secrète) à cette chaîne: "nom d'utilisateur, score, horodatage, SALTSTRING"
(4) Calculez un hachage de cette chaîne avec votre algorithme préféré, (MD5, SHA ...).
(5) Publier "Nom d'utilisateur, score, horodatage" avec le hachage que vous avez calculé sur votre site: www.votresite.com?str=username,score,timestamp&hash=MYHASH ou quelque chose de similaire
(6) Sur votre serveur, refaites le calcul, c'est-à-dire créez "nom d'utilisateur, score, horodatage, SALTSTRING" puis comparez avec le hachage soumis par l'utilisateur. Si aucune correspondance, alors quelque chose a été falsifié.
Notez que si l'utilisateur peut obtenir les fichiers de classe, ils peuvent être décompilés et donc le sel peut être vu. Cependant, si l'utilisateur peut décompiler votre programme, il n'y a aucun moyen d'empêcher les faux scores élevés: l'utilisateur peut modifier le code pour faciliter le jeu et utiliser cette version. Vous n'aurez aucun moyen de vérifier cela.