Backgammon – Åpenhet og sikkerhet
Hva betyr serverstyrt?
Serveren validerer alle spillhandlinger. Enheten din viser bare spilltilstanden – den kan ikke endre eller påvirke utfallet.
Serveren kontrollerer:
- Terninggenerering
- Trekkvalidering
- Tidtaking
Spilleren kontrollerer:
- Når terningene genereres
- Brikkeflytting
Hvordan genereres terningene?
Alle terningkast genereres på serveren ved hjelp av Rusts rand-crate:
- Hvert terningkast gir 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 (over 500 millioner nedlastinger)
Hvem begynner?
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
- Loddtrekningen favoriserer ingen av spillerne
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 har alltid siste ord – 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