Честность Войти через SteamВойти

Проверка честности

Результат каждого открытия заранее зафиксирован и проверяется после игры. Сервер не может изменить его незаметно для вас.

Проверить игру

Как это работает

  1. 1

    Хэш server seed — до игры

    Сервер создаёт секретный server seed и сразу показывает вам его SHA-256. Изменить seed после этого нельзя: хэш перестанет совпадать.

  2. 2

    Client seed — ваш

    Client seed участвует в расчёте наравне с серверным. Его можно сменить в любой момент в профиле.

  3. 3

    Nonce — номер игры

    Каждое открытие увеличивает nonce на единицу, поэтому одна пара seed даёт разные результаты.

  4. 4

    Раскрытие и проверка

    После смены seed старый server seed раскрывается. По нему можно пересчитать каждое прошлое открытие.

Формула

hmac = HMAC_SHA256(key = server_seed, message = client_seed + ":" + nonce)
roll = int(hmac[0:13], 16) / 2^52          // 0 ≤ roll < 1
point = floor(roll × сумма_весов_версии)
предмет = тот, у кого range_from ≤ point < range_to

Roll — число от 0 до 1: первые 13 символов HMAC (52 бита), делённые на 2^52.

Предмет: точка floor(roll × сумма весов) попадает в диапазон одного предмета опубликованной версии кейса. Диапазоны идут подряд в порядке состава, их ширина равна весу предмета.

Mines: блок c = HMAC_SHA256(server_seed, "client_seed:nonce:c"), по 4 байта — u (uint32). Для i = 24…1: j = floor(u × (i + 1) / 2³²), обмен клеток i и j. Мины — первые m клеток перестановки.

Проверить игру

По seed хэш и roll считаются в вашем браузере, без участия сервера. По номеру игры сервер пересчитывает roll из раскрытого seed и показывает выпавший предмет.

Ваши seed

Войдите, чтобы видеть свою текущую пару seed и историю игр.Вернуться в пруд