Перейти к основному содержимому
თამაშები
თამაშები.cc
РУС

Откуда мы знаем, что игра честная

Честная игра на tamashebi.cc заложена в архитектуру: карты и кости перемешивает сервер с криптографической случайностью, кубики бросает сервер, а рука соперника в ваш браузер не попадает вообще.

Честная игра онлайн держится на двух вопросах: действительно ли случайны раздача и кубики, и не видит ли кто-нибудь того, чего видеть не должен. На tamashebi.cc оба ответа заложены в архитектуру, а не в обещание. Карты, кости и кубики сервер бросает с помощью криптографического источника случайности; каждому игроку отправляется только его собственная рука; каждый ход проверяет сервер, и счёт тоже ведёт он. Ниже каждый пункт описан подробно — так, как он на самом деле работает в коде, без преувеличений. Краткая версия — на странице «Честная игра».

Перемешивание карт и броски кубиков

  • Кости домино перемешивает сервер с помощью криптографического источника случайности Web Crypto и метода Фишера–Йейтса, который даёт каждому порядку одинаковый шанс.
  • Карты джокера и японского джокера раздаёт сервер криптографической функцией Node.js. Такую раздачу нельзя предсказать, даже если видеть сотни предыдущих.
  • Кубики в нардах сервер бросает в тот момент, когда игрок нажимает «бросить». Случайное число берётся без перекоса: значение, которое не делится на шесть поровну, отбрасывается и берётся заново, поэтому у каждой грани ровно одинаковый шанс.
  • Случайность никогда не приходит из браузера. Раздача, на которую может повлиять клиент, — это раздача, которую клиент выберет.
  • Детерминированная, «засеянная» случайность есть в коде только для тестов, чтобы ошибку можно было точно воспроизвести. Живая игра её не использует.

Что значит «одинаковый шанс», на примере домино: для последней позиции из 28 костей одна кость выбирается случайно из 28, для предыдущей — из оставшихся 27, и так до начала. Так любой возможный порядок 28 костей ровно одинаково вероятен, и ни одна кость не «тянется» к началу или к концу. Затем сервер даёт каждому по семь костей, а остальные четырнадцать остаются на базаре (в запасе) в том же случайном порядке. Это происходит перед каждой раздачей и от предыдущей не зависит.

Логика на сервере

Браузер только рисует игру. Когда вы кладёте кость или ходите картой, браузер спрашивает сервер, а сервер проверяет: ваша ли очередь, есть ли эта кость или карта у вас в руке, допустим ли ход по правилам. Недопустимый ход просто не выполняется. Очки и счёт матча считает сервер — кратные пяти в домино, лист джокера с «хишти» и «премией», «оини», «марс» и «кокс» в нардах (одинарная, двойная и тройная победа). Какую кость вы возьмёте с базара, тоже решает сервер: выбрать нельзя, а последние две кости базара не берутся вообще — таково правило грузинского домино.

Команды ограничены по частоте: в секунду или за несколько секунд принимается только определённое их число, так что «завалить» сервер командами нельзя. А игрок одновременно может быть только в одной игре.

Скрытая рука соперника

Это самая важная граница. Для экрана каждого игрока сервер строит отдельную картину, и в неё попадают только его карты или кости. Чужая рука не «спрятана» и не «перевёрнута» — её просто нет в отправленных данных. Это важно потому, что данные, скрытые на экране, не скрыты: любой может открыть инструменты разработчика в браузере и посмотреть, что пришло. Для джокера это проверяет тест: он превращает картину игрока в текст и подтверждает, что в ней нет ни одного идентификатора карты другого места.

  • Домино: вы видите свои кости, стол и количество костей у соперника. Порядок базара не отправляется никому.
  • Джокер: вы видите свои карты и то, что сыграно на столе в открытую.
  • Нарды: скрывать нечего — доска и кубики видны обоим одинаково.
  • Бот получает ту же ограниченную картину, что и человек. Исключения «он работает на сервере, значит, ему всё можно» не существует.

Античит

Античит на tamashebi.cc — это в основном то, что описано выше: информация, нужная для жульничества, до устройства игрока просто не доходит. Мы не запускаем никаких программ на вашем компьютере или телефоне и не утверждаем, что искусственный интеллект следит за каждым ходом. Что есть:

  • В рейтинговом матче участвуют только зарегистрированные аккаунты; боты и гости не могут ни выиграть, ни потерять рейтинг.
  • Законченный матч меняет рейтинг ровно один раз — это гарантирует база данных.
  • Уходом не избежать рейтингового поражения: в домино такой матч рейтинг вообще не меняет, а в джокере бот доигрывает за вас, и результат засчитывается вам.
  • Администрация может заблокировать аккаунт; заблокированный аккаунт не может писать в чат.
  • Игрок может заблокировать неприятного соперника — после этого ни вызовы, ни чат между ними не проходят.

Честно скажем и о том, чего мы гарантировать не можем. Если за одним столом джокера сидят двое друзей и по телефону рассказывают друг другу свои карты, сайт этого не увидит — этот разговор через сервер не идёт. За настоящим столом то же самое: и в живой игре никто не может запретить двоим тайные знаки. Поэтому будьте осторожны за столами на монеты или рейтинг с незнакомой компанией, а если появилось подозрение, напишите нам: в записи матча видны каждый заказ и каждая карта, и странная закономерность в ней заметна.

Как решаются споры

Если что-то показалось нечестным, сначала вспомните, что счёт ведёт сервер и правила для всех одни: «странные» очки часто — следствие грузинского правила; например, в домино первой костью очки даёт только 5-5. Загляните на страницу правил. Если сомнение осталось, напишите нам через страницу контактов: укажите игру, имя соперника, дату и время матча. Сервер записывает каждый ход — события матча в домино, каждую сыгранную карту и счёт каждой раздачи в джокере, — поэтому ход матча можно восстановить. Запись законченного матча в джокер могут посмотреть его участники.

Пример

В нардах вам три раза подряд выпало «ду-яки» (двойка и единица), и вы решили, что кубики «сломаны». Вероятность одной конкретной комбинации без дубля, например двойки с единицей, — 2/36 за бросок, а три раза подряд — примерно 1 из 5800. Редко, но за тысячи бросков такие серии обязательно появляются: случайность не означает равномерность на коротком отрезке. Сервер бросает каждый раз отдельно, и прошлый результат на следующий не влияет.

Частые вопросы

Кто бросает кубики?
Сервер, с помощью криптографического источника случайности, в момент вашего броска. Оба игрока видят один и тот же результат.
Может ли соперник увидеть мои карты?
Нет. Сервер отправляет каждому игроку только его руку. Ваши карты в браузер соперника не попадают вообще, поэтому их не покажут даже инструменты разработчика.
Бот жульничает?
Нет. Бот получает ту же ограниченную информацию, что и человек на его месте: только свою руку и стол.
Куда пожаловаться, если игра показалась нечестной?
Напишите нам через страницу контактов и укажите игру, имя соперника и время матча. Сервер записывает каждый ход, поэтому случай можно проверить.

Играть на tamashebi.cc можно бесплатно, прямо в браузере, в том числе с телефона. За некоторыми столами используется Domino Coin — виртуальная игровая монета: это не деньги, она не продаётся и не обменивается на деньги. Сайт доступен на грузинском, английском, русском и турецком языках.

Игры на Tamashebi.cc идут на грузинском языке. Они бесплатны и используют виртуальную монету — не настоящие деньги.

#честная игра#честная игра онлайн#античит#случайность в игре#кубики онлайн честно#перемешивание карт#samartliani tamashi