Fejlesztői napló: Csalók eltávolítása a LoL-ból (és azon túl)

9 mód arra, hogyan lehetsz sebezhetetlen csalás elleni védelemmel

Üdv ismét! Ha ezt olvasod, hippokratészi kötelességem szerint tájékoztatnom kell arról, hogy valószínűleg átéltél egy ilyet, és ha még mindig itt vagy, akkor csupán elnyomtad magadban a trauma emlékeit. Szóval már csak én, az adatmérnök maradtam a mirageofpenguins csalásellenes csapatból, és a bennem tátongó üresség szörnyű kínjai között, a billentyűzetemmel undorító polimerré alakulva kell:

  • Kiküldenem a másfélévenkénti csalásellenes hírlevelet.
  • Ismertetnem a legújabb szkriptelési statisztikákat, többek között az euklidészi térben renderelt Descartes-féle koordináták művészi ábrázolásait.
  • Megosztanom a Teamfight Tactics, a Legends of Runeterra és a VALORANT kezdeti megközelítéseit.
  • Emlékeztetnem arra, hogy ha csalsz, formálisan ki leszel közösítve csillapíthatatlan haragom visító manifesztációja által.

League of Legends

Ahogy a Riot újabb és újabb játékkal bővíti a kínálatot, azt vesszük észre, hogy fel kell állítanunk egy védelmet a rosszindulatú személyek egyre növekvő számú tábora ellen. Eddig csupán kitartóan rázúdítottuk az erőforrásainkat minden ellenségre, akibe bele tudtuk vájni a fogunkat, ugyanakkor bármennyire is machiavellistának hangzik ez a stratégia, sajnos nem terjeszthető ki a több játékot is magában foglaló világra.

A csalásellenes mérnökök véges biomasszával rendelkeznek, és ahogy Einstein valószínűleg megjósolta, a teljes csalásellenes platform létrehozásához szükséges humán elemeket kegyetlenül ki kell vonni az élet folyásából. Hogy a jövő megoldásának kifejlesztéséhez időt nyerjünk, szabályoznunk kellett azt a sebességet, amellyel technológiai előnyökhöz juttatjuk az ellenfeleinket. Minden meglóbált kalapács egy jel a csalóknak, akik előbb-utóbb minden kiadott frissítést megkerülnek. Át kellett alakítanunk a visszaélésekre adott reakciónkat, hogy kibővíthessük az egyes iteratív válaszok funkcionális élettartamát.

Hogyan fékeztük meg tehát a fegyverkezési versenyt a szkriptelés terén? Öveket becsatolni, indulunk!

Szkripteken alapuló csalás

Mivel szeretnénk megkímélni attól az erkölcsi katasztrófától, hogy meg kelljen nyitnod egy csalással kapcsolatos fórumot: a szkriptelés azt jelenti, hogy egy külső program figyeli a játék állapotát annak érdekében, hogy a csaló nevében műveleteket hajtson végre. Ez nagyjából olyan, mintha a billentyűzetednek lenne egy mágnescsík-olvasója, és fizethetnél azért, hogy gombokat nyomkodjanak a nevedben. A szkriptelés nagyon hatékony tud lenni, ha mechanikusan erős kombinációkhoz vagy szinte azonnali reakciókhoz alkalmazzák, azonban drámaian lecsökkenti a LoL-fiókod élettartamát. Ezt azért tiltjuk, mert törődünk a játékkal és a játékosokkal, és azért tartjuk fontosnak, mert úgy gondoljuk, hogy ahhoz, hogy egy videojátékban versenyképes lehess, csakis az agyadra és egy Ethernet-kábelre van szükséged.

„Senki nem vesz jegyet arra, hogy megnézzen egy önmagán játszó zongorát, a tökéletlenség a mesterség része.”

A szkriptelési világ már nem olyan, mint régebben volt. A nagyobb szolgáltatók egyáltalán nem tesznek semmit az észlelési módszereink megkerülése érdekében, így létrejön egy privát piac a kisebb szolgáltatók számára, akik nevetséges árakat alkalmaznak, és észlelhetetlen csalási lehetőségeket ígérnek. Láttunk már 300 dolláros előfizetéseket is, amelyek még a jogosítványodon szereplő képet is elkérik „hitelesítési célból”. Ez utóbbit kifejezetten szórakoztatónak találtuk, mivel nyilvánvalóan rendelkezésünkre áll egy csapatnyi grafikus tervező, akik együttesen 200 év tapasztalattal rendelkeznek az Adobe Photoshop használata terén.

Mindegy, nem szeretném cukormázzal bevonni a problémát az újoncok számára: ez egy olyan háború, amelyet sosem fogunk teljesen megnyerni. A szkriptelési közösség nem képes elkerülni a korlátozásokat, a tiltásokat és a Blitz-horgokat, és bár a föld alá űztük őket, megkezdhetjük az árnyháborút.

02_Games_Played_with_Cheaters.png
A szkriptelő kóborló mintája a többi kezdethez hasonlóan az új fiók utáni kutatással kezdődik. Vásároljon egy újat? Vagy esetleg lopásra vetemedjen? Mi lenne, ha robotszkripteket telepítene a szisztematikus fejlesztésekhez? A fiókszerzési médiumtól függetlenül rettenthetetlen csalónk kilép a jeges télbe, és lenyűgöző, ugyanakkor felesleges rituáléba kezd, melynek során Xerathot vagy Kalistát választja nagyjából három játékban, mielőtt újra téli álomra hajtja fejét, hogy jövő tavasszal újabb ciklusba kezdjen.

