Независимые кости для онлайн-игр

Броски, которые никто на сервере не подтасует.

RandomDice.org выдаёт криптографически стойкие беспристрастные целые числа и публичную квитанцию на каждый бросок. Игроки могут сверить число. Студии не могут тихо «выставить» кость.

Бесплатно 10,000 вызовов в сутки UTC на ключ. Нужно больше? Напишите нам.

Демо-бросок · кость

Клиенты

Игры, которые уже бросают открыто.

Эти студии вызывают RandomDice.org для боя, добычи или настольных бросков. Нажмите логотип, чтобы открыть публичный журнал этой игры — броски за последние 15 минут, обязательное player_name, параметры и время. Найдите свой ник на той странице. Игра, которая показывает число, отличное от журнала, не использует наш результат.

Зачем

Игрокам не следует доверять генератору случайных чисел дома.

В размещённой игре сервер принадлежит студии. «Случайная» кость может быть взвешена, переброшена или подменена задним числом. Это подтасовка, а не бросок. RandomDice.org стоит вне игры: сервер просит у нас число, мы генерируем его через PHP random_int() (CSPRNG) и публикуем броски за последние 15 минут каждой указанной игры — включая обязательное player_name — чтобы любой мог сверить значение.

  • Беспристрастный диапазон. Равномерные целые от min до max, по умолчанию 1–6.
  • Публичные броски. Броски за последние 15 минут каждой указанной игры видит кто угодно — ник, значения, параметры и время. Нажмите логотип клиента и найдите свой ник.
  • Публичная квитанция. Каждый вызов также возвращает id и verify_url.
  • Бесплатная квота. 10,000 вызовов API в сутки UTC на ключ. Сверх этого напишите нам.

Как пользоваться

Один JSON API. Вызывайте откуда угодно.

Работает из адресной строки, curl, fetch, Python, Java, HTTP Godot, Unity и старых бэкендов, которые шлют JSON — из всего, что достаёт до HTTPS. Подтверждайте личность токеном Bearer, заголовком X-Api-Key или параметром api_key.

Конечная точка

GET or POST https://randomdice.org/api/v1/roll

Параметры

player_name (обязательно, 1–40 символов), min (по умолчанию 1), max (по умолчанию 6), count (1–100, по умолчанию 1). Подтверждение через Authorization: Bearer, X-Api-Key или api_key (удобно для GET в браузере). Необязательные свои строки: дополнительные поля или объект params — не больше 10, ключи и значения не длиннее 32 символов. Они сохраняются и показываются в публичном журнале. Вызовы без player_name отклоняются. Один HTTP-запрос считается одним вызовом квоты, даже если count — это пачка.

Квота

10,000 вызовов в сутки UTC. Заголовки: X-RateLimit-Limit, Remaining, Reset. Сверх квоты ответ 429.

GET в браузере — вставьте в адресную строку:https://randomdice.org/api/v1/roll?api_key=rd_live_YOUR_KEY&player_name=FlashMan&min=1&max=6&count=1
curl -H "Authorization: Bearer rd_live_YOUR_KEY" \
  "https://randomdice.org/api/v1/roll?player_name=FlashMan&min=1&max=6&count=1&match_id=arena-12"
fetch("https://randomdice.org/api/v1/roll", {
  method: "POST",
  headers: {
    "Authorization": "Bearer rd_live_YOUR_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    player_name: "FlashMan",
    min: 1,
    max: 6,
    count: 3,
    params: { match_id: "arena-12", round: "3" }
  })
})
import requests
r = requests.get(
  "https://randomdice.org/api/v1/roll",
  params={"player_name": "FlashMan", "min": 1, "max": 20, "count": 1, "match_id": "arena-12"},
  headers={"Authorization": "Bearer rd_live_YOUR_KEY"},
)
print(r.json())

Успешный ответ содержит player_name, params, values, id, verify_url и (когда игра в списке) public_log_url. Покажите эти ссылки игрокам. Броски за последние 15 минут публичны на странице игры и ищутся по нику, включая свои параметры. Ошибки — это JSON: { "ok": false, "error": { "code", "message" } }.

Ключ API

Выдать ключ за один шаг.

Без ожидания одобрения. Ключ показывается один раз на этой странице и приходит на почту. Квота начинается с 10,000 вызовов в сутки UTC. Тот же ключ вы вставите при отправке игры, чтобы логотип на главной открывал публичный журнал бросков.

Изображение капчи

Отправить

Добавьте игру и получите печать сертификата.

Это не закрывает API. Это проверенный каталог клиентов и публичный журнал бросков. Вставьте полный ключ API сверху — после одобрения логотип на главной кликабелен и открывает броски за последние 15 минут с фильтром по нику. Заявки в ожидании стоят в очереди, пока мы не одобрим или не отклоним их письмом.

Обязательно. Вставьте полный ключ из «Ключ API», не короткий префикс. Мы храним связь с этим ключом, не сам секрет. После одобрения клик по логотипу показывает броски за последние 15 минут с фильтром игрока.

Изображение капчи

Контакт

Квота, сотрудничество или проблема с броском.

Мы не публикуем ящик на этой странице. Отправьте форму, и мы ответим на указанный адрес.

Изображение капчи