Fair play. Honesty Control

Some players doubt the honesty and impartiality of the game. To make sure that the “system does not play along” with the opponent, as well as that the game is played according to the pre-created dice rolls, we developed a verification system called honesty control. Therefore, playing with us in long gammon or backgammon, you will be absolutely sure that everything depends on your skill and a little on luck. Each player can influence the future distribution of the dice by setting an offset. Let’s figure out how to check the honesty of the game and influence the throws.

Offset of initial dice sequence in honesty control

Offset of initial dice sequence in honesty control

Before each game, each player’s side generates their own random sequence of throws (a set of two dice values ​​from 1 to 6) using a cryptographic random number generator using an implementation provided by the encryption service provider (CSP). Then, in encrypted form, the generated sequences are sent to the server, where we save them unchanged. Each player can download these two sequences before and during the game in the form of a password-protected ZIP archive by clicking the “Download shot archive” button. Thus, making sure that the sequence during the game does not change. The password for the file (archive) will be known to the players only at the end of the match and is displayed in the final window of the match. The password is the same for all “throw archives” of games within the same match.


Honesty control block in final window

Honesty control block in final window

At the start of the game in the match, each player selects an offset for his and his opponent’s sequences. A few seconds before the start of the game, changing the offset is prohibited. During the selection, you also see what offset the opponent sets. The image shows that your mix is 2, and the opponent is 4.


At the end of the match, in the honesty control block of the match results window, you can download the match log and copy the password from the shot archives. Then you can proceed to an independent check.


Checking of honesty control

  1. Download the archive with the name: nardgammon_game_{номер}_dices.zip. Внутри лежит файл nardgammon_{match no}_{game no}_dices_raw.txt in which there are two initial throw sequences.
    Player1 (white): 5:4 3:5 6:3 4:2 3:2 6:4 5:6 3:1 5:2 4:6 6:6 5:4 5:1 4:3 1:4 1:1 . . .
    Player2 (black): 1:4 1:3 1:6 6:1 6:2 3:5 4:2 2:2 3:6 2:3 1:4 5:4 6:1 4:1 1:5 2:6 . . .
  2. We look at what the displacement was. We remember at the beginning of the game or can be found in the log (history) of the match. In our example, the offset at white (white) was 4. At black (black) – 2
    In match notation, the offset is recorded in the field
    [Game {Order Number} “ID: {Global game number}. Start dice: white(4) black(2)”]
    Honest control. Match history with game offset
  3. To generate the final offset for each player, the following algorithm is used in its sequence:
    The number of the first throw, including the drawing of the first move, is determined by the formula:
    Start = (PlayerOffset – 1) * 2 + OpponentOffset
    Thus, the number of the first throw for White will be:  (4 – 1) * 2 + 2 = 8
    And for a player playing black drafts: (2 – 1) * 2 + 4 = 6
    Apply offset. Define the first move and subsequent throws of players.

    Player1 (white): 5:4 3:5 6:3 4:2 3:2 6:4 5:6 3:1 5:2 4:6 6:6 5:4 5:1 4:3 1:4 1:1 . . .
    Player2 (black): 1:4 1:3 1:6 6:1 6:2 3:5 4:2 2:2 3:6 2:3 1:4 5:4 6:1 4:1 1:5 2:6 . . .
  4. The drawing is determined by the first dice of the rolls. For white from the first throw 3: 1 we take the value of dice 3. For black from 3: 5 we take the value 3. They are equal, so the rally continues until one of the players wins.
    We take the following throws. For white 5: 2, we take 5. For black 4: 2 we take 4. In the rally, White wins the first move.
  5. Depending on the type of backgammon, the player can throw the first move, such as in long backgammon, and can use the last throw of the draw, as in short backgammon.
  6. Then, with each throw, the player receives a shot in a row from his sequence.


  • Can I hack the password for the archive? You can, but it will take several years
  • Is it possible to intercept or substitute the transfer of generated dice from the player?No, it’s impossible, all data between the players and the server is transmitted in encrypted form using the HTTPS protocol with a 256-bit key length. Also, that the data is reliably protected confirms the SSL certificate issued to our domain.
  • Is the password the same for both players? Yes the same
  • Can an opponent get a password before the end of the game? No, the password is sent from the server and shown to the player only at the end of all games at the end of the match
  • What happens when you cannot move? If the player cannot make a move, then the next value from the sequence will be selected by the dice in the next move


851 406
675 452
670 430

373 149
359 862
325 254