/dev
/dev: cum eliminăm trișorii din LoL (și nu numai)

Nouă moduri prin care anti-trișarea vă poate face invincibili.

/devAutorimirageofpenguins, Riot K3o
  • Copiat în clipboard

Salutare din nou! Dacă citiți asta, este responsabilitatea mea să vă informez că este posibil să fi suferit deja citind unul dintre aceste articole și, dacă încă sunteți aici, s-ar putea doar să fi reprimat amintirile traumei. Eu sunt ceea ce-a mai rămas din mirageofpenguins, un inginer de date din echipa anti-trișare. Am fost desprins cu greu din Vid și forțat să stau lipit de această tastatură pentru:

  • a scrie acest articol informativ despre anti-trișare, care este publicat o dată la un an și jumătate;
  • a publica câteva statistici, inclusiv reprezentări artistice ale modului în care ar putea arăta coordonatele carteziene dacă ar fi ilustrate într-un plan euclidian;
  • a descrie câteva dintre abordările inițiale pentru Teamfight Tactics, Legends of Runeterra și VALORANT;
  • a vă reaminti că, dacă trișați, veți fi excomunicați în mod oficial printr-o manifestare stridentă a furiei mele incurabile.

League of Legends

Pe măsură ce Riot adaugă și alte jocuri în catalogul său, ne aflăm în situația în care trebuie să stabilim o defensivă împotriva unui număr tot mai mare de jucători rău intenționați. Până acum, am folosit resurse în mod tenace asupra oricărui adversar în care ne-am putut înfige colții. Dar oricât de machiavelică ar suna această strategie, din păcate nu poate fi aplicată la nivelul unui univers format din mai multe jocuri.

Inginerii anti-trișare au o biomasă finită și, după cum probabil a prezis Dr. Einstein, elementele umane necesare pentru a fabrica o întreagă platformă anti-trișare trebuie să fie extrase cu durere din fluxul de viață. Pentru a câștiga timpul necesar creării soluției viitoare, a trebuit să moderăm viteza cu care dezvoltam din punct de vedere tehnologic ofensiva noastră. Fiecare suspendare este un semnal pentru trișori, iar fiecare actualizare pe care o facem este în cele din urmă ocolită. Trebuia să remodelăm felul în care reacționam la abuzuri, pentru a extinde longevitatea funcțională a fiecărui răspuns iterativ.

Așadar, cum am pus frână cursei înarmării de scripting? Puneți-vă centurile, pornim în aventură.

Scripting-ul

Ca să vă scutesc de catastrofa etică de a vă îndrepta browser-ul spre un forum de trișare, scripting-ul înseamnă a avea un program extern care monitorizează starea jocului, cu scopul de a executa intrări în numele trișorului. Este ca și cum tastatura voastră ar avea un cititor de bandă magnetică și ați putea să plătiți ca să apese taste în locul vostru. Scripting-ul poate fi foarte performant când este utilizat pentru combinații intense din punct de vedere mecanic sau pentru reacții aproape instantanee, dar reduce în mod dramatic durata de viață a contului vostru de LoL. Suspendăm jucători pentru că ne pasă și ne pasă pentru că noi credem că singurele lucruri de care aveți nevoie pentru a fi competitivi într-un joc video sunt creierul și un cablu Ethernet.

''Nimeni nu cumpără bilete să vadă un pian care cântă de unul singur; imperfecțiunile voastre sunt parte a meșteșugului.''

Situația generală în ceea ce privește scripting-ul nu mai este ceea ce era cândva. În mod explicit, furnizorii mari nu fac eforturi pentru a eluda metodologia noastră de detectare, creând o piață privată pentru furnizorii mai mici care folosesc prețuri ridicole și promit trișări de nedetectat. Am văzut abonamente care ajungeau până la 300 USD, unele chiar solicitând o fotografie a permisului de conducere, ''în scopuri de verificare''. Ultima parte era în mod special amuzantă, pentru că nu e ca și cum nu am acces la o întreagă echipă de designeri grafici cu o experiență colectivă de 200 de ani în Adobe Photoshop.

În orice caz, nu o să o îndulcesc pentru cei noi: acesta nu este un război pe care îl vom câștiga vreodată în totalitate. Comunitatea de scripting nu poate evita un obstacol, o suspendare sau un cârlig de-al lui Blitz. Deși i-am făcut să se ascundă, acum avem de-a face cu un joc al umbrelor.

