Slik sikrer vi rettferdig spill

Et ordspill er bare så godt som motstanderen din. Her er hva vi gjør for å sikre at motstanderen ikke er en juksemaskin.

Sist oppdatert 17. april 2026 · Av Kurt Bijl

Kort fortalt: WordSalvo validerer trekk på serveren, sjekker fullførte PvP-kamper for mistenkelige spillemønstre og sammenligner resultatene med hver spillers baseline. AI-motstandere er alltid merket som AI – ingen boter forkledd som mennesker. Premium påvirker aldri brikketrekning, poengberegning eller ordboken.
WordSalvo-brett sett ovenfra med et diskré integritetsmotiv – konsentriske ringer som stråler ut fra midten, dannet av selve rutene.

Trekk sjekkes på våre servere, ikke på telefonen din

Trekk i WordSalvo sendes via en Firestore-transaksjon og kjøres gjennom den samme rene Dart-motoren som tegner brettet ditt – plasseringsregler, kryssord, multiplikatorer og ordbokgyldighet blir alle sjekket på serversiden. Ingenting en modifisert klient hevder om poeng eller ord, blir stolt på alene.

Ordboken er en DAWG (Directed Acyclic Word Graph), kompilert fra den samme ordlisten motstanderen din bruker. Engelsk bruker lister fra SOWPODS-familien; nederlandsk bruker OpenTaal-ordlisten. Filen er identisk på klient og server, så «det ordet finnes ikke i ordboken» kan aldri være en enhetsspesifikk uenighet.

Rapporter om manglende eller tvilsomme ord går gjennom en manuell gjennomgang – `reviewWordReport` Cloud Function – og ender opp i ordbokoppdateringer.

Fullførte PvP-kamper sjekkes for mistenkelige mønstre

Når en PvP-kamp på nett er ferdig, sjekker en Cloud Function spillet for mønstre som kan tyde på bruk av eksterne løsningsprogrammer. Denne fair play-sjekken er ment for å flagge mistenkelig spill, ikke for å vurdere treningskamper eller kvaliteten på spillet.

Denne sjekken – `fairPlayAnalysis`-funksjonen – bruker 14 vektede signaler. Blant dem: brillianse på ≥98 % gjennom en hel kamp, perfekte rekker på sju eller flere trekk, variasjonskoeffisient for tenketid under 0,3 (mennesker ligger over ca. 0,5), raske og presise trekk under tre sekunder med >80 % nøyaktighet, og perfeksjon i komplekse situasjoner der du finner det beste trekket med over 200 lovlige alternativer. Korte kamper under åtte trekk får en redusert konfidensmultiplikator på 0,2–0,8×, fordi små utvalg kan lyve.

Hvert signal vurderes kun i forhold til deg. WordSalvo vedlikeholder en løpende baseline over 20 kamper per spiller og ser etter avvik – å slå ditt eget gjennomsnitt med mer enn 2,5σ vekker oppsikt; å jevnt over være en sterk spiller gjør det ikke.

Liten redaksjonell graf: en spillers brilliansfordeling som en myk, marineblå kurve, med én prikk omtrent tre standardavvik til høyre for toppen.

Ekte mennesker som standard – AI er alltid merket som AI

Online matchmaking henter fra en Firestore-kø med et ratingvindu på ±200 poeng. Motstanderen du får, er et annet menneske som er i den samme køen. Vi lager ikke fiktive kontoer, vi bruker ikke boter med menneskelige navn, og vi fyller ikke opp lobbyen med statister.

AI-motstandere finnes på fire vanskelighetsgrader – enkel, middels, vanskelig og ekspert – og de kjøres i en Cloud Function (`onAiTurn`), noe som betyr to ting. For det første: en AI-kamp krever internettforbindelse. For det andre: hver AI-motstander har en tydelig «AI»-merkelapp på spillkortet og poengtavlen. Hvis det ikke står AI, er det ikke AI.

Et spillkort i lobbyen med plass til én motstander, som tydelig viser en AI-merkelapp ved siden av motstanderens navn og en pille for vanskelighetsgrad.

Premium endrer ingenting som avgjør en kamp

WordSalvo har to betalingsalternativer, og ingen av dem påvirker selve spillet. Et engangskjøp for Ad-Free fjerner banneret i lobbyen og reklamen mellom kampene. Det planlagte Word Master-abonnementet låser opp dypere spillanalyse, ubegrensede forsøk på daglige oppgaver, Word Book, prioritert matchmaking og kosmetiske temaer.

