Zaruri pe care le poți verifica
Verifică zarurile unei partide
După ce partida s-a terminat, atinge sigiliul de pe ecranul de final, apoi Verifică aceste zaruri. Pagina se deschide cu totul completat, iar browserul tău recalculează sigiliul și fiecare aruncare, fără să trimită nicăieri valorile partidei.
Cum se calculează o aruncare
Același cod rulează în aplicație și pe server; această pagină este o copie a lui. Fiecare aruncare dintr-o partidă vine dintr-un singur HMAC:
mac = HMAC-SHA256(cheie = octeții seminței serverului,
mesaj = sămânțăTelefon1 ":" sămânțăTelefon2 ":" nrAruncare)
octet = primul octet din mac care e sub 252
v = octet mod 36
zaruri = (floor(v / 6) + 1, v mod 6 + 1)
252 înseamnă 7 × 36, deci fiecare dintre cele 36 de aruncări ordonate are aceeași probabilitate. Octeții de la 252 la 255 sunt săriți, pentru că, dacă ar fi păstrați, ar favoriza puțin primele patru aruncări. Dacă niciunul dintre cei 32 de octeți nu e sub 252 (o șansă de circa 2-192, mult prea rară ca să te aștepți la ea), se adaugă un + după partea cu semințele telefoanelor și MAC-ul se calculează din nou: sămânțăTelefon1:sămânțăTelefon2+:nrAruncare, apoi ++ și așa mai departe.
Sigiliul arătat înainte de prima aruncare este SHA-256(octeții seminței serverului), scris în hexazecimal. O sămânță de server are între 16 și 64 de octeți; jocul folosește 32. O sămânță de telefon are între 1 și 128 de caractere: litere, cifre, _ și -; aplicația generează 32 de caractere hexazecimale.
De ce funcționează
Sigiliul e pe masă înainte de prima aruncare, așa că serverul nu-și poate schimba sămânța după ce vede cum merge partida: s-ar schimba și sigiliul. Telefonul tău își alege sămânța după ce sigiliul a fost arătat, așa că serverul nu poate alege o sămânță care să-i convină. Fiecare aruncare depinde de amândouă, iar tu ai tot ce-ți trebuie ca să le recalculezi.
Dacă pagina arată o aruncare diferită de ce ai văzut pe tablă sau un sigiliu care nu se potrivește, păstrează linkul și scrie-ne la [email protected]. Vrem să știm.
Linkuri către această pagină
Butonul Verifică aceste zaruri din aplicație deschide această pagină cu tot ce urmează după # în link, partea pe care browserul nu o trimite niciodată unui server: /ro/check/#v=1&s=…&c=…&p=a,b&r=6344…&g=52,48. s este sămânța serverului, c sigiliul, p semințele telefoanelor în ordinea locurilor la masă, r fiecare aruncare, câte două cifre, în ordinea aruncărilor, iar g, pentru o partidă de mai multe linii, câte aruncări a folosit fiecare linie.