Честные кубики: как проверить
В партии с другом онлайн бросок складывается из трёх частей: случайного зерна сервера и зёрен обоих телефонов. До первого броска сервер показывает отпечаток своего зерна (SHA-256) — и каждый телефон записывает его раньше, чем отдаёт своё зерно. После партии сервер раскрывает зерно, и телефон пересчитывает все броски сам.
Поэтому сервер не может ни подобрать броски под игроков, ни поменять их посреди партии: другое зерно дало бы другой отпечаток. Броски приходят по одному — заранее их не знает ни один игрок.
Честно о пределах: проверка не защищает от владельца сервера, который сговорился бы с одним из игроков, — своё зерно он знает заранее. Против этого у нас нет иной защиты, кроме репутации.
Проверить партию здесь
Эта страница считает броски средствами вашего браузера (WebCrypto) — не кодом игры. Алгоритм: блоки HMAC-SHA-256(ключ — зерно сервера, «nardy-dice-v1|зерно создателя|зерно гостя|номер»), байт ≥ 252 пропускается, иначе число — 1 + остаток от деления на 6; сначала розыгрыш первого хода, потом по два числа на каждый ход.