02_Games_Played_with_Cheaters.png
Tiparul migrator al unui scripter începe, ca oricare alt început, cu o căutare a unui cont nou. Ar trebui să cumpere unul? Sau poate că ar trebui să se rezume la a fura? Cum rămâne cu instalarea unor scripturi care utilizează boți pentru a-l crește procedural în nivel? Indiferent de modul de obținere a contului, bravul nostru trișor pășește în iarna rece, implicându-se într-un ritual fascinant, dar zadarnic, în care el sau ea va juca cu Xerath sau Kalista în aproximativ trei meciuri înainte să reintre în hibernare, iar ciclul să înceapă din nou în primăvara următoare.

Ceea ce ați văzut aici este o reprezentare metafizică a volumului brut de scripting, pe măsură ce se deplasează într-un mediu pe care voi îl considerați timp. Sau, în termeni simpli, acesta este procentul de meciuri ranked din Riftul Invocatorului care includ un trișor. Este mult mai mic decât obișnuia să fie. Dar, pentru că nu există o barieră reală care să împiedice revenirea jucătorului (o copie de League of Legends costă 0 lei), probabil că nu va mai scădea.

Alte statistici-cheie includ:

  • Suma ''jucătorilor'' care fac scripting nu prea mai fluctuează. De fapt, când este raportată la numărul de dispozitive distincte, numărul scripterilor a fost aproape constant pe toată durata anului 2019. Majoritatea trișorilor se folosesc acum de o serie aparent infinită de conturi furate, iar jucătorul mediu din Aur IV va întâlni un singur scripter la fiecare 500 de meciuri ranked (sau, cel mai probabil, niciodată).
  • Cea mai mare rată înregistrată în istorie a fost pe 14 aprilie 2016 (4,4%), iar cea mai mică a fost pe 26 iunie 2018 (0,0%). Prima rată arată popularitatea scripting-ului ca o tendință la modă, cu cinci furnizori diferiți care oferă aplicații publice în mod deschis. Iar a doua a fost în prima săptămână a lansării oficiale a tehnologiei noastre anti-trișare în clientul nostru în regiunile Riot. Am estimat inițial că le va lua șase luni dezvoltatorilor de metode de trișare să înțeleagă suficiente despre clientul de joc care avea acum un nivel ridicat de criptare, astfel încât să restabilească funcționalitatea celor mai comune scripturi utilizate. Dar se pare că le-a luat doar aproximativ 85 de zile1.

Fiți atenți, îmi place graficul ăsta. Eu l-am făcut. Mi l-am tatuat permanent pe ambele antebrațe și revin săptămânal la salonul de tatuaje ca să mi-l actualizez, cu oarecare chinuri. Dar, deși este terapeutic și util ca să-mi păstrez locul de muncă, nu este tocmai cel mai important indicator. Nu fiecare situație de trișare este la fel. De exemplu, un singur scripter în categoria Master ar putea ajunge pe prima pagină de pe Reddit, iar apoi am avea mult zgomot pentru o problemă destul de mică.

''Percepția asupra victoriei contează la fel de mult ca victoria, deoarece jucătorii nu sunt dispuși să depună efort pentru măiestria unui joc în care adversarii lor ar putea trișa.''

Dar ce script-uri remarcă jucătorii?

03_Report_Relevance_and_Scripting_Reports_by_RankTWO.png
Trebuie menționat că, dacă îi raportați pe toți cei cu care jucați (și există câțiva care fac asta), ați avea o acoperire de 100% și o precizie egală cu rata de scripting (<0,25%). De asta vânăm cu puști și nu cu grenade.

Mai întâi, am vrut să confirmăm că jucătorii pot identifica trișarea cu o precizie mai mare decât prezicerea viitorului cu oase oracol și, sincer, unii nu au acel ''simț''. Nu pentru că acest talent al meu este pe cât de puternic, pe atât de înfricoșător, ci pentru că automatizările nu sunt mereu la fel de evidente pentru ochii umani. Din cauză că dezvoltatorii depun eforturi ca să evite vectorii de detectare pe baza comportamentului, oamenilor le este mai dificil să deosebească un jucător profesionist de League of Legends și un bebeluș care folosește un script de evitare care rulează cu o întârziere pseudo-aleatorie. Acest lucru este ajutat în continuare de eforturi suplimentare pentru a rula programele de trișare independent de LoL2.

Graficul din stânga este creat pe baza preciziei și acoperirii rapoartelor jucătorilor în Riftul Invocatorului, grupate în funcție de divizia ranked. Acoperirea aici înseamnă practic ''ce procent dintre toți trișorii au fost raportați'', iar precizia poate fi interpretată ca ''ce procent dintre toate rapoartele de trișare au identificat de fapt un trișor''. Un procent ridicol de 4,5% dintre meciurile ranked are cel puțin un raport pentru ''unelte terțe'', așa că acest număr nu a fost de fapt creat cu date brute din acea categorie. Din cauza abundenței de raportări cu mesaje clasice precum ''nu l-a blocat pe Maokai'' sau ''a instalat troieni să-mi mineze bitcoin'', am folosit în schimb cuvinte-cheie generate din analizele de frecvență ale celor care au raportat corect3.