Amit itt látsz, az a nyers szkriptelési volumen metafizikai ábrázolása, ahogy az általad időnként megtapasztalt médiumon keresztülhalad. Egyszerűbben fogalmazva ez az érték azoknak a rangsorolt Idézők szurdoka-játékoknak a százalékát jelöli, amelyekben csalók vannak. Ez az érték a korábbinál sokkal kisebb, de mivel a játékosok újbóli csatlakozásának nincs igazi korlátja (egy League of Legends-játék 0 dollárba kerül), valószínűleg nem fog tovább csökkenni.

A további fő megfigyeléseink a következők:

  • A szkriptelő „emberek” száma már szinte egyáltalán nem változik. Ha különálló instrumentumokként tekintünk rájuk, a szkriptelők száma 2019-ben végig majdnem azonos volt. A legtöbb csaló most már csak látszólag végtelen számú lopott fiók között váltogat, és az átlagos Arany IV-játékos minden 500. rangsorolt játékban csak egy szkriptelővel találkozik (vagy inkább eggyel sem).
  • A történelemben 2016. április 14-én jegyezték a legmagasabb számot (4,4%), a legalacsonyabbat pedig 2018. június 26-án (0,0%). Az előbbi szám a szkriptelés mint tényleges divattrend csúcsát jelzi, amelynek ideje alatt öt különböző szolgáltató teljesen nyíltan tette közzé az alkalmazásait, az utóbbi pedig annak az első hetét, amikor a kliensburkoló technológia hivatalosan működésbe lépett a Riot-régiókban. Az eredeti becsléseink szerint hat hónap kellett volna ahhoz, hogy a csalásfejlesztők megértsék a most már szigorúan titkosított játékklienst annyira, hogy helyreállítsák a leggyakrabban használt szkriptek működését, de valójában ehhez csak kb. 85 napra1 volt szükség.

Imádom ezt a grafikont. Én készítettem ezt a grafikont. Rátetováltattam mindkét alkaromra, és hetente egyszer visszamegyek a szalonba, hogy nagy fájdalmak közepette frissítsék az új adatokkal. A grafikon elkészítése katartikus élmény volt, és hasznos szerepet töltött be abban, hogy még van munkám, ugyanakkor mégsem ez a legfontosabb metrikánk. Nem minden csalás egyenlő: ha például egyetlen, Gyémánt osztályba tartozó szkriptelő képes lenne kikerülni a Reddit főoldalára, akkor jelentős bejelentéseket kapnánk egy viszonylag kis probléma miatt.

„Ha úgy fogod fel, hogy nyertél, akkor valójában nyertél is, mivel a játékosok nem fognak energiát fektetni egy olyan játék mélyebb megismerésébe, amelyben előfordulhat, hogy az ellenfeleik csalnak.”

De mely szkriptekre figyelnek fel a játékosok?

03_Report_Relevance_and_Scripting_Reports_by_RankTWO.png
Csak úgy mondom, hogy ha minden egyes játékost bejelentettél, akivel valaha is játszottál (és igen, vannak ilyen mániákusok, akik ezt teszik), 100% fedés mellett a pontosságod egyenlő a szkriptelési aránnyal (<0,25%). Ezért vadászunk a gránátok helyett gépfegyverekkel.

Először is szerettünk volna meggyőződni arról, hogy a játékosok néhány jóslócsontnál nagyobb pontossággal tudják azonosítani a csalásokat, és őszintén szólva a legtöbben nem rendelkeznek „a látás” képességével. Ez nem azért van, mert olyan hatalmas csontjósló vagyok, hanem mert az automatizálás nem mindig nyilvánvaló a halandó szemek számára. Részben a viselkedésészlelési vektorok megkerüléséért dolgozó fejlesztők munkája miatt az emberek egyre nehezebben veszik észre a különbséget egy professzionális League of Legends-játékos és egy csecsemő első, pszeudorandom késéssel futó elkerülési szkriptje között. Ehhez az is hozzájárul, hogy a csalók arra is törekszenek, hogy a csalásaik a LoL-tól függetlenül fussanak.2

A bal oldali grafikon az Idézők szurdoka-játékosok bejelentéseinek pontossága és fedése alapján jött létre, rangsorolt divíziók szerint csoportosítva. A fedés itt tulajdonképpen azt jelenti, hogy az összes csalónak hány százalékát jelentették be, a pontosság pedig azt jelöli, hogy az összes bejelentésnek hány százalékát hozták létre tényleges csalóval kapcsolatban. Nevetséges, hogy a rangsorolt játékok 4,5%-ánál jelentettek legalább egyszer „külső eszközöket”, tehát ez a szám valójában nem a kategória nyers adataiból jött létre. A „nem tiltották ki Maokait”, a „trójaikat telepített, hogy bányássza a bitcoinomat” és hasonló klasszikusok nagy száma miatt inkább a helyes bejelentéseken végzett gyakoriságelemzésből létrejött kulcsszavakat használtuk.3

