Compétition loyale
Fair-play
Chaque score classé est rejoué et vérifié par le serveur. Voici exactement comment, pour que tout le monde joue avec les mêmes règles.
01 Ce que le serveur vérifie
- Jeton de partie signé. Au départ (GO au clavier, affichage du message en T9), le serveur délivre un jeton signé (HMAC-SHA-256) et horodaté. Sans jeton valide, pas de classement.
- Horloge serveur. Le chrono déclaré ne peut pas dépasser le temps réellement écoulé depuis la délivrance du jeton. Impossible d'annoncer 10 s pour une partie terminée en 9 s de vrai temps… ou de forger un score sans jouer.
- Rejeu complet. Le jeu envoie le journal de chaque déplacement (clavier) ou de chaque appui (T9) avec son horodatage. Le serveur rejoue la partie avec le même moteur : le clavier doit être entièrement correct au dernier coup, le message exact au dernier appui. Le score est recalculé à partir du rejeu, jamais des valeurs annoncées.
- Rythme humain. Des actions à moins de 45 ms d'intervalle ou un rythme trop régulier (signature d'un script) entraînent un rejet. La répétition automatique des touches est ignorée en T9.
- Usage unique. Chaque jeton ne sert qu'une fois : rejouer la même requête ne double pas un score.
- Règles de difficulté. Nombre de vérifications, pénalités et placements refusés en Facile sont réappliqués au rejeu.
- Limites d'envoi par adresse IP hachée (jamais stockée en clair) et filtrage des pseudos injurieux.
02 Transparence
Après chaque partie, le rapport de vérification s'affiche : chaque contrôle passé (✓) ou échoué (✗). Les scores vérifiés portent le badge ✓ vérifié au classement.
Mélanger pavé numérique et souris dans une partie T9 la rend non classée : les deux classements restent séparés et comparables.
03 Limites honnêtes
Aucun anti-triche web n'est parfait : un programme très élaboré imitant un humain reste théoriquement possible. Les contrôles ci-dessus rendent la triche coûteuse et visible ; signalez tout score suspect et il sera retiré.