Jeu équitable (Provably Fair)

3-102-969694 SOCIEDAD DE RESPONSABILIDAD LIMITADA. PROVINCIA 01 SAN JOSE, CANTON 01 SAN JOSE, DISTRITO CARMEN, BARRIO ESCALANTE, AVENIDA SIETE, CALLE VEINTINUEVE, EDIFICIO DOS MIL NOVECIENTOS DIEZ, CENTRO CORPORATIVO AG

CaissesUpgrade
Inventaire

Jeu équitable

SpyDota utilise l’algorithme Provably Fair pour que chaque joueur puisse vérifier l’équité d’une partie. Le résultat d’une caisse ou d’un upgrade est déterminé par un seed serveur fixé à l’avance, votre seed client et le numéro de partie : il ne peut donc plus être truqué une fois la partie lancée.

Comment vérifier votre partie

Le seed serveur est la valeur secrète à partir de laquelle le résultat de la partie est calculé. Pour recalculer une partie, il faut révéler le seed : la fiche de la partie s’en charge pour vous.

  1. Historique
    SkinCaisse
    Night Terrors HatShadow Shaman
    Belt of the Forlorn MazeShadow Shaman

    Ouvrez l’historique

    Cliquez sur votre avatar dans l’en-tête, ouvrez l’onglet « Historique » et choisissez « Caisses » ou « Upgrades ».

  2. Date
    22 octobre 2026 à 11:32
    22 octobre 2026 à 11:32
    22 octobre 2026 à 11:32

    Cliquez sur « Vérifier »

    Le bouton se trouve au bout de la ligne de la partie (sur mobile, faites défiler le tableau vers la droite). Dans la fiche qui s’ouvre, cliquez de nouveau sur « Vérifier ».

  3. Partie n° 2 de la paire de seeds
    Nombre tiré37 847 706 sur 100 000 000

    Pour vérifier la partie, le seed serveur doit être révélé. Nous créerons une nouvelle paire de seeds : le seed actuel sera révélé et inséré dans la vérification, et les numéros de partie recommenceront.

    Révélez le seed

    Si le seed est encore secret, la fiche proposera « Changer de seeds et vérifier ». L’ancien seed sera révélé : vous pourrez alors vérifier toutes les parties jouées avec lui. Les nouvelles parties repartent de 1, celles déjà jouées ne changent pas. Si le seed est déjà révélé, cette étape n’apparaît pas.

  4. Concorde

    Votre navigateur a recalculé la partie avec le seed révélé et le résultat correspond à l’enregistrement du serveur.

    Nombre tiré37 847 706
    • Belt of the Forlorn MazeBelt of the Forlorn Maze29 376 71035 693 291
    • Night Terrors HatNight Terrors Hattombé35 693 29241 180 434
    • Censer of GlissCenser of Gliss41 180 43547 096 768
    Détails du calcul
    Messagecase:dota2:e784b35edb9c33afec77526dac3faa49:2
    HMAC-SHA25660e3df4be0729100…0cc8
    Nombre issu du hash1 625 546 571
    sha256 du seed serveura6d071c29474dfc7…b787

    Comparez le résultat

    La page de vérification s’ouvre. « Concorde » signifie que votre navigateur a recalculé la partie et obtenu ce que le serveur a enregistré. Comparez l’objet marqué « tombé » avec la ligne de l’historique ; pour un upgrade, « Gagné » ou « Perdu ».

Les parties jouées avant le lancement de Provably Fair, les cadeaux et les attributions n’ont pas de bouton « Vérifier ». Si l’objet a été remplacé, la vérification porte sur le drop d’origine. Vous voyez « Ne concorde pas » ? Enregistrez le seed serveur et écrivez au support.

Le résultat est fixé à l’avance

Avant la partie, vous voyez le hash du seed serveur : le serveur ne peut donc plus remplacer discrètement les données de départ.

Vos données entrent dans le calcul

Votre seed et le numéro de partie participent au calcul : le résultat n’est donc pas formé par le serveur seul.

Données de la partie

Saisissez les données d’une partie. Le calcul se fait dans votre navigateur et rien n’est envoyé au serveur.

Un tableau de lignes avec les champs itemId, start, end, name et phase (phase CS2 ou null). Copiez-le depuis la fiche de la partie.

Résultat de la vérification

Renseignez les données de la partie et appuyez sur « Vérifier » : le nombre tiré et l’objet apparaîtront ici.

Comment le résultat est formé

Seed serveur + Votre seed + Numéro de partie = Résultat équitable

Comment le calcul est fait

  1. L’engagement du serveur

    Le serveur choisit un seed serveur aléatoire et n’en affiche que le hash SHA-256. Le seed ne peut plus être remplacé ensuite : le hash ne correspondrait plus.

  2. Le hash de la partie

    Pour chaque partie, un HMAC-SHA256 est calculé. La clé est le seed serveur sous forme de chaîne hex de 64 caractères, telle quelle, sans décodage en octets. Le message est composé du type de jeu, du jeu, de votre seed client et du numéro de partie.

  3. Le ticket

    Les 8 premiers caractères hex du hash donnent un nombre de 0 à 4 294 967 295. On en tire un ticket de 1 à 100 000 000 : floor(nombre × 100 000 000 / 2^32) + 1.

  4. Caisse

    Dans la table des chances au moment de la partie, chaque objet a sa propre plage de tickets. L’objet dont la plage contient le ticket est obtenu.

  5. Upgrade

    Le seuil est floor(chance × 100 000 000). L’upgrade est gagné si le ticket n’est pas supérieur au seuil.

  6. La révélation

    Le seed serveur est révélé lorsque vous changez de seeds. Ensuite, toute partie de la paire peut être recalculée dans le navigateur sur cette page ou avec votre propre code.

La formule

Message
kind:game:clientSeed:nonce
Clé HMAC
HMAC-SHA256(serverSeed, message)

La clé est la chaîne hex du seed serveur telle quelle (64 caractères), et non les octets décodés. C’est ici que se trompent la plupart des vérifications faites soi-même.