Adil oyun (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

Adil oyun

SpyDrop, her oyuncunun oyunun adilliğini doğrulayabilmesi için Provably Fair algoritmasını kullanır. Bir kasa veya yükseltmenin sonucu, önceden sabitlenmiş sunucu seed'i, istemci seed'iniz ve oyun numarasıyla belirlenir; bu yüzden oyun başladıktan sonra değiştirilemez.

Sonuç önceden sabitlenir

Oyundan önce sunucu seed'inin hash'ini görürsünüz. Bu yüzden sunucu kaynak verileri fark ettirmeden değiştiremez.

Hesaplamada sizin verileriniz de var

Seed'iniz ve oyun numarası hesaplamaya katılır, bu yüzden sonucu tek başına sunucu oluşturmaz.

Oyun verileri

Bir oyunun verilerini girin. Hesaplama tarayıcınızda yapılır, sunucuya hiçbir şey gönderilmez.

itemId, start, end, name ve phase (CS2 fazı veya null) alanlarına sahip satırlardan oluşan bir dizi. Oyun kartından kopyalayın.

Doğrulama sonucu

Oyun verilerini girin ve “Doğrula”ya basın: çıkan sayı ve eşya burada görünecek.

Sonuç nasıl oluşur

Sunucu seed'i + Sizin seed'iniz + Oyun numarası = Adil sonuç

Nasıl çalışır

  1. Sunucunun taahhüdü

    Sunucu rastgele bir sunucu seed'i seçer ve yalnızca SHA-256 hash'ini gösterir. Sonradan seed değiştirilemez: hash artık eşleşmezdi.

  2. Oyun hash’i

    Her oyun için HMAC-SHA256 hesaplanır. Anahtar, sunucu seed'inin 64 karakterlik hex dizesi olarak olduğu gibi hâlidir; bayta çevrilmez. Mesaj; oyun türü, oyun, istemci seed'iniz ve oyun numarasından oluşur.

  3. Bilet

    Hash'in ilk 8 hex karakteri 0 ile 4.294.967.295 arasında bir sayı verir. Bundan 1 ile 100.000.000 arasında bir bilet çıkar: floor(sayı × 100.000.000 / 2^32) + 1.

  4. Kasa

    Oyun anındaki şans tablosunda her eşyanın kendi bilet aralığı vardır. Bileti aralığına denk gelen eşya düşer.

  5. Yükseltme

    Eşik floor(şans × 100.000.000) değerine eşittir. Bilet eşikten büyük değilse yükseltme kazanır.

  6. Açıklama

    Sunucu seed'i, seed'leri değiştirdiğinizde açıklanır. Ardından çiftin her oyunu bu sayfada tarayıcıda ya da kendi kodunuzla yeniden hesaplanabilir.

Formül

Mesaj
kind:game:clientSeed:nonce
HMAC anahtarı
HMAC-SHA256(serverSeed, message)

Anahtar, sunucu seed'inin hex dizesinin olduğu gibi hâlidir (64 karakter); ondan çözülen baytlar değildir. Kendi yaptığınız doğrulamalarda en çok burada hata yapılır.

Oynadığınız bir oyunu, kasa ve yükseltme geçmişindeki “Doğrula” düğmesiyle doğrulayabilirsiniz.