[wouso-dev] Abordare security features

Alex Eftimie alex at eftimie.ro
Sat Sep 15 19:10:34 EEST 2012


2012/9/15 Vicentiu Ciorbaru <cvicentiu at gmail.com>:
>> De principiu sună ok. Dacă am înțeles bine, se analizează timpii, iar
>> un membru Staff decide dacă să facă o penalizare - apăsând un buton,
>> se aplică o formulă negativă.
>
> Nu chiar. Ceea ce vreau să spun este că sistemul analizeaza el timpii si
> daca observa ca au fost foarte mici, crește probabilitatea de fraudă a
> jucatorului atomat. Un Staff poate vedea probabilitatilor jucătorilor.
> Probabilitatea în sine nu are un efect negativ asura jucătorului. Acestea au
> rolul de a-i sublinia pe userii ce trebuie urmăriți mai îndeaproape. Astfel
> Staff-ul știe unde să se uite mai atent (să analizeze o listă a
> provocărilor, o listă a spelurilor date etc.) Un om e în stare să-și dea
> seama destul de  ușor (zic eu) dacă cineva încearcă să umfle punctajul altui
> jucător.

Da, are sens. Mă temeam de soluții automate, care să depuncteze doar
bazându-se pe suspiciuni.

>> Poți te rog exemplifica coloanele modelului/tabelei de date de securitate?
>
>
> Ca să fiu mai specific, ma gândesc la următoarea structura a tabelelor:
>
> Formule - ce acțiuni duc la creșterea probabilității de fraudă. (Foarte
> asemănător cu condițiile în care se primesc achievement-uri)
> Penalizări - tabel ce contine actiuni ce au dus la penalizare, valoarea
> penalizarii. Se poate face o sumă pe toate rândurile unui utilizator și se
> obtine penalizarea (probabilitatea) totală. Staff-ul vede acest total și
> investighează.
>
> Penalizările pot avea anumite id-uri (exemplu challenge-lost-on-purpose ->
> penalizare 2%). (Iarăși seamănă foarte mult cu achievementurile i guess)
> Formulele reprezintă efectiv valoarea penalizării. În cazul de mai sus 2%.

Crazy idea: why not use the existing scoring module?

Wouso permite definirea de monede personalizate, hai să zicem că avem
o monedă: puncte-penalizare. Formulele vor fi ceva de genul:

 cheat-on-action:
      puncte-penalizare=2 if conditie else 0

Iar scoring.score(player, 'cheat-on-action') va da un amount de
puncte-penalizare.

Practic, un player, va avea pe lângă puncte și gold și un set de
puncte de penalizare; cu cât are mai multe, cu atât suspiciunea e mai
mare asupra lui.

> Sper că e mai clar acum. :)
>
> Crits / comments welcomed.

Susțin propunerea ta, de a avea un App separat Security, care să
rețină logica pentru penalizări. Va fi probabil implemenentat
asemănător cu wouso.interface.activity.achievements, la modul: ascultă
la semnale (precum răspuns qotd, finalizat challenge, cast spell) și
ia decizii de penalizare folosind formulele interne. Ce părere ai?

Pentru asta, avem în primul rând nevoie să emitem aceste semnale,
asemănător cum recent am adăugat semnal de seen[1] pentru a putea
analiza și acorda achievement pentru cei care se loghează 10 zile
consecutive.

Alex

[1] https://github.com/rosedu/wouso/blob/master/wouso/middleware/seen.py#L14


More information about the wouso-dev mailing list