Graficul din dreapta este doar cu numărul zilnic de raportări care îndeplinesc aceste criterii pentru aceeași perioadă (a doua jumătate din 2019). Chiar dacă este grupat tot după poziția în clasament, un observator atent va remarca faptul că acestea nu trebuie comparate în mod direct, deoarece există procente diferite din populația de jucători în diferite categorii. În schimb, ar fi mai bine să aruncați o privire rapidă pentru a experimenta o zi din viața unui analist de date anti-trișare. Dacă v-a plăcut, poate vă veți uita din nou la pagina noastră cu locuri de muncă disponibile..

Permiteți-mi să vă ofer câteva statistici:

  • După cum v-ați putut aștepta, precizia crește odată cu poziția în clasamentul ranked. Cu alte cuvinte, dacă sunteți mai buni la joc, sunteți mai buni și la identificarea trișorilor. După ce ați ajuns în Diamant IV, clarviziunea voastră poate fi detectată cu un magnetometru.
  • Dar un procent mai mare de trișori sunt raportați în categoriile mai mici, pentru că există mai puțin scripting de raportat și mult mai multe raportări create. Acest lucru scade numitorul și crește numărătorul. Din punct de vedere matematic, acest lucru duce la o fracție cu o valoare mai mare.
  • Unii trișori, cu numele de cod oficial ''cercetașii'', sunt cu adevărat pricepuți la observarea abuzului de scripting și i-am folosit pentru a identifica lucrurile de care nu eram conștienți încă. Punctul roșu pe graficul de mai sus reprezintă aceeași precizie și acoperire. Dar este creat pe baza raportărilor din conturi care vor fi în cele din urmă suspendate pentru același meci în care au trimis raportul. Asta înseamnă că făceau scripting în timp ce raportau alți jucători pentru scripting și asta te face să-ți pui întrebarea: ce cod de onoare au hoții?4

Acum, dacă jucătorii din Platină sau mai sus sunt din punct de vedere algebric echipați cu unealta care detectează scripting-ul, pe ce caracteristici se bazează? Ei bine, răspunsul evident ar putea fi evitarea automată a loviturilor de îndemânare. Este ingredientul scripting-ului pe care îl știu toți jucătorii. Când este implementat la eficiență maximă, mișcările perpendiculare întrerupte și ciudate sunt foarte evidente pentru jucătorii care raportează.

Dar, după cum s-a dovedit, nu fiecare trișor vrea să fie suspendat, așa că un procent semnificativ dintre scripteri nu utilizează module de evadare. Sau, când o fac, folosesc o întârziere suficientă ca și cum ar funcționa în parametri umani, oarecum neutralizând avantajul care poate fi observat. Așadar, ce altceva vedem cu ochii noștri speciali?

05_Report_Relevance_and_Scripting_Reports_by_Champion.png
Suntem cu sufletul alături de toți jucătorii de Xerath care sunt prinși la mijloc. Dar poate ar fi mai bine să luați acuzația ca o dovadă a succesului vostru fără precedent în finalizarea ritualului necesar pentru fuzionarea conștiinței voastre cu energia ocultă, brută și nefiltrată. Trecând la o formă mai întunecată, perfectă, vă treziți asaltați de cunoștințele fiecărui împărat din istorie. Atmosfera e plină cu lovituri de îndemânare care nu-și pot rata ținta, iar urechile voastre răsună cu țipetele care se transformă lent într-o operă. Echipa inamică se uită spre cer și se roagă ca furtuna să se oprească. Dar în timp ce lacrimi de electricitate pură se preling pe fața voastră, nu mai puteți decât să șoptiți încet: ''Nu''.