Hva Premium ikke endrer: brikketrekningen din (posen stokkes av `tile_bag.dart` uten rettighetssjekk), ordboken (samme DAWG for alle spillere på samme språk), poengberegningen din (motorberegnede multiplikatorer, ingen skjult bonus) eller matchmaking-rekkevidden din – prioritet påvirker kun køposisjonen, ikke motstanderens rating.

Med andre ord: to gratisspillere kan nå toppen av en ledertavle kun ved å bruke appen. 0 % av kjøp i appen kjøper deg en seier.

Chatten har filter; spillere har blokkering, demping og rapportering

Hver chatmelding går gjennom `onChatMessage` Cloud Function, som bruker et server-side giftighetsfilter før meldingen når den andre spilleren. Filteret er ikke perfekt – ingen automatiserte filtre er det – så hver melding er også bare ett trykk unna rapportering, blokkering eller demping.

Rapporter lagres i Firestore og gjennomgås av oss. Blokkeringer er gjensidige: en blokkert spiller kan ikke invitere deg, spille mot deg eller chatte med deg. Demping er lokalt og stille. En spiller som samler opp bekreftede rapporter, håndteres manuelt – vi utestenger ikke automatisk, og vi er åpne om handlingene våre.

Hva skjer med en flagget spiller

Fair play-dommen (`games/{gameId}/analysis/fairPlay`) er kun tilgjengelig for Cloud Functions – Firestore-regler hindrer klienter i å lese den, slik at en flagget spiller ikke kan se poengsummen og justere seg etter den. Spillerbaseliner på `users/{uid}/fairPlayBaseline/{statsKey}` kan kun leses av eieren.

Når en kamp flagges med høy sikkerhet, gir fair play-systemet WordSalvo et tydeligere grunnlag for gjennomgang og handling. Det er designet for å bygge tillit i PvP uten å late som om noe anti-juksesystem fanger opp alt.

Hvis du mener du har blitt flagget feilaktig, kan du kontakte oss via Innstillinger → Hjelp. Vi lagrer en spillerhistorikk som er lang nok til å forklare avgjørelsen.

Vanlige spørsmål

hva regnes som juks i WordSalvo?
Å bruke en ekstern motor, et løsningsprogram eller et anagramverktøy for å velge trekk. Å dele en konto på tvers av flere rangerte kamper. Å samarbeide med en motstander for å tape med vilje eller øke en rating. Å utnytte en feil for å sende inn et ugyldig brett. Normal øving – å lese en ordbok, trene mot AI, lære av spillanalyser – er ikke juks.
hvordan sjekker dere for mistenkelig motorbruk?
Analyse av mistenkelige mønstre per kamp, kombinert med din egen løpende baseline. Serveren ser på brilliansfordeling, perfekte rekker, variasjon i tenketid, hastighet mot nøyaktighet og bingofrekvens, og spør deretter om denne kampen er langt over ditt normale nivå. Én strålende kamp alene er ikke nok.
finnes det boter som utgir seg for å være menneskelige motstandere?
Nei. Online matchmaking finner ekte spillere fra en Firestore-kø med et ratingvindu på ±200 poeng. AI-motstandere finnes på nivåene enkel, middels, vanskelig og ekspert, og hver av dem har en tydelig AI-merkelapp på spillkortet og poengtavlen.
hva om jeg blir flagget ved en feil?
Vi gjennomgår flaggede kamper manuelt før vi iverksetter tiltak, og vi informerer deg når vi gjør det – ingen stille utestengelser. Hvis du mener vi har gjort en feil, kontakt oss via Innstillinger → Hjelp. Baselinen er løpende, så én uvanlig sterk kamp vil ikke stemple deg.
gir det meg en fordel å betale for Premium?
Nei. Premium fjerner reklame, legger til dypere spillanalyse, gir ubegrensede forsøk på daglige oppgaver, Word Book og kosmetiske temaer. Det endrer ikke brikketrekning, ordboken, poengberegning eller ferdighetsnivået til motstanderne. En gratisspiller kan nå toppen av en ledertavle.
er ordboken den samme for alle?
Ja. Hver spiller på et gitt språk spiller mot den samme DAWG-kompilerte ordlisten, levert som en identisk fil på klient og server. Engelsk bruker lister fra SOWPODS-familien; nederlandsk bruker OpenTaal. Rapporter om manglende eller feil ord går gjennom en manuell gjennomgang.
Fair play i WordSalvo: PvP-kontroller, ingen skjulte boter