SpyDota nutzt den Provably-Fair-Algorithmus, damit jeder Spieler die Fairness eines Spiels überprüfen kann. Das Ergebnis einer Kiste oder eines Upgrades wird durch einen vorab festgelegten Server-Seed, deinen Client-Seed und die Spielnummer bestimmt und lässt sich nach dem Spielstart nicht mehr manipulieren.

Der Server-Seed ist der geheime Wert, aus dem das Spielergebnis berechnet wird. Um ein Spiel nachzurechnen, muss der Seed offengelegt werden – das erledigt die Spielkarte für dich.
Klicke oben auf deinen Avatar, öffne den Tab „Verlauf“ und wähle „Kisten“ oder „Upgrades“.
Die Schaltfläche steht am Ende der Spielzeile (auf dem Handy die Tabelle nach rechts wischen). In der geöffneten Karte noch einmal „Prüfen“ klicken.
Um das Spiel zu prüfen, muss der Server-Seed aufgedeckt werden. Wir erstellen ein neues Seed-Paar: Der aktuelle Seed wird aufgedeckt und direkt in die Prüfung eingesetzt, die Spielnummern beginnen von vorn.
Ist der Seed noch geheim, bietet die Karte „Seeds wechseln und prüfen“ an. Der alte Seed wird offengelegt – danach lassen sich alle damit gespielten Spiele prüfen. Neue Spiele zählen ab 1, gespielte ändern sich nicht. Ist der Seed schon offengelegt, entfällt dieser Schritt.
Dein Browser hat das Spiel mit dem offengelegten Seed nachgerechnet, und das Ergebnis stimmt mit dem Eintrag des Servers überein.
Die Prüfseite öffnet sich. „Stimmt überein“ heißt: Dein Browser hat das Spiel nachgerechnet und dasselbe erhalten, was der Server gespeichert hat. Vergleiche den als „gezogen“ markierten Gegenstand mit der Zeile im Verlauf, beim Upgrade „Gewonnen“ oder „Verloren“.
Spiele vor dem Start von Provably Fair, Geschenke und Gutschriften haben keine Schaltfläche „Prüfen“. Wurde ein Gegenstand ersetzt, gilt die Prüfung dem ursprünglichen Drop. Siehst du „Stimmt nicht überein“, speichere den Server-Seed und schreib dem Support.
Vor dem Spiel sehen Sie den Hash des Server-Seeds. Deshalb kann der Server die Ausgangsdaten nicht mehr unbemerkt austauschen.
Ihr Seed und die Spielnummer gehen in die Berechnung ein, daher bildet nicht der Server allein das Ergebnis.
Gib die Daten eines Spiels ein. Die Berechnung läuft in deinem Browser, an den Server wird nichts gesendet.
Geben Sie die Spieldaten ein und drücken Sie „Prüfen“ – hier erscheinen die gezogene Zahl und der Gegenstand.
Server-Seed + Ihr Seed + Spielnummer = Faires Ergebnis
Der Server wählt einen zufälligen Server-Seed und zeigt nur dessen SHA-256-Hash. Danach lässt sich der Seed nicht austauschen: Der Hash würde nicht mehr passen.
Für jedes Spiel wird ein HMAC-SHA256 berechnet. Der Schlüssel ist der Server-Seed als 64-stelliger Hex-String, genau so wie er ist, ohne Umwandlung in Bytes. Die Nachricht besteht aus der Spielart, dem Spiel, deinem Client-Seed und der Spielnummer.
Die ersten 8 Hex-Zeichen des Hashes ergeben eine Zahl von 0 bis 4.294.967.295. Daraus wird ein Ticket von 1 bis 100.000.000: floor(Zahl × 100.000.000 / 2^32) + 1.
In der Chancentabelle zum Zeitpunkt des Spiels hat jeder Gegenstand einen eigenen Ticket-Bereich. Es fällt der Gegenstand, in dessen Bereich das Ticket liegt.
Die Schwelle ist floor(Chance × 100.000.000). Das Upgrade gewinnt, wenn das Ticket nicht größer als die Schwelle ist.
Der Server-Seed wird offengelegt, wenn du die Seeds wechselst. Danach kann jedes Spiel des Paares im Browser auf dieser Seite oder mit eigenem Code nachgerechnet werden.
Der Schlüssel ist der Hex-String des Server-Seeds, wie er ist (64 Zeichen), und nicht die daraus dekodierten Bytes. Hier passieren bei eigenen Prüfungen die meisten Fehler.