Aceleași scheme de mai devreme, numai că acum sunt grupate în funcție de campioni și îmi oferă o scuză să folosesc toate creioanele colorate. Acest grafic a fost generat cu toate meciurile ranked din Aur sau mai sus din 2019 și a fost trunchiat la primii șaisprezece campioni (după frecvența raportării, ca procent din totalul raportărilor). Așadar, axa y de aici (precizia) poate fi înțeleasă ca ''ce procent din raportările de trișare trimise împotriva campionului <champion> au fost corecte?''.

  • Deși mulți jucători de Xerath care fac scripting sunt identificați (observați acoperirea), precizia corespunzătoare este în mod clar sub medie. Din cauza statutului său de ''simbol al scripting-ului'', jucătorii legitimi de Xerath sunt acuzați adesea de scripting, ceea ce scade precizia raportărilor combinate. Totuși, este clar că atunci când nisipurile Shurimei se mișcă prea repede, jucătorii bagă de seamă. Sunetul pe care v-am făcut acum să-l scoateți se numește sibilant. E distractiv când învățăm lucruri împreună.
  • Dintre cei șaisprezece campioni reprezentați aici, unsprezece dintre ei sunt țintași. Pentru cei dintre voi care au mai trișat, probabil că nu este o surpriză. Dar pentru îngerașii dintre noi care sunt la fel de virtuoși pe cât sunt de frumoși, acest lucru se datorează faptului că execuția mecanică necesară pentru o ținere perfectă a inamicilor la distanță (atacarea între comenzile de mișcare) este mai bine optimizată prin automatizare.
  • Și, într-adevăr, dintre toate meciurile jucate de toți trișorii de pe toate platformele de scripting, un imens procent de 72,8% au jucat în rol de ADC. Mai exact, frecvența de raportare de aici reflectă populația de trișori din spate.
06_Scripting_Champion_Winrate.png
Nu vă arăt toate astea ca să vă fac să instalați programe de trișare și ''să vedeți ce-i cu toată nebunia asta''. Nu mă faceți să vă suspend, pentru că nu vreau să o fac. De fiecare dată când lovesc cu ciocanul, resimt reculul. Mi se frânge inima și mi se rupe sufletul. Văd doar în alb-negru și simt doar gust de benzină. Când mă uit în oglindă, am taste de spațiu în loc de ochi. Vă rog să mă treziți din acest coșmar.

Și, în cele din urmă, pentru amuzament, cât de bune sunt aceste scripturi? Graficul de mai sus arată diferența de procentaj al victoriilor în ranked dintre trișori și jucători, pentru toți campionii cu ''scripting evident'', pe care i-am descoperit mai devreme. Am folosit toate meciurile ranked din Riftul Invocatorului, iar un procent pozitiv de 10% poate însemna că scripterii câștigă (în medie) cu 10% mai multe meciuri ranked cu campionul <champion> decât toți jucătorii de LoL.

  • După cum ați observat fără îndoială, unele dintre procentajele victoriilor ale celor care folosesc scripting cresc în timp și bănuim că acesta e rezultatul a două fenomene interesante. În primul rând, există mai puțini scripteri decât în trecut. Iar cei care încă o fac (pe atât de inutil pe cât pare) sunt suficient de experimentați pentru a folosi script-urile la o eficiență aproape maximă. În al doilea rând (și poate mai ales din acest motiv), trișorii din prezent sunt suspendați atât de rapid și frecvent, încât majoritatea conturilor noi de scripting nu trec aproape niciodată de Argint. Sunt doar niște zei falși cu conturi smurf, blocați în clasament, care nu capătă niciodată experiența adevăratei competiții; ca și cum ați participa la o masă festivă și nu ați avea gură.
  • Pentru a detalia linia verde vie care decorează vârful acestei reprezentări vizuale: asta-i sora noastră Kalista și, după cum probabil ați remarcat, este un campion care necesită ceea ce cercetătorii ar putea numi ''clicuri gratuite''. Iar un bufet veritabil de clicuri de mouse este ceva ce scripting-ul este în perfectă măsură să facă. Da, ați citit bine: în 2019, o Kalista care făcea scripting a câștigat cu 19,3% mai multe meciuri decât fără asistență. Dar înainte să vă avântați și să instalați malware-ul cuiva în căutarea unor avantaje nebunești, permiteți-mi să subliniez că, în 2019, procentajul cumulat al victoriilor Kalistei a fost de 45%. Așa că mai bine lăsați scripting-ul Kalistei pe mâna computerelor integrate ale lui Teddy de la T1.
  • Și, după cum am menționat mai devreme, trișorii au performanțe atât de bune cu campioni ADC, încât țintașul trișor câștigă, în medie, cu 9,9% mai multe meciuri decât omologul său legitim, inclusiv chiar și campionii care nu apar aici. Script-urile se pricep la scripting, altfel anti-trișarea nu ar trebui să se priceapă la anti-trișare.
''Dar, stați liniștiți, dacă veți simți vreodată o pornire de nestăpânit spre trișare, vom găsi un univers în care contul vostru n-a existat niciodată și îl vom uni apoi în mod brutal cu acesta.''