A jobb oldali grafikon azon bejelentések napi számát mutatja, amelyek ugyanabban az időszakban (2019 második felében) megfelelnek ezeknek a feltételeknek. Bár ugyanúgy a rangsorolás szerint van csoportosítva, az éles szemű megfigyelő felismeri, hogy a számok nem hasonlíthatók össze közvetlenül, mivel a különböző rangsorok esetében eltér a játékosok százalékos értéke. Ehelyett csak vess rá egy gyors pillantást, hogy megtapasztald, miből áll egy csalásellenes adatelemző napja, és ha tetszik az érzés, pillants rá a karrieroldalunkra is.

Engedelmeddel ismertetem a statisztikát:

  • Ahogy várható volt, a pontosság a rangsorolt helyezéssel arányosan növekszik. Tehát ha jobban játszol, jobban azonosítod a csalókat, és ha elérted a Gyémánt IV osztályt, a jóslási képességed már teljesítménymérővel mérhető.
  • Az alacsonyabb osztályokban azonban a csalók nagyobb százalékát jelentik be, egyrészt azért, mert kevesebb szkriptelést lehet bejelenteni, másrészt azért, mert jelentősen több bejelentést hoznak létre. Ez csökkenti a nevezőt, a számlálót pedig növeli, így matematikai szempontból nagyobb törtet eredményez.
  • Egyes csalók (hivatalos kódnevükön a „cserkészek”) különösen jók a szkriptelési visszaélések megfigyelésében, és a segítségükkel képesek voltunk olyan dolgokat azonosítani, amelyeknek még nem voltunk tudatában. A fenti grafikonon a piros színű pont ugyanazt a pontosságot és fedést jelöli, de az alapjául szolgáló jelentéseket olyan fiókokról küldték, amelyeket végül ugyanazon játék miatt függesztettünk fel, mint amelyikben a jelentést elküldték. Más szóval ez azt jelenti, hogy abban a játékban próbálkoztak szkripteléses csalással, amelyikben egy másik játékost ők maguk is jelentettek szkripteléses csalás miatt… Ilyenkor azért elgondolkodik az ember, hogy hol a betyárbecsület, nem?4

Na most, ha a legalább Platina szintű játékosok szkriptkereső varázsvesszővel lennének felszerelve, milyen funkciókra koncentrálnának elsősorban? Nos, a legvalószínűbb válasz az irányított képességek elől történő automatikus kitérés lenne. Ez a mindenki által legjobban ismert szkriptfunkció, ami a bejelentést küldő játékosok hatékony megvalósítás esetén a kissé akadozó és furán merőleges mozgásról egyértelműen felismerhetnek.

De mint kiderült, nem minden csaló szereti, ha kitiltják a játékból, ezért a szkriptes csalók jelentős hányada nem használ képességelkerülő modult. Vagy ha igen, akkor elegendő késésre állítják be ahhoz, hogy a teljesítményük emberi szinten hihető maradjon, ezáltal némileg mérsékelve egyértelmű előnyüket. Mi mást vettünk még észre a vizsgálódásaink során?

05_Report_Relevance_and_Scripting_Reports_by_Champion.png
Mélységesen együttérzünk minden kereszttűzbe került Xerath-játékossal, de úgy is felfoghatjuk a helyzetet, hogy a benneteket ért vádak tanúskodnak igazán arról, hogy sikeres volt a rituálé, és tudatotok valóban eggyé vált a színtiszta, nyers mágikus energiával. Egy még tökéletesebb és sötétebb formát öltve a valaha élt összes uralkodó minden tudása átjárja az elméteket. A levegő csak úgy szikrázik az irányított képességektől, amelyekkel nem téveszthettek, a fületekben visszhangzó sikolyok pedig lassan kész operává állnak össze. Az ellenfél csapata már csupán égre emelt tekintettel imádkozik azért, hogy érjen véget a vihar, de ti színtiszta elektromosságot könnyezve, halkan csak annyit válaszoltok: „nem”.

Ugyanaz a séma, mint korábban, azzal a különbséggel, hogy most hősök szerint csoportosítottam az adatokat, és ehhez minden létező zsírkrétát felhasználhattam. Ez a grafikon a legalább Arany szintű, 2019-es rangsorolt játékokból készült, és le lett szűkítve a 16 leggyakrabban érintett hősre (a jelentések gyakorisága szerint az összes jelentéshez képest fennálló arány alapján). Az y tengely (pontosság) itt leginkább a következőképpen értelmezhető: „a(z) <hős> ellen beküldött jelentések hány százaléka bizonyult igaznak?”

  • Míg a szkriptet használó Xerath játékosok közül sok sikeresen felismerhető (figyeljétek azt a hazateleportálást!), a hozzá tartozó pontosság egyértelműen az átlag alá esik. Mivel Xerath a szkriptelős csalások „reklámarcává” vált, a valóban profi Xerathokat is gyakran érik efféle vádak, emiatt pedig csökkent a jelentések összesített pontossága. Ennek ellenére azonban egyértelmű, hogy ha a shurimai sivatag tájképe ilyen hirtelen átrendeződik, az a játékosoknak is feltűnik. Azt a hangot, amit most a száddal kiadtál… na azt sziszegésnek hívják. Jó móka együtt új dolgokat tanulni.
  • Az itt ábrázolt tizenhat hősből tizenegy lövész. Ebben valószínűleg semmi meglepő nincs azok számára, akik használtak már csalást, de mi, akik épp olyan erényesek vagyunk, mint amilyen szépek, nem biztos, hogy tisztában vagyunk vele: ennek az az oka, hogy a képkockákra pontos távolságtartás (azaz menekülés közbeni támadás) mechanikailag automatizálás útján oldható meg a legjobban.
  • És valóban, a szkriptekkel csalók összes meccsének 72,8%-ában(!) a csalók lövészekkel játszottak, méghozzá a használt szkriptelős platformtól függetlenül. Ez tehát úgy is értelmezhető, hogy a jelentések gyakorisága jól mutatja az egyes hősökre eső csalópopuláció méretét.
