2.1 KiB
2.1 KiB
F0 anti-cheat regler — Fup og Fakta
Formål
Fastlæg simple, håndhævelige anti-cheat regler for F0, så runderne opleves fair uden tung NLP/moderation.
Scope (F0)
Gælder for inputfasen hvor spillere indsender løgne til et spørgsmål.
Regelsæt (F0)
1) Ingen identiske løgne i samme runde
- To spillere må ikke have samme løgntekst efter normalisering.
- Hvis en indsendt løgn matcher en eksisterende løgn i runden, afvises den med fejlbesked og spilleren skal indsende ny tekst.
2) Ingen løgn må være identisk med korrekt svar
- En løgn, der matcher det korrekte svar efter normalisering, afvises.
3) Ingen tomme eller trivielt ugyldige svar
- Tom tekst, kun whitespace eller kun tegnsætning afvises.
- Minimumslængde: 2 tegn efter trim.
4) Én aktiv løgn pr. spiller pr. spørgsmål
- Spilleren må gerne overskrive sin egen løgn inden deadline.
- Ved deadline er kun seneste gyldige version gældende.
5) Ingen afslørende metatekst
- Svar som eksplicit afslører bluff-mekanikken (fx “det rigtige svar er …”, “jeg lyver”) afvises i F0 via enkel nøgleordsblokliste.
Normalisering (bruges i regel 1 + 2)
Følgende normalisering anvendes før sammenligning:
- Unicode NFKC
- Trim + collapse af flere mellemrum til ét
- Lowercase
- Fjern afsluttende tegnsætning (
.,,,!,?,:;)
Bemærk: F0 bruger ikke semantisk duplikatdetektion (synonymer/stavevarianter kan passere).
Håndhævelse i UX/API
- Validering sker server-side ved submit.
- Klienten får konkret fejlårsag og kan indsende igen inden tidsfrist.
- Samme valideringsregler gælder for alle klienter (web/mobil).
Acceptance criteria (F0)
- Identiske løgne (efter normalisering) kan ikke gemmes i samme runde.
- Løgn == korrekt svar (efter normalisering) kan ikke gemmes.
- Tom/ugyldig input afvises.
- Overskrivning af egen løgn inden deadline virker.
- Ved deadline bruges kun seneste gyldige løgn.
Out-of-scope (bevidst udskudt)
- Semantisk duplikatdetektion (embeddings/fuzzy matching)
- Avanceret toxicitet/moderation
- Sprogdetektion og translitterering