Backgammon – Transparency & Security
What Is Server-Authoritative?
The server validates all game actions. Your device only displays the game state — it can't modify or influence outcomes.
The server controls:
- Dice generation
- Move validation
- Timer management
The player controls:
- When the dice are generated
- Checker movement
How Are Dice Generated?
All dice rolls are generated on the server using Rust's rand crate:
- Each die roll is a random number from 1 to 6
- Unbiased rolls — each value (1–6) has equal probability
- Cryptographically secure RNG (ChaCha-based, same class used in TLS)
- Seeded from operating system entropy — the gold standard for randomness
- Uses Rust's standard random number generator (rand crate v0.10)
View Source Code
// engine/src/manager/dice_manager.rs
let value = rand::rng().random_range(1..=6);rand 0.10 — Rust's most trusted randomness library (500M+ downloads)
Who Goes First?
The server randomly decides which player goes first:
- Uses a random boolean (true/false) to select the starting player
- Each player has exactly a 50% chance to start
- Neither player is more likely to go first
Why Does This Matter?
- Cheating isn't possible — all game logic runs on the server
- Every decision (dice, moves, wins) is validated server-side
- Your device only displays what the server tells it
- The server is the single source of truth — no one can manipulate outcomes
Paid Content
Items like tea and checker skins are about personal style.
- Earned through play, or available to purchase
- No effect on game results