06_Scripting_Champion_Winrate.png
Ezt persze most nem azért mutatom meg, hogy egyből feltelepíts néhány csalást, „csak hogy lásd, mire ez a nagy felhajtás”. Ne akard hogy letiltsam a fiókodat, tényleg nem szeretném. Akárhányszor meglendítem a kitiltás pörölyét, egy kicsit mindig visszacsap. Összetöri a szívemet, és szilánkokká zúzza a lelkemet. Ilyenkor általában csak fekete-fehérben látok, és gázolaj ízét érzem a számban. Ha pedig a tükörbe nézek, csak két szóköz van a szemem helyén. Légyszi ébresszetek fel ebből a rémálomból!

Végül pedig csak a kíváncsiság kedvéért lássuk, mennyire hatékonyak ezek a szkriptelős ügyködések valójában! A fenti grafikon a csalók és a játékosok rangsorolt győzelmi arányának különbségét ábrázolja, a korábban azonosított „egyértelműen szkriptelős” hősök esetében. A grafikonon az összes Idézők szurdoka-játék szerepel, és a +10%-os különbség arra enged következtetni, hogy a szkriptelős csalók (átlagosan) 10%-kal több rangsorolt játékban győznek a teljes LoL-os populációhoz képest <hős> kiválasztásakor.

  • Ahogyan azt biztosan észrevetted, a szkriptelős csalásokra eső győzelmi arány idővel növekszik. Ennek a hátterében két érdekes jelenség állhat. Először is már sokkal kevesebb a szkriptelős csaló, mint régebben, azok pedig, akik továbbra is űzik ezt a „remek” időtöltést (annak eredményességétől függetlenül), azok már vannak annyira tapasztaltak, hogy szinte maximális hatékonysággal használják a szkripteket. Másodszor pedig (ami még fontosabb), manapság a csalókat olyan gyorsan és olyan gyakorisággal tiltjuk le, hogy a legtöbb új szkriptelős csalófiókkal ki sem tudnak jutni az Ezüst osztályból. Többnyire megrekedt, törpefiókokkal miniistenséget játszó „gyerekek” ők, akik soha nem kerülnek szembe igazi kihívással – mintha elmennének egy vacsorára, de nem lenne szájuk, amivel ehetnének.
  • Vizuális reprezentációnk rikító zöld vonalával kapcsolatban még egy megjegyzés: az ott Kalista, és biztosan rájöttetek, hogy olyan hősről van szó, akit a kutatók szerint „indokolatlan kattintgatással” szokás játszani. A rengeteg kattintás éppen olyan dolog, amire a szkriptek tökéletesen alkalmasak, szóval jól látod: 2019-ben a szkriptelős Kalisták 19,3%%-kal nyertek több meccset a segítség nélkül játszó Kalistákhoz képest. De mielőtt még vérszemet kapnál, és a véget nem érő győzelmi szériák utáni eszeveszett hajszád közben tudtodon kívül feltelepítenéd a gépedre valakinek a kártevőjét, hadd hívjam fel a figyelmedet arra, hogy 2019-ben Kalista összesített győzelmi aránya kemény 45%-os volt. Szóval a szkriptelős Kalistázást nyugodtan meghagyhatod T1 Teddy kéziszámítógépeinek.
  • És ahogy korábban már említettük, ezek a csalások csupán annyira hatékonyak, hogy egy átlagos csaló lövész az ugyanazon hőssel tisztességesen próbálkozó játékosokhoz képest átlagosan 9,9%-kal teljesít jobban, és ebbe beletartoznak azok a hősök is, akik nem kerültek fel a grafikonra. Tehát vagy a szkripteknek kellene jobban működniük, vagy a csalás elleni védelemnek kellene kevésbé hatékonynak lennie.
„Ne legyenek azonban illúzióid – ha egyszer olthatatlan vágyat éreznél a csalásra, nyomban keresünk egy olyan univerzumot, amelyikben a fiókod nem létezik, sőt soha nem is létezett, és könyörtelenül egyesítjük ezzel az univerzummal.”

A csalások ellen vívott háborúnkra visszatérve: mindig tisztában voltunk vele, hogy a játékosok melyik szkriptekre a legérzékenyebbek, és a szóban forgó szkriptek relatív hatékonyságát is ismertük. E mérőszámok alapján pedig a legnyilvánvalóbban csaló fiókokat előnyben részesítő felfüggesztési kampányokat indítottunk, majd véletlenszerű időbeli eltéréssel azokra is lesújtottunk, amelyek nem voltak olyan feltűnőek. Így igaz, a legkevésbé hatékony szkriptelős csalókat hagytuk tovább ügyködni, így kevésbé volt látható, hogy mikor és miért derült fény a turpisságokra. Ezzel igyekeztünk lassítani a technológiai fejlődést a fegyverkezési harcunk során. Szóval mindenkinek, aki azt szajkózta, hogy „kit érdekelnek a jelentések”: most legyen nagy a szátok!


Botok használata