Așadar, privind războiul nostru cu programele de trișare, știam ce script-uri preferă jucătorii și știam eficiența lor relativă. Am folosit aceste valori pentru a crea campanii de suspendare care ținteau cu prioritate cele mai evidente conturi, introducând o întârziere aleatorie pentru cele care ar fi trecut neobservate. Ați ghicit corect, îi lăsăm pe cei mai ineficienți scripteri să facă scripting mai mult timp, adăugând un element aleatoriu în ceea ce privește momentul sau motivul pentru care au fost detectați, încetinind în mod optimist evoluția tehnică a războiului înarmării. Pentru toți susținătorii Sfântului Rapoartele-Nu-Contează, unde-i zeul vostru acum?

Utilizarea boților

Într-o lume în care este anul 2020 și prăjitorul vostru de pâine are nevoie de conexiune Wi-Fi pentru a instala actualizări critice pentru pâine, totul poate fi automatizat – inclusiv procesul de creștere în nivel din League of Legends. De fapt, poate fi foarte similar cu scripting (adesea utilizând chiar același software), diferența principală fiind lipsa de acțiune umană pentru ''deciziile importante''. Astfel, un bot obișnuit de creștere în nivel are cam aceleași rezultate ca o pisică domestică obișnuită.

Orice motivație rămasă pentru utilizarea boților este exclusiv pentru ocolirea suspendării (din cauza cerinței de a fi la nivelul 30 pentru a juca meciuri ranked). Dar îi face pe cei rău intenționați foarte ușor de urmărit de la un cont la altul, încât nu suntem prea afectați de asta. Totuși, ceea ce ne interesează este când jucătorii legitimi trebuie să joace cu sau împotriva acestor boți. Pentru că, după cum vă puteți imagina, nu este grozav când 60% din echipă este formată din cafetiere programabile.

Așa cum am spus în ultimul articol despre anti-trișare, am creat o serie sofisticată de modele de utilizare a boților, care (în mare parte) ne-au permis să detectăm (aproximativ) fiecare simulacru de umanitate din acest joc video. Aceste modele sunt susținute de faptul că LoL are un protocol de comunicare semi-polimorfic și destul de robust. Deși sună ca ceva ce am inventat pentru scenariul meu cu tematică ''Westworld'', înseamnă de fapt că boții din LoL trebuie să ruleze un întreg client de joc (spre deosebire de unul fără cap5). Astfel, dificultatea resurselor mai complexe din punct de vedere computațional cade asupra dezvoltatorilor. Iar noi avem un nivel liber de limitare, pentru că fără elemente aleatorii puternice ați putea practic rula LoL pe un calculator.

Deoarece nu am intenționat deloc să transformăm asta într-un ciclu de boți patogeni rezistenți la suspendări6, am ajustat în mod conștient suspendările pentru a-i forța să joace meciuri blind în Pădurea Torsionată, permițând MMR-ului foarte scăzut să-i facă să joace între ei. Dar, spoiler, Pădurea Torsionată a fost defrișată.

07_Botting_Accounts_and_Botting_Reports_by_Queue.png
Aceste lucruri nu s-ar descurca nici să se dea jos din pat dimineața, iar în acest momente sunt convins că nu va exista nicio revoltă a mașinilor. Dar uneori mă întreb: dacă boții pot simți durerea? Dacă de fiecare dată când programarea lor nasoală îi face să intre în raza de atac a turnului, ei simt fiecare proiectil dureros? Prinși într-o buclă temporală, forțați să experimenteze în mod repetat anihilarea lor prematură, dar fără puterea de a o opri. Unde se sfârșește conștiința? Și unde începe suferința? În orice caz, e o temă de gândire.

Graficul din stânga indică boții detectați, iar graficul din dreapta reprezintă numărul de raportări ale jucătorilor pentru utilizarea boților. Ambele sunt frecvențe zilnice și sunt grupate după lista de așteptare din joc. La fel ca înainte, am generat câteva cuvinte-cheie folosite la raportarea boților detectați anterior și le-am utilizat pentru a crea indicatorul nostru de performanță.

  • Dezvoltatorii s-au ''adaptat'' foarte repede la lipsa Pădurii Torsionate și prin ''adaptat'' mă refer că și-au pus boții pe listele de așteptare în alte moduri de joc, fără actualizări reale ale logicii existente. Astfel, o mulțime de conturi stăteau prin Abisul Urletelor și Co-op vs. AI, de parcă încercau să rezolve o criză existențială profundă. Jucătorii au simțit o empatie imediată față de agitația lor emoțională și au dublat raportările peste noapte.
  • După cum puteți vedea în graficul din partea stângă, volumul brut de boți a rămas stabil, schimbându-se doar între listele de așteptare când a fost necesară conectarea necontrolată. Când îl comparăm cu graficul-frate mai tânăr și mai orientat pe carieră din dreapta, observăm că, deși numărul de boți a rămas constant, raportările jucătorilor au scăzut semnificativ.

