Чесна гра (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

КейсиАпгрейд
Інвентар

Чесна гра

SpyDota використовує алгоритм Provably Fair, щоб будь-який гравець міг перевірити чесність гри. Результат кейса чи апгрейда визначається наперед зафіксованим серверним сидом, вашим client seed і номером гри, тому підтасувати його після початку гри не можна.

Як перевірити свою гру

Серверний сид — секретне значення, з якого рахується результат гри. Щоб перерахувати гру, сид треба розкрити: картка гри зробить це за вас.

  1. Історія
    СкінКейс
    Night Terrors HatShadow Shaman
    Belt of the Forlorn MazeShadow Shaman

    Відкрийте історію

    Натисніть на свій аватар у шапці, відкрийте вкладку «Історія» й виберіть «Кейси» або «Апгрейди».

  2. Дата
    22 жовтня 2026 р. о 11:32
    22 жовтня 2026 р. о 11:32
    22 жовтня 2026 р. о 11:32

    Натисніть «Перевірити»

    Кнопка стоїть у кінці рядка гри (на телефоні прокрутіть таблицю вправо). У картці, що відкриється, натисніть «Перевірити» ще раз.

  3. Гра № 2 у парі сідів
    Випале число37 847 706 з 100 000 000

    Щоб перевірити гру, серверний сид треба розкрити. Ми створимо нову пару сидів: поточний сид розкриється й одразу підставиться в перевірку, а номери ігор почнуться заново.

    Розкрийте сид

    Якщо сид ще секретний, картка запропонує «Змінити сиди й перевірити». Старий сид розкриється — після цього можна перевірити всі ігри, зіграні з ним. Нові ігри почнуть відлік з 1, зіграні не зміняться. Якщо сид уже розкрито, цього кроку не буде.

  4. Збігається

    Браузер перерахував гру за розкритим сидом, результат збігся із записом сервера.

    Число, що випало37 847 706
    • Belt of the Forlorn MazeBelt of the Forlorn Maze29 376 71035 693 291
    • Night Terrors HatNight Terrors Hatвипав35 693 29241 180 434
    • Censer of GlissCenser of Gliss41 180 43547 096 768
    Подробиці розрахунку
    Повідомленняcase:dota2:e784b35edb9c33afec77526dac3faa49:2
    HMAC-SHA25660e3df4be0729100…0cc8
    Число з хеша1 625 546 571
    sha256 серверного сидаa6d071c29474dfc7…b787

    Звірте результат

    Відкриється сторінка перевірки. «Збігається» означає, що ваш браузер перерахував гру й отримав те саме, що записав сервер. Предмет із позначкою «випав» порівняйте з рядком в історії, в апгрейда — «Перемога» або «Поразка».

Кнопки «Перевірити» немає в ігор, зіграних до запуску чесної гри, у подарунків і видач. Якщо предмет замінили, перевірка стосується початкового випадіння. Бачите «Не збігається» — збережіть серверний сид і напишіть у підтримку.

Результат зафіксовано заздалегідь

До гри ви бачите хеш серверного сида. Тому сервер уже не може непомітно підмінити вихідні дані.

У розрахунку є ваші дані

Ваш сид і номер гри беруть участь у розрахунку, тому результат формує не лише сервер.

Дані гри

Підставте дані гри. Розрахунок іде у вашому браузері, на сервер нічого не надсилається.

Масив рядків із полями itemId, start, end, name і phase (фаза CS2 або null). Скопіюйте його з картки гри.

Результат перевірки

Підставте дані гри й натисніть «Перевірити» — тут з’явиться число, що випало, і предмет.

Як утворюється результат

Серверний сид + Ваш сид + Номер гри = Чесний результат

Як влаштований розрахунок

  1. Зобов’язання сервера

    Сервер обирає випадковий серверний сид і показує лише його хеш SHA-256. Підмінити сид після цього не можна: хеш перестане збігатися.

  2. Хеш гри

    Для кожної гри рахується HMAC-SHA256. Ключ — серверний сид у вигляді 64-символьного hex-рядка як є, без перетворення на байти. Повідомлення складається з виду гри, гри, вашого client seed і номера гри.

  3. Тікет

    Перші 8 hex-символів хеша дають число від 0 до 4 294 967 295. З нього виходить тікет від 1 до 100 000 000: floor(число × 100 000 000 / 2^32) + 1.

  4. Кейс

    У кожного предмета в таблиці шансів на момент гри є свій діапазон тікетів. Випадає предмет, у чий діапазон потрапив тікет.

  5. Апгрейд

    Поріг дорівнює floor(шанс × 100 000 000). Апгрейд виграє, якщо тікет не більший за поріг.

  6. Розкриття

    Серверний сид розкривається, коли ви змінюєте сиди. Після цього будь-яку гру пари можна перерахувати в браузері на цій сторінці або власним кодом.

Формула

Повідомлення
kind:game:clientSeed:nonce
Ключ HMAC
HMAC-SHA256(serverSeed, message)

Ключ — це hex-рядок серверного сида як є (64 символи), а не декодовані з нього байти. Саме тут найчастіше помиляються під час самостійної перевірки.