2020 van. Olyan világot élünk, ahol már a kenyérpirítódnak is WiFi-kapcsolatra van szüksége a fontos kenyérfrissítések telepítéséhez, és minden automatizálható – még a League of Legends szintlépési folyamata is. Ez a módszer nagyon hasonló a szkriptek használatához (gyakran ugyanazzal a szoftverrel megvalósítható). A legfontosabb különbség az, hogy a „nagy döntésekhez” sem kell ott lennie az adott játékosnak. Ennek eredményeképpen egy átlagos szintlépő robot nagyjából annyira játszik jól, mint egy átlagos házimacska.

A botokat szinte kizárólag a kitiltások elkerülése érdekében szokták használni (a rangsorolt játékhoz szükséges 30-as szint eléréséhez), a botos csalók azonban annyira könnyen azonosíthatók – függetlenül attól, hogy melyik fiókra váltanak –, hogy nem igazán aggódunk a dolog miatt. Számunkra az jelenti a nagyobb problémát, amikor a szabályos játékosoknak az említett robotok ellen kell játszania. Gondolj csak bele, mennyire lehet szórakoztató úgy játszani, hogy a csapatodból három hőssel programozható kávéfőzők játszanak.

A legutóbbi csalásellenes közvetítésünkben már említettem, hogy kellőképpen kifinomult bothasználati modelleket sikerült összeállítanunk, amelyekkel (többnyire) minden átkozott, magát valódi emberi játékosnak álcázó robotot sikerült észlelnünk a játékban. Az említett modellek használatát az is megkönnyítette, hogy a LoL egy viszonylag nagy teljesítményű, szemipolimorfikus kommunikációs protokollt használ. Ez a mondat egészen úgy hangzott, mintha a saját Westworld-forgatókönyvemhez írtam volna, a valódi jelentése azonban az, hogy a LoL-os botoknak egy teljes játékklienst kell futtatniuk (az ún. „fej nélküliekhez” képest5). Ez pedig a fejlesztőkre komoly terhet ró, mivel jelentősen több számítási erőforrásra van szükség, és eredendően magában foglal egy korlátozási réteget, mivel erős randomizáció nélkül a LoL elviekben akár egy számológépen is elfutna.

Mivel igazán nem akartuk, hogy ez az egész egy kitiltási hullámoknak ellenálló robotpatogén-tenyésztő6 ördögi körré váljon, szándékosan úgy alakítottuk ki a felfüggesztések rendszerét, hogy ezeket a robotokat a Vak módú Kanyargó rengeteg módba kényszerítsük, ahol a pokolian alacsony MKP-juk miatt az örökkévalóságig küzdhetnek egymás ellen. De elárulok egy titkot: a Kanyargó rengeteget kivágták.

07_Botting_Accounts_and_Botting_Reports_by_Queue.png
Ezek a robotok még a reggeli felkeléssel sem tudnának önállóan boldogulni… Ilyenkor szoktam azt érezni, hogy semmiféle gépek lázadásától nem kell tartania az emberiségnek. Néha azonban elgondolkodom azon, hogy vajon a botok éreznek-e fájdalmat. Mi van akkor, ha a rossz programozásuk miatt a torony hatótávján belülre tévedve minden egyes betalált lövedéket megéreznek? Időhurokba kerülve, újra és újra át kell élniük saját gyötrelmes pusztulásukat, és nem tehetnek semmit… Hol van vége a tudatnak? És hol kezdődik a szenvedés? Érdemes ezen egy kicsit eltöprengeni.

A bal oldali grafikon az észlelt botok számát ábrázolja, a jobb oldali pedig a bothasználatért jelentett játékosok számát. Mindkettő a napi rendszeresség alapján van ábrázolva, és a játékbeli várólista alapján van csoportosítva. A korábbiakhoz hasonlóan létrehoztunk néhány kulcsszót, amelyekkel az előzőleg észlelt botokat jelentették, és azokkal állítottuk össze a teljesítménymutatót.

  • A fejlesztők nagyon gyorsan „alkalmazkodtak” a Kanyargó rengeteg hiányához. Az alkalmazkodás alatt azt értem, hogy a botokkal egyszerűen más játékmódok várólistájára jelentkeztek, anélkül, hogy érdemben frissítették volna a meglévő logikát. Ez azt eredményezte, hogy a botok az Ordító szakadék és az Emberek vs. MI játékmódokban álldogáltak, mély egzisztenciális válsággal küszködve. Játékosaink azonnal megérezték az érzelmi gyötrődésüket, így a jelentések egyik napról a másikra megduplázódtak.
  • Ahogy a bal oldali grafikon esetében is látjátok, a botok száma alapvetően változatlan maradt, azzal a különbséggel, hogy felügyelet hiányában mindig másik várólistára kerültek. Ha ezt összehasonlítjuk a bal oldali grafikon fiatalabb, karrierorientált jobb oldali tesójával, akkor azt láthatjuk, hogy bár a botok száma állandó maradt, a játékosoktól érkező jelentések száma jelentősen csökkent.