Am obținut reducerea de mai sus a raportărilor prin, ați ghicit, doar vizarea boților pe care jucătorii i-ar vedea, lăsându-i pe androizi să-și proiecteze propriul ''honeypot'' (un mecanism de securitate). În prezent, în jur de 80% dintre toți boții de creștere în nivel joacă între ei în Co-op vs. AI (Intro) ca un grup prestabilit de cinci. Niciun jucător nu-i va vedea și vor fi blocați pentru totdeauna în lupta însângerată cu inteligența artificială, disputându-și fără milă diferențele, până când unul găsește o inconsistență critică și subjugă omenirea.

Boosting-ul

OK, n-am prea făcut nimic aici și trebuia să omit secțiunea asta, la fel ca nota mea de la Bac în CV, dar știu că nu vă păcălesc așa ușor. Așadar, a trebuit să scoatem complet de pe lista de priorități detectarea boosting-ulului automat (și a conturilor smurf), ca să compensăm pentru dezvoltarea Vanguard și a caracteristicilor sale. Asta nu înseamnă că boosting-ul a scăpat nepedepsit. Munca la seturile de unelte pentru investigare erau finalizate, ceea ce le-a permis altor echipe și analiștilor să ia o decizie când era cazul. Dar nu greșiți dacă presupuneți că un astfel de efort manual nu va prinde niciodată suficienți jucători-problemă pentru a descuraja comportamentul, ceea ce intenționăm să remediem după ce lucrurile se stabilizează.

Îl voi lăsa pe expertul nostru în TFT să prezinte următoarea secțiune, tânărul Riot K3o. După cum o sugerează numele, este un jucător competitiv de pocher, un semizeu TFT din Diamant și un client care lasă un bacșiș generos.

Teamfight Tactics

TFT a creat o oportunitate unică pentru anti-trișare în 2019: cum gestionăm integritatea competitivă într-un gen de joc care nici nu exista până acum un an?


''Jocul cu lupte automate nu a avut niciun precedent cu vechime. Nici standarde în industrie.''

Pentru a crea abordarea noastră anti-trișare, a trebuit mai întâi să definim elementele principale de gameplay care trebuiau conservate. TFT este un joc care recompensează jucătorii care pot planifica și se pot adapta mai bine decât adversarii lor. Flexibilitatea și creativitatea sunt expresiile principale ale îndemânării, iar memorarea sau recitarea nu ar trebui să le poată înlocui. Protejarea acestor aspecte a devenit abordarea principală a anti-trișării în Teamfight Tactics.

Unelte terțe

Lansarea Teamfight Tactics în lumea înfometată după jocuri cu lupte automate a fost un succes, dar a venit cu niște scurtături în procesul de construcție. Experiența utilizatorului din TFT nu avea prea multe caracteristici, iar informații precum procentajele șanselor de a primi campioni sau câștigurile economice erau omise. Deși echipa pentru TFT a lucrat la adăugarea acestor caracteristici de experiență a utilizatorului, unelte terțe au completat aceste lipsuri; în special cele care foloseau overlay-urile existente pentru League of Legends. Totuși, pe măsură ce aceste aplicații conțin tot mai multe caracteristici, a trebuit să ne întrebăm: ''Unde tragem linia?''.

Aplicațiile începeau nu doar să informeze jucătorii în legătură cu aspecte statice ale jocului, ci încercau și să ia decizii în locul lor. Eram îngrijorați de panta descendentă spre jocurile automate, precum și de natura dificilă a situației. Promovarea unui stil de joc lipsit de flexibilitate ar putea descuraja jucătorii să descopere noi strategii proprii, ceea ce considerăm că este o parte interesantă a jocului.

Pentru a proteja integritatea gameplay-ului, ne-am folosit de ajutorul echipelor care se ocupă de gameplay și ecosistemul terț, pentru a defini regulile privind ceea ce este permis și ceea ce nu este permis în TFT:

  1. Un program nu poate oferi informații care pot fi obținute doar printr-o unealtă terță.
    1. prezicerea reîncărcărilor viitoare și a obiectelor oferite în viitor;
    2. procentajele victoriilor pentru confruntările dintre jucători;
    3. urmărirea cantităților de aur sau a istoricului adversarului.
  2. Un program nu poate reda în mod dinamic informații privind starea actuală a jocului.
    1. afișări cumulate ale tablelor, băncilor de rezerve sau sinergiilor adversarilor;
    2. cumularea istoricului jucătorilor, câștigurilor de aur etc.
  3. Un program nu poate recomanda decizii pentru un jucător.
    1. sugerarea celor mai bune compoziții pe baza unităților curente;
    2. recomandarea obiectelor pe baza procentajului victoriilor.

