Game Killer cheaters

Hoe game-hacks werken en waarom ze meestal niet worden gefixt

Deze post is oorspronkelijk geschreven voor Guild Wars 2 (specifiek om uit te leggen waarom ArenaNet fly-hackers nog steeds hun orbs in WvW heeft gestolen), maar is van toepassing op vrijwel elk online spel met damage / fly / wall / aim-bot hacks.

Hoe werkt game-hacking

Hier is een beetje inzicht van een programmeur die in het verleden met dit soort dingen heeft geknoeid. Sta me toe je een leuke analogie te geven.

Stel dat u de rechter bent van een 1 km lange voetrace (“evenement”) waarbij honderden deelnemers proberen te winnen en het einddoel bereiken (in GW2, laten we zeggen de “orb’s locatie”). De winnaar is de persoon die als eerste het einde bereikt. Omdat u niet genoeg assistenten (“serverresources”) heeft om u te helpen bij het bijhouden van alles wat er in de race gebeurt (“gameplay”), geeft u (“server”) elke deelnemer (“spelers”) een GPS-apparaat ( “Gameclient”) om u gewoon te rapporteren waar ze zich op een bepaald moment bevinden, en vervolgens de status van de race bij te werken (“serverstatus”) op basis van die rapporten. Je ontdekt dat sommige deelnemers zijn bedrogen door skateboards te gebruiken (“hulpmiddelen van derden”) om een ​​voordeel te behalen. Je schopt die mensen uit de race (“ban ze”) en haalt hun skateboards weg (“verwijder links op forums”). Je komt er vervolgens achter dat sommige deelnemers vals gespeeld hebben door hun GPS-apparaten aan te passen (“game-clients”). Als reactie daarop schop je die mensen ook uit de race en geef je iedereen nieuwe, verbeterde GPS-apparaten (“game-updates”).

Hoe hard je ook probeert om deze valsspelers te elimineren, je merkt dat je altijd achter je blijft tijdens de achtervolging. Wat je ook doet om te proberen en te voorkomen dat er slechte dingen gebeuren, je kunt het probleem nooit oplossen. Waarom is dit? Omdat je een slechte ontwerpkeuze hebt gemaakt bij het maken van de regels van deze race. Je had niet genoeg assistenten om de race te volgen, dus in plaats van meer assistenten in te huren, liet je elke racer zelf de locatierapportage doen. Maar omdat de statusupdates door de racer worden gedaan en niet door jou, is het onmogelijk om te garanderen dat de locaties die ze rapporteren correct zijn. Natuurlijk kun je zeggen: “Het slaat nergens op om vals spelen in games“, Maar wat gebeurt er als er veel dingen moeten worden bijgehouden en er meer interessante dingen in moeten worden gegooid? Voeg meer en meer regels toe en huur meer assistenten in om die regels te controleren?

Dit is wat er in deze game gebeurt (en vrijwel elke andere online game met “speed hacks”, “wall hacks” en al die jazz). De spelserver voert niet alle berekeningen uit – er zijn enkele die clientzijdig zijn (bijvoorbeeld berekend door uw computer) en vervolgens aan hen gerapporteerd. Wanneer je vooruit loopt, zeg je niet: “Ik loop vooruit. Server, wat is mijn nieuwe functie? Ik loop nog steeds vooruit. Server wat is mijn nieuwe functie nu? “. In plaats daarvan is het: “Ik loop vooruit, mijn GPS zegt dat mijn laatste positie (x, y) was. Ik loop nog steeds vooruit, mijn GPS zegt dat mijn huidige nieuwe positie (x, y) is “. Dus wat houdt je tegen om te knutselen met je “GPS” of zelfs die berichten te onderscheppen en te veranderen? Niets. Omdat die berekeningen met de client worden uitgevoerd, niet met de server. Kan het allemaal serverzijdig worden gedaan? Ja. Maar het is duur. Niet moeilijk, gewoon erg duur. Meer berekeningen voor de server en meer internetbandbreedte nodig. Dit resulteert in zwaardere belasting van de servers en meer vertraging voor u. Kan dit worden opgelost door meer servers te kopen bij betere internetproviders? Ja. Maar het is duur. Het is goedkoper om de computers van de spelers net die extra wiskunde te laten doen.