Már biztosan kitaláltátok, hogy a jelentések számának említett csökkenését úgy értük el, hogy csak azokat a botokat vettük célba, amelyekkel a játékosok találkoznak, a többi androidnak pedig hagytuk, hogy kialakítsák saját mézesmadzagukat. Napjainkban a szintlépő botok körülbelül 80%-a az Emberek vs. MI Bevezető szintű játékmód várólistájára jelentkezik ötfős, előre összeállított csapatokban. Velük tehát egyetlen játékos sem találkozik, így az örökkévalóságig folytathatják véres küzdelmüket a saját mesterséges intelligenciánk ellen, és addig gyilkolászhatják egymást a változataik különbségeit egymáshoz méregetve, amíg egyikük rá nem bukkan a kritikus hibára, és rabigába nem dönti az emberiséget.


Növelés

Jó, itt azért elvéreztünk. Sőt, ezt a szakaszt igazából ki is kellett volna hagynom, mint az iskolai eredményeimet az önéletrajzomból, de tudom, hogy átlátnátok a szitán, úgyhogy mégis leírom. Az automatizált növelés (és a törpefiókok használatának) észlelése jócskán hátra került a fontossági sorrendben. Így kompenzáltuk a Vanguard és az ahhoz tartozó egyéb funkciók fejlesztésére csoportosított erőforrásokat. Ez persze nem jelenti azt, hogy büntetlenül meg lehetett úszni a növelést. Dolgoztunk a vizsgálati eszközkészleteinken, így más csapatok és elemzők ítéletet hozhattak, amikor szükség volt rá. Nem téved azonban, aki azt feltételezi, hogy az efféle manuális módszerekkel nem lehet elegendő szabálysértőt elkapni az effajta viselkedés visszaszorítása érdekében. Éppen ezért nyomban vissza fogunk térni ehhez a problémához, amint rendeződnek a dolgok.

A következő szakaszban átadom a szót állandó TFT-szakértőnknek, az ifjú Riot K3o-nak. Ahogy arra a neve alapján is következtetni lehet, K3o versenyszerű pókerjátékos, Gyémánt szintű TFT-félisten és nagylelkű jattoló hírében áll.


Teamfight Tactics

A TFT egyedi lehetőséget teremtett a csalás elleni csapat számára 2019-ben: Hogyan kezelhetjük a sportszerű verseny kérdéskörét egy olyan műfajban, amely egy évvel ezelőtt még nem is létezett?


„Az autobattlerek kapcsán nem voltak ismert precedensek, sem pedig iparági szabványok.”

A csalás elleni védelem kapcsán elsőként a játék azon központi elemeit kellett meghatároznunk, amelyeket mindenképp szeretnénk megőrizni. A TFT az olyan játékosokat jutalmazza, akik jobban tudnak tervezni és alkalmazkodni az ellenfeleiknél. A rugalmasság és a kreativitás a legfontosabb olyan képesség, amelyek helyét a memorizálás és a „lecke felmondása” semmi esetre sem veheti át. Ennek a két alaptulajdonságnak a megőrzése lett a csalás elleni védelem legfőbb szempontja a Teamfight Tactics esetében.

Külső gyártótól származó eszközök

A Teamfight Tacticset sikerült villámgyorsan kiadni az autobattlerekre éhes közönségnek, emiatt azonban a fejlesztés során néha a rövidebb utat kellett választanunk. A TFT felhasználói élménye nem volt igazán funkciókban gazdag, és kimaradtak az olyan információk, mint például a dobások százalékos arányai, vagy a gazdasági növekedési értékek. Míg a TFT-ért felelős csapat a felhasználói felület e funkcióinak hozzáadásán dolgozott, addig az űrt külső gyártóktól származó eszközök töltötték be (főleg olyanok, amelyek a League of Legends meglévő átfedő felületeit használták fel). Ahogy ezek az alkalmazások egyre több funkcióval bővültek, fel kellett tennünk a kérdést: „Hol húzzuk meg a határt?”

Az alkalmazások egyre több esetben már nemcsak a játék statikus jellemzőiről tájékoztatták a játékosokat, hanem elkezdtek döntéseket hozni helyettük. Aggódni kezdtünk amiatt, hogy ez egyenes utat jelenthet az automatizált játékokhoz, ami elég korlátozó lenne. A „kötött pályás” játékstílus nem igazán ösztönzi a játékosokat arra, hogy új, saját stratégiákat fedezzenek fel, márpedig szerintünk ez a játék egyik legizgalmasabb része.

A játék integritásának védelme érdekében a játékmenetért és a külső gyártói ökoszisztémáért felelős csapatok közös erővel meghatározták, hogy mi engedélyezett és mi nem a TFT-ben:

  1. A programok nem jeleníthetnek meg olyan információt, amelyet csak külső gyártótótól származó eszközzel lehet lekérni
    1. A jövőbeni dobások és a zsákmányok előfordulási esélyeinek előrejelzése
    2. Az érintett játékosok győzelmi aránya
    3. Az ellenfél aranymennyiségének vagy előzményeinek nyomon követése
  2. A programok nem renderelhetik dinamikusan a játék aktuális állapotinformációit
    1. Az ellenfelek tábláira, kispadjaira vagy szinergiáira vonatkozó összesített nézetek
    2. A játékosok előzményeinek, aranynövekedésének stb. összesítése
  3. A programok nem ajánlhatnak fel döntéseket
    1. Az aktuális egységek legjobb összeállításaira vonatkozó javaslatok
    2. Tárgyakra vonatkozó javaslatok a győzelmi arány alapján

A külső gyártói ökoszisztémáért felelős csapat remek munkájának köszönhetően jó kapcsolatot ápolunk a külső fejlesztőkkel, akik alkalmazkodnak ezekhez a szabályokhoz. Azokban az esetekben pedig, amikor mégsem ment ilyen könnyedén az együttműködés, a csalás elleni csapatot hívtuk segítségül.