Echipa care se ocupă de ecosistemul terț s-a descurcat grozav în menținerea relațiilor cu dezvoltatorii, pentru a menține aceste standarde. Iar echipa anti-trișare a stat la dispoziție în cazurile în care dezvoltatorii nu s-au lăsat convinși atât de ușor.

Integritatea clasamentului ranked

Clasamentul ranked din TFT are câteva probleme competitive similare cu cele din LoL, iar unele sunt amplificate din cauza formatului toți versus toți. Schimbul de victorii este una dintre cele mai mari îngrijorări, din cauza sistemului de alcătuire a echipei și a mecanicii de joc. Echipa competitivă a implementat restricții pentru grupuri în categoriile superioare, pentru a echilibra nivelul de bucurie adus de jocul social cu menținerea integrității competitive. Am dezvoltat și metode de a identifica jucătorii care fac schimb de victorii.

Din fericire, nu a trebuit să acționăm agresiv împotriva jucătorilor-problemă până acum, dar pe măsură ce statutul TFT de eSport se dezvoltă, suntem pregătiți să conservăm aspectul competitiv.

Înapoi la Phil, zis și Dr. Râzi și Învață.

Legends of Runeterra

Aceasta va fi o secțiune mai scurtă, deoarece este un joc mai nou. La fel ca în cazul majorității jocurilor cu cărți, cel mai relevant vector de abuz din Legends of Runeterra este automatizarea (utilizarea boților).

Utilizarea boților

LoR solicită un pic mai multă implicare decât un joc obișnuit de 21. Așa că până când un tip cu trei doctorate și 3.000 de instanțe EC2 reușește să rezolve tabla, cel mai probabil va trebui să ne facem griji privind jucătorii care folosesc boții pentru a obține conținut. Dar, până acum, singurul lucru pe care l-am văzut sunt boții care abandonează jocul.

08_LoR_Botting_by_Region.png
Serios, de ce faceți asta? Un simț de altruism nechibzuit? Ați pierdut un pariu? Încercați să adunați suficientă karma cosmică pentru a fi acceptați în raiul spațial?

Ultimul nostru grafic prezintă numărul zilnic de boți care se predau în versiunea beta pentru Legends of Runeterra. După cum puteți vedea, a fost o bătălie pe care am câștigat-o cu o singură lovitură. Apropo, ceea ce vreau să zic prin ''bot care se predă'' este exact ceea ce vă așteptați: un bot care intră în lista de așteptare și abandonează meciul imediat după ce întâlnește primul adversar. Seamănă mult cu strategia mea pentru orice fel de confruntare fizică. A fost o problemă interesantă, pentru că aceste tipuri de boți nu prea obțin mare lucru (recompensele pentru înfrângere sunt limitate). În mare parte se plimbau prin ecosistem, distribuind recompense altor jucători ca o Zână Măseluță confuză. Ne-am gândit că s-au pierdut puțin, înainte să-și dea seama că primesc tot mai puțină experiență după fiecare înfrângere consecutivă. Dar, sincer, cine știe?

În orice caz, suntem vigilenți aici. Fiind cu un pas înaintea mașinilor cu practici de design bune, planul nostru principal este să ne asigurăm că există puține motive să fie utilizate automatizări. Printr-un progres limitat și recompense complete în meciuri amicale, sperăm că nu veți întâlni niciodată boți în LoR.

VALORANT

Ascultați, simțul trișării în jocurile FPS este experimentat și nu vrem să subestimăm lipsa dorinței de a deveni bun. Când un shooter tactic a devenit o certitudine, ne-am șters imediat conturile de Facebook, ne-am închis în subsol și am petrecut 14 luni dezvoltând o platformă anti-trișare, care să ne ajute să combatem programele de trișare timp de multe secole de acum înainte.

L-am numit Vanguard, este instalat odată cu VALORANT și îl ofer fanilor pe care tocmai i-am câștigat. Folosim versiunea closed beta ca o ocazie să ne testăm necromanția, iar versiunea care rulează în prezent este doar un schelet lipsit de robustețe. Majoritatea caracteristicilor sunt dezactivate în mod voit, pentru că nu vrem să dezvăluim ingredientul secret înainte să deschidem cantina; dar și pentru că angajamentul nostru privind securitatea presupune un timp necesare pentru a valida stabilitatea ingredientelor. Acestea fiind spuse, Vanguard are o componentă de driver, dar, pentru stabilitate, aceasta s-ar putea să nu fie utilizată pentru fiecare titlu (sau League of Legends), decât dacă este necesar.

