Eerlijk spel en PvP-controles

Een woordspel is zo goed als je tegenstander. Dit is wat we doen om te zorgen dat die tegenstander geen 'solver' gebruikt.

Laatst bijgewerkt 17 april 2026 · Door Kurt Bijl

Kort gezegd: WordSalvo valideert online zetten op de server en controleert voltooide PvP-potjes op verdachte patronen. AI-tegenstanders zijn altijd als AI gelabeld — geen bots die zich voordoen als mensen. Premium heeft geen invloed op de letters die je trekt, de score of het woordenboek.
WordSalvo-bord van bovenaf met een motief van integriteit: een subtiel ringpatroon straalt uit vanuit de middenster.

Zetten worden op onze servers gecontroleerd, niet op je telefoon

Online zetten in WordSalvo worden ingediend via een Firestore-transactie en door dezelfde pure Dart engine gehaald die je speelbord tekent. Plaatsingsregels, kruiswoordvorming, bonusvermenigvuldigers en de geldigheid van woorden worden allemaal op de server toegepast. We vertrouwen nooit blindelings op de score of het woord dat een aangepaste client claimt.

Het woordenboek zelf is een DAWG (Directed Acyclic Word Graph), samengesteld uit dezelfde woordenlijst die je tegenstander gebruikt. De Engelse versie is gebaseerd op lijsten uit de SOWPODS-familie; de Nederlandse gebruikt de woordenlijst van OpenTaal. Het bestand is byte-identiek op de client en de server, dus "dat woord staat niet in het woordenboek" kan nooit een apparaatspecifiek geschil zijn.

Meldingen van ontbrekende of twijfelachtige woorden worden door een mens beoordeeld — via de `reviewWordReport` Cloud Function — en verwerkt in woordenboekupdates.

Voltooide PvP-potjes worden gecontroleerd op verdachte patronen

Wanneer een online PvP-spel eindigt, controleert een Cloud Function het voltooide spel op patronen die duiden op het gebruik van een externe 'solver'. Deze fair-play-controle is bedoeld om verdacht spel te signaleren, niet om oefenpotjes te beoordelen of de kwaliteit van je spel te coachen.

Die controle — de `fairPlayAnalysis`-functie — gebruikt 14 gewogen signalen. Daaronder vallen: een Brilliancy Score van ≥98% over een heel spel, een reeks van zeven of meer perfecte zetten, een variatiecoëfficiënt in denktijd onder 0,3 (mensen zitten boven ~0,5), snelle en accurate zetten onder de drie seconden met >80% nauwkeurigheid, en perfectie in complexe situaties waar je de beste zet vindt uit meer dan 200 legale opties. Korte spellen met minder dan acht zetten krijgen een lagere betrouwbaarheidsfactor (0,2–0,8×), omdat kleine steekproeven onbetrouwbaar zijn.

Elk signaal is alleen relevant in verhouding tot jou. WordSalvo houdt een doorlopend gemiddelde per speler bij over 20 spellen en kijkt naar afwijkingen. Als je meer dan 2,5σ boven je eigen gemiddelde presteert, trekt dat de aandacht; een speler die consistent sterk is, niet.

Kleine grafiek: de briljantiescore van een speler als een curve, met een punt dat drie standaarddeviaties afwijkt.

Standaard echte mensen — AI is altijd als AI gelabeld

Online matchmaking zoekt in een Firestore-wachtrij binnen een rating-venster van ±200 punten. De tegenstander die je krijgt, is een andere menselijke speler in die wachtrij. We creëren geen neppe accounts, we gebruiken geen bots met menselijke namen en we vullen de lobby niet aan met opvulling.

AI-tegenstanders bestaan wel op vier moeilijkheidsniveaus — makkelijk, gemiddeld, moeilijk en expert — en draaien in een Cloud Function (`onAiTurn`). Dat betekent twee dingen. Ten eerste: voor een spel tegen de AI heb je een netwerkverbinding nodig. Ten tweede: elke AI-tegenstander heeft een expliciet "AI"-label op de spelkaart en het scorebord. Als er geen AI staat, is het geen AI.

Een lobbykaart van een spel met een duidelijke AI-tag naast de naam van de tegenstander en een moeilijkheidsgraad-label.

Premium verandert niets aan de uitkomst van een spel

WordSalvo heeft twee betaalde opties en geen van beide heeft invloed op het spelbord. Een eenmalige Ad-Free aankoop verwijdert de banner in de lobby en de advertentie tussen spellen door. Het geplande Word Master-abonnement ontgrendelt diepgaandere analyses na het spel, onbeperkte herkansingen voor dagelijkse puzzels, het Woordenboek, voorrang bij matchmaking en cosmetische thema's.