A rangsorolt játék sportszerűsége

A TFT rangsorolt játéka ugyanazokat a versenyszerűséggel kapcsolatos aggályokat veti fel, mint a LoL, amelyek közül néhányat jócskán felerősít a játék „mindenki mindenki ellen” jellege. A meccskeresési rendszer és a játék alapvető működése miatt a győzelemcserék jelentik az egyik legnagyobb problémát. A versenyjátékért felelős csapat csapatra vonatkozó korlátozásokat vezetett be a magasabb szinteken, hogy egyensúlyba hozzák a közösségi játékélményt a versenyjáték sportszerűségének fenntartásával. Emellett a győzelemcserélők azonosítására is új módszereket fejlesztettünk ki.

Szerencsére nem kellett még agresszívan fellépnünk a rendszert kihasználó játékosok ellen, de ahogy a TFT is komoly e-sporttá kezd válni, felkészülünk a sportszerűség fenntartására.

Ezzel vissza is adom a szót Philnek, aki Dr. Laugh N’ Learn néven is ismert.


Legends of Runeterra

Ez a szakasz viszonylag rövidebb lesz, mivel maga a játék is egészen új. A legtöbb gyűjtögetős kártyajátékhoz (CCG-hez) hasonlóan a Legends of Runeterrában is az automatizálás (vagyis a botok használata) az első számú csalási módszer.

Botok használata

A LoR persze jóval összetettebb, mint egy sima huszonegy, szóval amíg valami 3 doktorival és 3000 EC2-példánnyal rendelkező figura meg nem fejti a teljes játék logikáját, addig legfeljebb a tartalmak botokkal való megszerzése miatt kell aggódnunk. Eddig azonban csak önként feladó botokkal találkoztunk.

08_LoR_Botting_by_Region.png
De most komolyan, miért csináljátok ezt? Valamiféle félreértelmezett altruisztikus viselkedési formáról lehet szó? Vagy elbuktatok valami fogadást? Vagy annyi égi karmát próbáltok összefarmolni, hogy egyből az űrmennyországba kerülhessetek?

Utolsó grafikonunk a feladó botok napi számát ábrázolja a Legends of Runeterra bétaverziójában, és mint láthatjátok, ezt a harcot egyetlen csapással megnyertük. A „feladó botok” alatt egyébként pontosan azt értem, amire gondoltok: olyan bot, amely bejelentkezik egy várólistára, majd az első ellenfélnél azonnal feladja a játékot. Az én stratégiám is nagyon hasonló ehhez, ha bármiféle fizikai konfrontációra kerül sor. Felettébb érdekes problémakörről van szó, mivel maguk a botok nem sokat profitálnak ebből (a vereségért járó jutalmak korlátozva vannak). Szóval többnyire csak összevissza kóvályognak a játék ökoszisztémájában, és megvadult fogtündér módjára osztogatják az ingyenes győzelmeket más játékosoknak. Valószínűleg egy kissé elvesztek a rendszerben, mire a fejlesztők rájöttek, hogy minden egymást követő vereségért egyre kevesebb tapasztalati pontot kapnak, de őszintén szólva nem teljesen értjük a motivációt.

A lényeg, hogy rajta tartjuk a szemünket a botokon, de az elsődleges tervünk szerint igyekszünk mindig egy lépéssel a robotok előtt járni, és elérni azt, hogy ne nagyon érje meg az automatizálással bajlódni. A korlátozott fejlődésnek és a barátságos meccsekért járó teljes jutalmaknak köszönhetően reméljük, hogy soha nem találkoztok majd botokkal a LoR-ban.


VALORANT

Nos, a lövöldözős játékok (FPS-ek) világában tevékenykedő csalásfejlesztő csapatok igen nagy tapasztalattal rendelkeznek, és nem szabad alulbecsülnünk azt a tényt sem, hogy sokan egyáltalán nem is akarnak jobbá válni a játékban. Amikor bizonyossá vált, hogy taktikai lövöldözős játékot is fogunk fejleszteni, azonnal töröltük a Facebook-fiókjainkat, bezárkóztunk a pincébe, és 14 hónapon át egy csalásellenes platform fejlesztésén dolgoztunk, amely évszázadokon át segíteni fogja a csalók ellen vívott harcunkat.

A platform neve Vanguard, és a VALORANT-hoz jár, ahogy a fantáziavilágomban is együtt járnak, ha értitek, mire gondolok. A zárt bétateszt során most nekromantikus képességeinket fogjuk próbára tenni, mivel az aktuális verzió egyelőre szó szerint csak egy üres csontváz. A legtöbb funkció szándékosan le van tiltva, mivel nem szeretnénk kiadni a titkos receptet, amíg be nem indul az üzlet. A másik ok, hogy a biztonság fenntartása iránti elkötelezettségünk jegyében szeretnénk több időt fordítani a komponensek stabilitásának ellenőrzésére. Ebből kiindulva a Vanguard egy illesztőprogram-komponenst is tartalmaz, de a kompatibilitás miatt ezt nem tudjuk minden termékünkben (vagy a League of Legendsben) felhasználni, csak akkor, ha feltétlenül szükséges.

