Backgammon – Åpenhet og sikkerhet
Hva er server-autoritativt?
Serveren validerer alle spillhandlinger. Enheten din viser bare spilltilstanden – den kan ikke endre eller påvirke utfallet.
Serveren kontrollerer:
- Terninggenerering
- Trekkvalidering
- Timerstyring
Spilleren kontrollerer:
- Når terningene genereres
- Brikkebevegelse
Hvordan genereres terningene?
Alle terningkast genereres på serveren ved hjelp av Rusts rand-crate:
- Hver terning genererer et tilfeldig tall fra 1 til 6
- Upartiske kast – hver verdi (1–6) har lik sannsynlighet
- Kryptografisk sikker RNG (ChaCha-basert, samme klasse som brukes i TLS)
- Seedet fra operativsystemets entropi – gullstandarden for tilfeldighet
- Bruker Rusts standard tilfeldighetsgenerator (rand-crate v0.10)
Se kildekoden
// engine/src/manager/dice_manager.rs
let value = rand::rng().random_range(1..=6);rand 0.10 – Rusts mest betrodde tilfeldighetsbibliotek (500M+ nedlastinger)
Hvem starter først?
Serveren bestemmer tilfeldig hvilken spiller som starter:
- Bruker en tilfeldig boolsk verdi (true/false) for å velge startspilleren
- Hver spiller har nøyaktig 50 % sjanse til å starte
- Ingen spiller har en fordel
Hvorfor er dette viktig?
- Juks er umulig – all logikken i spillet kjører på serveren
- Alle avgjørelser (terninger, trekk, seire) valideres på serveren
- Enheten din viser bare det serveren forteller den
- Serveren er den eneste kilden til sannhet – ingen kan manipulere utfallet
Betalt innhold
Gjenstander som te og brikkedesign handler om personlig stil.
- Tjenes gjennom spill, eller kan kjøpes
- Ingen effekt på spillresultater