TavlaSedef

Zarları sen de kontrol et

Bir oyunun zarlarını kontrol et

Oyun sonu kartındaki tohumu yapıştır; bu sayfa mührü ve her zarı tarayıcında yeniden hesaplar. Hiçbir şey hiçbir yere gönderilmez.

Oyun sonu kartında "Mühür açıldı" altında gösterilir; dokununca kopyalanır. Oyun sürerken bilerek kapalıdır.
Boş bırakırsan sayfa yalnızca yukarıdaki tohumun parmak izini hesaplar.
Zar sayfasında listelendiği sırayla, koltuk sırasına göre. İnternetsiz oyunda yalnızca seninki vardır.
Zarlar bütün maç boyunca 1'den başlayarak numaralanır. Açılış zarları da sayılır; Klasik maçta sayaç elden ele devam eder.
Zar sayfasının listelediği gibi, numaralı ya da numarasız. Yapıştırırsan her zar yalnızca gösterilmez, karşılaştırılır da.

Bir zar nasıl hesaplanır

Aynı kod uygulamada ve sunucuda çalışır; bu sayfa onun bir kopyasıdır. Bir maçın her zarı tek bir HMAC'ten gelir:

mac  = HMAC-SHA256(anahtar = sunucu tohumunun baytları,
                   mesaj = telefonSayısı1 ":" telefonSayısı2 ":" zarNo)
bayt = mac'in 252'den küçük ilk baytı
v    = bayt mod 36
zar  = (floor(v / 6) + 1,  v mod 6 + 1)

252 = 7 × 36 olduğundan 36 sıralı zarın her biri eşit olasılıklıdır. 252 ile 255 arası baytlar atlanır; tutulsalardı ilk dört zarı biraz kayırırlardı. 32 baytın hiçbiri 252'den küçük değilse (olasılığı yaklaşık 2-192; hiç olmadı, olmayacak da) telefon sayılarının sonuna bir + eklenir ve MAC yeniden hesaplanır: telefonSayısı1:telefonSayısı2+:zarNo, sonra ++, ve böyle sürer.

İlk zardan önce gösterilen mühür, onaltılık yazımla SHA-256(sunucu tohumunun baytları)'dır. Sunucu tohumu 16 ile 64 bayt arasındadır; oyun 32 bayt kullanır. Telefon sayısı 1 ile 128 arası harf, rakam, _ ve - karakterinden oluşur; uygulama 32 onaltılık karakter gönderir.

Neden işe yarar

Parmak izi ilk zardan önce masadadır; sunucu oyunun gidişatını gördükten sonra tohumunu değiştirirse parmak izi de değişir. Telefonunun sayısı tohum mühürlendikten sonra üretilir; sunucu görmediği bir sayıya uygun tohum seçemez. Her zar ikisine birden bağlıdır ve yeniden hesaplamak için gereken her şey sende.

Sayfa tahtada gördüğünden farklı bir zar ya da tutmayan bir mühür gösterirse sayıları sakla ve [email protected] adresine yaz. Bilmek istiyoruz.

Bu sayfaya bağlantı

Oyun sonu kartı bu sayfayı oyun doldurulmuş olarak açar. Bağlantı aynı alanları taşır: /tr/check/?seed=…&seal=…&client=a,b&n=52&rolls=6344…; rolls zarları, zar sırasıyla her zar için iki rakam olarak listeler.