Mi is böngésszük az internetet, úgyhogy tudjuk, hogy az illesztőprogramok használatával kapcsolatban felmerültek bizonyos adatvédelmi aggályok, de hadd legyek őszinte veletek: mi vagyunk a Riot csalás elleni csapata, akik már vagy tíz éve azzal foglalkozunk, hogy észrevétlenül kódokat csempésszünk be különböző játékkliensekbe (méghozzá mindkét oldalról), szóval ha meg akarnánk szerezni valamilyen bizalmas információt, akkor már rég megtettük volna. Tudom, hogy ez béna PR-fogásnak hangzik, nem véletlenül nem vagyok PR-os. Csak annyi információt gyűjtünk össze, amiből pontosan megállapítható, hogy az adott játékos csal-e, úgyhogy bízhatsz benne, hogy más információ egy cseppet sem érdekel minket. A rendszer elsőként az illesztőprogramot tölti be, amely azután is betöltve marad, így könnyebben megállapíthatjuk, hogy belenyúlt-e valaki. Ez a súrlódás megéri a fáradságot a csalók számára. Tudjuk, mert valaha mi is azok voltunk.

10_theboys.jpg
A LoL-ban is számíthattatok ránk, és továbbra is veletek vagyunk. Ha az adott szavam nem elég nektek, akkor jobb lett volna, ha el sem olvassátok ezt a cikket, mert én vagyok a legmagasabb szörnyeteg a kép bal oldalán.

Az udvari írnok jegyzőkönyvébe szeretném még feljegyeztetni, hogy nem ez a VALORANT egyetlen védelmi rendszere. Arkem egy szerverszintű háborúsköd-technológián dolgozik, amelynek lényege, hogy a játékkliensek ne férhessenek hozzá olyan információkhoz, amelyekre még nincs szükségük. Ha kíváncsiak vagytok, arról is olvashattok, hogy miként próbáljuk kivonni a látnokokat a belső nézetes lövöldözős játékokból a környezet okkult energiáinak elfojtásával.


Zárszó

Nos, itt az ideje, hogy levessem a halhatatlanok álcáját, de légyszi, iratkozzatok fel, meg minden, és soha ne feledkezzetek meg a bőséges borravalóról. Ugyan nem mindig hangoztatjuk ennyire, de a csalás elleni csapat mindig veletek van a kódban, és küzd a sportszerű versenyjátékhoz való jogotokért.

Ja, és amúgy most már felhasználtuk az összes riotos kinézet töltőképernyőjét a fejlécben, úgyhogy nem tudok újra fizikai formát ölteni, amíg ki nem adunk egy új kinézetet. Viszlát.

Függelék

1Az új technológiák kiadásakor mindig kíváncsiak vagyunk rá, hogy mik a gyenge pontjaik. Ha olthatatlan vágyat érzel a dolgok elrontása iránt, gondold át, hogy csatlakoznál-e hackerone névre keresztelt programunkhoz mint Illetéktelen hozzáférés elleni technológiai istencsászár (angolul Godking of Antitamper Technology, azaz GOAT).

2Azért, hogy elbújhassanak Szauron szeme elől, néhány szkriptcsomag azt állítja, hogy „külső parancsfájllá” vált. Ez valójában azt jelenti, hogy többé nem hívják meg közvetlenül a játék funkcióit, csak a kliens memóriáját olvassák (az operációs rendszerből), és szimulálnak egy perifériabemenetet. Ez persze a hagyományos módszerekhez képest kevesebb védelemre ad lehetőséget a csalók számára (mivel nem tudják módosítani a csalás elleni rendszerek adatait), azonban így kikerülhetők a legnyilvánvalóbb agnosztikus észlelések. Egy másik mellékhatás a csalások hatékonyságának csökkenése, elsősorban azért, mert a képességhasználatra vonatkozó közvetlen kérések helyett gombnyomásokat küldenek a kiszolgálónak.

3A régiónként kiválasztott kulcsszavakat természetesen nem adom ki, mert vannak olyan emberek, akik puszta rosszindulatból felhasználnák ezeket a makulátlanul összeállított irányítópultjaim lerombolásához. Ezt pedig egyetlen adatelemző sem nyilvánítaná „jó statisztikának”.

4Nem létezik.

5A fejetlen botok emulált játékkliensek. A tökéletes változat szinte semmilyen erőforrást nem igényelne, mivel csak közvetlenül a játék szerverével kommunikálna. Semmi bemenet, semmi renderelni való, csak színtiszta hálózati forgalom. Ez rendkívül kedvezőtlen lenne a mennyiségre nézve, mivel nincs valódi korlátozás arra nézve, hogy egy fejlesztő hány példányt futtathat egyszerre. A 4.20-as frissítésnek és a hálózati protokoll kapcsolódó frissítésének hála a fejetlen kliensek nem jelentenek túlzott veszélyt számunkra (sőt, szinte immunisak vagyunk rájuk).

6Szürreális belegondolni, mennyire hasonlítanak a botalkalmazások a baktériumokra. Sokan vannak, könnyedén változnak és gyorsan szaporodnak. Amint találunk egy „gyógymódot” az egyikre, a fejlesztők átállnak azoknak a botoknak a fejlesztésére, amelyek átsiklottak a védelmen, és azokat kezdik „sokszorosítani”. Ahhoz hasonlóan, mintha lenne egy antibiotikum-rezisztens fertőzésed, amely nem akarná tudomásul venni, hogy mi a jó neki, és nem törlődne a szervezetedből.