Skip to main content
თამაშები
თამაშები.cc
ENG

How We Know the Game Is Fair

Fair play on tamashebi.cc is built into the architecture: the server shuffles cards and tiles with cryptographic randomness, the server rolls the dice, and your opponent’s hand never reaches your browser.

Fair play online rests on two questions: are the deal and the dice truly random, and can anyone see what they should not? On tamashebi.cc both answers are built into the architecture, not into a promise. The server shuffles the cards and tiles and rolls the dice with a cryptographic source of randomness; each player is sent only their own hand; the server checks every move and keeps the score. Each point is described below as it actually works in the code, without exaggeration. The short version is on the fair play page.

Shuffling the cards and rolling the dice

  • Domino tiles are shuffled by the server using the Web Crypto source of cryptographic randomness and the Fisher–Yates method, which gives every order the same chance.
  • Cards for Joker and Japanese Joker are dealt by the server with Node.js’s cryptographic random function. Such a deal cannot be predicted, even by someone who has watched hundreds of earlier deals.
  • Nardi dice are rolled by the server at the moment the player rolls. The random number is drawn without bias: a value that would not divide evenly by six is thrown away and drawn again, so every face has exactly the same chance.
  • The browser never supplies the randomness. A deal the client can influence is a deal the client can choose.
  • Deterministic, “seeded” randomness exists in the code only for tests, so that a bug can be reproduced exactly. Live games never use it.

What “the same chance” means, using domino: for the last position among the 28 tiles, one tile is chosen at random out of 28; for the position before it, out of the remaining 27; and so on to the start. That makes every possible order of the 28 tiles exactly equally likely, and no tile leans towards the beginning or the end. The server then gives each player seven tiles, and the other fourteen stay in the bazari (the boneyard) in the same random order. This happens before every hand and does not depend on the previous one.

Server-side logic

The browser only draws the game. When you place a tile or play a card, the browser asks the server, and the server checks: is it your turn, is that tile or card in your hand, is the move legal. An illegal move simply does not happen. The server calculates the points and the match score — domino’s multiples of five, the Joker scoresheet with khishti and the premia bonus, nardi’s oini, mars and koks (single, double and triple wins). Which tile you draw from the bazari is the server’s decision too: choosing is impossible, and the last two tiles of the boneyard can never be drawn at all — that is a rule of Georgian domino.

Commands are rate-limited: only a certain number are accepted per second or per few seconds, so nobody can flood the server with them. And a player can be in only one game at a time.

Hiding your opponent’s hand

This is the most important boundary. The server builds a separate picture for each player’s screen, and only that player’s cards or tiles go into it. Other players’ hands are not “hidden” or “face down” — they are simply not in the data that is sent. That matters because data hidden on screen is not hidden: anyone can open the browser’s developer tools and see what arrived. For Joker this is checked by a test that turns a player’s picture into text and confirms that not a single card id from another seat appears in it.

  • Domino: you see your own tiles, the board and how many tiles your opponent holds. The order of the boneyard is sent to nobody.
  • Joker: you see your own cards and whatever has been played face up on the table.
  • Nardi: there is nothing to hide — both players see the same board and the same dice.
  • The bot gets the same restricted picture as a person. There is no “it runs on the server, so it can see everything” exception.

Anti-cheat

On tamashebi.cc anti-cheat is mainly what is described above: the information you would need to cheat simply never reaches a player’s device. We do not run any software on your computer or phone, and we do not claim that an artificial intelligence watches every move. What does exist:

  • Only registered accounts take part in ranked matches; bots and guests can neither win nor lose rating.
  • A finished match changes ratings exactly once — guaranteed by the database.
  • Leaving does not dodge a ranked loss: in domino such a match does not change the rating at all, and in Joker a bot finishes the game in your seat and the result counts for you.
  • The administration can ban an account; a banned account cannot write in chat.
  • A player can block an unpleasant opponent — after that, neither challenges nor chat get through between them.

We should be honest about what we cannot guarantee. If two friends sit at the same Joker table and tell each other their cards over the phone, the site cannot see it — that conversation never passes through the server. It is the same at a real table: nobody can stop two people from using secret signals in a live game either. So be careful at coin or ranked tables with strangers, and if you become suspicious, write to us: the match record shows every bid and every card, and an odd pattern stands out in it.

Settling a dispute

If something looks unfair, remember first that the server keeps the score and the rules are the same for everyone: an “odd” score is often a Georgian rule at work — in domino, for instance, only 5-5 scores as an opening tile. Check the rules page. If you still have doubts, write to us through the contact page with the game, your opponent’s username, and the date and time of the match. The server records every move — the match events in domino, every card played and every hand score in Joker — so the course of a match can be reconstructed. Players can view the record of a finished Joker match they took part in.

Example

In nardi you roll du-yaqi (a two and a one) three times in a row and decide the dice are “broken”. The chance of one particular non-double combination, such as two-and-one, is 2/36 on a single roll, and three times running it is about 1 in 5,800. Rare — but over thousands of rolls such streaks are bound to appear; random does not mean even over a short stretch. The server rolls every throw independently, and one result has no influence on the next.

Frequently asked questions

Who rolls the dice?
The server, using a cryptographic source of randomness, at the moment you roll. Both players see the same result.
Can my opponent see my cards?
No. The server sends each player only their own hand. Your cards never reach your opponent’s browser at all, so even developer tools cannot show them.
Does the bot cheat?
No. The bot gets the same restricted information a person in its seat would have: only its own hand and the table.
Where do I complain if a game looked unfair?
Write to us through the contact page with the game, your opponent’s username and the time of the match. The server records every move, so the case can be checked.

Every game on tamashebi.cc is free to play. Domino Coin is a virtual in-game coin: it is never money, cannot be bought or cashed out, and means nothing outside the site. The site is available in Georgian, English, Russian and Turkish.

The games on Tamashebi.cc are played in a Georgian-language interface. They are free and use a virtual coin, never real money.

#fair play online games#is the game fair#anti-cheat#random shuffle#online dice fair#card shuffle online#samartliani tamashi