Wat Premium niet verandert: de letters die je trekt (de zak wordt geschud door `tile_bag.dart` zonder te controleren op rechten), het woordenboek (elke speler in een taal gebruikt dezelfde DAWG), je score (berekend door de engine, geen verborgen bonussen) of je matchmaking-bereik — voorrang beïnvloedt alleen je positie in de wachtrij, niet de rating van je tegenstander.

Kortom: twee gratis spelers kunnen de top van een scorebord bereiken met niets meer dan de app. 0% van de in-app aankopen levert een overwinning op.

De chat heeft een filter; spelers kunnen blokkeren, dempen en rapporteren

Elk chatbericht gaat door de `onChatMessage` Cloud Function, die een toxiciteitsfilter op de server toepast voordat het bericht de andere speler bereikt. Het filter is niet perfect — geen enkel geautomatiseerd filter is dat — dus elk bericht is ook één tik verwijderd van een rapportage, blokkering of demping.

Rapportages worden opgeslagen in Firestore en door ons beoordeeld. Blokkeringen zijn wederzijds: een geblokkeerde speler kan je niet uitnodigen, tegen je spelen of met je chatten. Dempingen zijn lokaal en stil. Een speler die meerdere bevestigde rapportages verzamelt, wordt handmatig behandeld — we bannen niet automatisch en we communiceren altijd als we actie ondernemen.

Wat gebeurt er met een gemarkeerde speler

Het fair-play-oordeel (`games/{gameId}/analysis/fairPlay`) is alleen toegankelijk voor Cloud Functions — Firestore-regels verhinderen dat clients dit kunnen lezen, zodat een gemarkeerde speler zijn score niet kan zien en zijn gedrag daarop kan aanpassen. De persoonlijke basislijn op `users/{uid}/fairPlayBaseline/{statsKey}` is alleen leesbaar voor de eigenaar.

Wanneer een spel met hoge zekerheid wordt gemarkeerd, geeft het fair-play-systeem WordSalvo een duidelijkere basis voor beoordeling en actie. Het is ontworpen om het vertrouwen in PvP te ondersteunen, zonder te pretenderen dat een anti-cheatsysteem alles vangt.

Als je denkt dat je onterecht bent gemarkeerd, neem dan contact op via Instellingen → Help. We bewaren de spelgeschiedenis per speler lang genoeg om onze beslissing toe te lichten.

Veelgestelde vragen

wat telt als valsspelen in WordSalvo?
Het gebruik van een externe engine, 'solver' of anagram-tool om je zetten te kiezen. Een account delen voor meerdere spellen met rating. Samenspannen met een tegenstander om een spel te verliezen of een rating te beïnvloeden. Een bug misbruiken om een ongeldig bord in te dienen. Normaal studeren — een woordenboek lezen, oefenen tegen de AI, leren van analyses na het spel — is geen valsspelen.
hoe controleren jullie op verdacht engine-gebruik?
Via een analyse van verdachte patronen per spel, gecombineerd met je eigen doorlopende basislijn. De server kijkt naar de verdeling van briljantiescores, reeksen perfecte zetten, variatie in denktijd, snelheid versus nauwkeurigheid en de frequentie van bingo's, en vraagt zich dan af of dit spel ver boven je normale niveau ligt. Eén briljant spel is op zichzelf niet genoeg.
zijn er bots die zich voordoen als menselijke tegenstanders?
Nee. Online matchmaking koppelt je aan echte spelers uit een Firestore-wachtrij met een rating-venster van ±200 punten. AI-tegenstanders bestaan op de niveaus makkelijk, gemiddeld, moeilijk en expert, en elk van hen heeft een expliciet AI-label op de lobbykaart en het scorebord.
wat als ik onterecht word gemarkeerd?
We beoordelen gemarkeerde spellen handmatig voordat we actie ondernemen, en we laten het je weten als we dat doen — geen stille bans. Als je denkt dat we een fout hebben gemaakt, neem dan contact op via Instellingen → Help. Je basislijn is doorlopend, dus één ongewoon sterk spel stempelt je niet voor altijd.
geeft betalen voor Premium mij een voordeel?
Nee. Premium verwijdert advertenties, voegt diepgaandere analyses na het spel toe, geeft onbeperkte herkansingen voor dagelijkse puzzels, het Word Book en cosmetische thema's. Het verandert niets aan de letters die je trekt, het woordenboek, de puntentelling of het vaardigheidsniveau van je tegenstander. Een gratis speler kan de top van een scorebord bereiken.
is het woordenboek voor iedereen hetzelfde?
Ja. Elke speler in een bepaalde taal speelt met dezelfde, in een DAWG gecompileerde woordenlijst, die als een identiek bestand op de client en de server wordt geleverd. De Engelse versie gebruikt lijsten uit de SOWPODS-familie; de Nederlandse gebruikt OpenTaal. Meldingen van ontbrekende of foute woorden worden door een mens beoordeeld.
Eerlijk spel in WordSalvo: PvP-controles, geen bots