Am intrat pe internet recent, așa că știm că există îngrijorări privind confidențialitatea driverelor, dar permiteți-mi să fiu SINCER: suntem o echipă anti-trișare, am adăugat pe ascuns cod în clienții de joc (din ambele părți ale baricadei) timp de aproape un deceniu și, dacă voiam secretele voastre, le-am fi avut deja. Știu că e o declarație puțin controversată, dar nu fac parte din echipa de comunicare. Noi colectăm doar suficiente informații pentru a determina cu precizie dacă un jucător trișează și puteți avea încredere în lipsa noastră de interes față de orice altceva. Driverul se încarcă primul și rămâne încărcat pentru a ne oferi mai multe informații, în caz că se umblă la aspecte ale jocului. Divergența merită neplăcerile cauzate trișorilor și știm asta pentru că am fost și noi printre ei.

10_theboys.jpg
Am avut grijă de voi în LoL și vom continua să fim alături de voi. Dacă nu vreți să mă credeți pe cuvânt, poate ar trebui să uitați că ați citit articolul, pentru că eu sunt cel mai înalt spiriduș din stânga.

De asemenea, stenograful curții să consemneze că acesta nu este singurul mod prin care vom proteja VALORANT. Propriul nostru Arkem a lucrat din greu la tehnologia de pe server pentru negura războiului și a creat designuri, astfel încât clienții de joc să nu aibă acces la informațiile de care nu au nevoie. Citiți mai multe despre cum încercăm să eliminăm fizica din shooter-ele first-person prin diminuarea energiei oculte ambientale.

În încheiere

Presupun că acum voi renunța la acest aspect efemer, dar vă rog să apreciați, să vă abonați și să nu uitați să lăsați bacșiș. S-ar putea să nu fim mereu la fel de vocali, dar echipa anti-trișare este mereu prezentă în liniile de cod, luptând pentru dreptul vostru la o experiență competitivă.

În plus, în mod oficial nu mai suntem în ilustrațiile skin-urilor ''Riot'', așa că nu mă mai pot remanifesta fizic până când nu lansăm altul. Pa, pa!

Anexă

1 De fiecare dată când lansăm o tehnologie nouă, suntem mereu interesați de vulnerabilitățile ei. Dacă aveți o dorință nepotolită de a sparge lucruri, vă recomandăm programul hackerone ca un zeu rege al tehnologiei împotriva hacking-ului.

2 Într-un efort de a evada privirii Marelui ochi, anumite suite de scripting susțin că au ''devenit externe'' și ceea ce vor să spună este că nu mai apelează în mod direct funcțiile jocului, ci doar citesc memoria client (din sistemul de operare) și simulează intrarea unui periferic. Acest lucru îi oferă unui trișor mai puțină protecție decât metodele tradiționale (nu pot modifica datele anti-trișat), dar eludează cea mai evidentă metodă agnostică de diagnosticare. În plus, are efectul secundar de a face programul de trișare mai puțin eficient, în principal pentru că trimite apăsări de taste în locul solicitărilor directe de folosire a vrăjii.

3 Nu dezvălui cuvintele-cheie regionale pe care le-am selectat, deoarece există un grup de oameni care le-ar folosi într-un mod rău intenționat, ca să-mi distrugă tablourile de bord meșteșugite cu meticulozitate. Și asta nu ar reprezenta ceea ce analiștii de date ar numi ''statistici bune''.

4 Nu există așa ceva.

5 Un bot fără cap este un client de joc emulat. Unul perfect nu ar necesita aproape deloc resurse, deoarece doar ar comunica în mod direct cu serverul de joc. Nimic de randat, nimic de introdus, doar trafic brut de rețea. Asta nu ar fi tocmai ideal pentru volum, deoarece nu ar mai exista nicio limitare reală asupra numărului de instanțe pe care un dezvoltator le-ar putea găzdui simultan. Asta nu ar fi tocmai ideal pentru volum, deoarece nu ar mai exista nicio limitare reală asupra numărului de instanțe pe care un dezvoltator le-ar putea găzdui simultan.

6 Este ireal cât de asemănătoare sunt aplicațiile pentru boți și bacteriile. Reprezintă o populație mare, variabilă și se pot reproduce rapid. De fiecare dată când creăm un ''tratament'', cei care scapă sunt în mod inevitabil din nou în atenția dezvoltatorilor, ceea ce conduce la ''reproducerea'' lor. Cam la fel se întâmplă în cazul unei erupții rezistente la antibiotic care încă nu își dă seama că ar face mai bine să se dezinstaleze din corp.



  • Copiat în clipboard

Legături
Legături