Backgammon – Transparency & Security
What is Server-Authoritative?
The server validates all game actions. Your device only displays the game state - it cannot 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 generates 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 Starts 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 has an advantage
Why Does This Matter?
- Cheating is not 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