Live data from Hacker News

Riot Games Approach to Anti-Cheat

engineering.riotgames.com

151–160 of 412 posts

Re: Riot Games Approach to Anti-Cheat

#151

Earlier quoted context omitted.

(As a former high level StarCraft / SC2 player / caster). It's not chess. That's why. There is a real physical aspect to the game. Training your fingers to hit certain combinations quickly to execute build orders, and mix in micro is key. Pro players use hot packs to warm up their hands, or glasses to aid their eyes. The game developer takes a lot of care to ensure the UI / hotkeys / peripheral setups are optimized f…

Many responses are saying the same thing, so I'm going to respond to you ... > It's not chess. I agree it's not chess, and chess often has a time component to it. The realtime nature of a game doesnt mean you should have to be able to "move" in realtime, IMO it would be superior if it tracked more closely to your ability to react, intellectually, in realtime. That is, real time thought more than realtime motion. Ergo…

I don't understand why you're so intent on doubling down here. There are other strategy games out there that focus on strategy more than micro mechanics. Why not play those instead?

I don't think "I want to play Starcraft but without micro" is a compelling argument for changing Starcraft. I actually think it's pretty selfish to make these demands. It's a reasonable premise for finding or even creating a new game.

Re: Riot Games Approach to Anti-Cheat

#152
post #28

Earlier quoted context omitted.

Is this really open dialogue? Correct me if I'm wrong, but basically all of the methods that they mentioned are pretty standard stuff. They had a few interesting twists on these ideas, but in general, things like source code encryption and shuffling memory locations seem pretty basic.

if you are familiar enough with the subject matter everything will seem basic.

Well I have to agree with op. Encryption and obfuscation started with early copy protection systems, even packers like upx offered that iirc. Measurements against memory manipulation have also been around for a while, I encountered them the first time when I tried cheating money in rollercoaster tycoon in 99 or whenever that came out. Obfuscating the network protocol actually seems more of a novelty than those two things.

Re: Riot Games Approach to Anti-Cheat

#153
So I'm not seeing anything particularly novel here. In fact, I think most AAA titles do most if not all of these things today. It really just boils down to understanding your title's threat model and mitigating the threats.

I think the article missed an opportunity to talk about false positive rates, the workflow for users to get unbanned due to false positives (usually a very nasty process), performance, platform support (Windows, for example, has encrypted app packaging [1], anti-cheat monitoring [2], and protected processes [3] built in), and the privacy implications of uploading non-game-related Windows driver and process data.

[1] https://docs.microsoft.com/en-us/windows/uwp/packaging/creat...

[2,3] https://docs.microsoft.com/en-us/windows/uwp/packaging/app-c...

Re: Riot Games Approach to Anti-Cheat

#154

Earlier quoted context omitted.

Being a blockchain would give exactly zero advantages over a traditional database.

yes it will. Because in a block chain, you can't change anything unless everyone agrees to it. If you change that code, and place it back in the block-chain no other block will agree to your change and reject you.

You seem to have several misconceptions about computing in general. This is not how any of this fits together.

Re: Riot Games Approach to Anti-Cheat

#155

Earlier quoted context omitted.

(As a former high level StarCraft / SC2 player / caster). It's not chess. That's why. There is a real physical aspect to the game. Training your fingers to hit certain combinations quickly to execute build orders, and mix in micro is key. Pro players use hot packs to warm up their hands, or glasses to aid their eyes. The game developer takes a lot of care to ensure the UI / hotkeys / peripheral setups are optimized f…

Many responses are saying the same thing, so I'm going to respond to you ... > It's not chess. I agree it's not chess, and chess often has a time component to it. The realtime nature of a game doesnt mean you should have to be able to "move" in realtime, IMO it would be superior if it tracked more closely to your ability to react, intellectually, in realtime. That is, real time thought more than realtime motion. Ergo…

With enough mechanical aides, the game balance breaks.

For example, SC2 has a very cheap unit called the roach. When burrowed, it can't attack, but regenerates health incredibly quickly.

It's trivial to write a cheat that will, whenever one of your roaches starts taking damage, causes it to burrow, and whenever it stops taking damage, unburrow.

The unit is balanced around human control - no human can, with perfect accuracy, choreograph burrows and unburrows of individual roaches in a pack of ~60.

With such a cheat, roaches punch way above their weight, completely breaking the rock-paper-scissors balance of the game.

Re: Riot Games Approach to Anti-Cheat

#156

Earlier quoted context omitted.

If you restrict the machine code it makes it that much easier for me to write an emulator to execute your machine code and return the result. It might even be trivial. It is a never ending Ouroboros. You build a more clever mouse trap, I will design a more clever mouse. If I have all your code and am running it on my computer it will be a matter of time before I can back out whatever obfuscation or technique you are…

> emulator to execute your machine code I think you missed a part. Namely that "It is allowed to read from anywhere". If it can't write anywhere but the sandbox, that just means it can't modify the game dynamically, just read its state. Which is plenty to verify whether the client has been hacked anywhere. You can read spans of .text to check whether code has been modified, you can read heap locations to check whethe…

A sandbox can be a virtual machine, for all practical purposes indistinguishable from any "normal" computers ordinary players use. Of course this will lead to the never ending Ouroboros of more sophisticated detectors and more sophisticated virtualization, ad infinitum.

I've heard there are cheats that use hypervisors to stand above the operating systems and avoid kernel-level anti-cheats. I wouldn't be too surprised to learn about cheats that sit on a bus and use DMA to peek into anything they please (subject to the memory protections of IOMMU - again, this war doesn't seem to have an end) - they're probably impractical but not something that couldn't exist.

Re: Riot Games Approach to Anti-Cheat

#157
post #117
post #3

This is a great technical breakdown of some modern high level approaches to common cheats. I think this the most transparent approach (even though the author admits leaving some detail out) to modern anti-cheat for massive multiplayer games. Good on riot for having an open dialogue about this. I don't think you'd ever see someone like Valve going a transparent route with something like this. (Not making a judgement o…

Fair context: I make cheats/utilities this exact game being talked about in this article, so perhaps my opinion on the subject is biased or even invalid. I partially disagree about the transparency of this article, while they do explain most of their approach to anti-cheat (and that is pretty cool for them to do), they seem to leave out any mention of anything that could be controversial. It suppose that it does make…

Wouldn't that run afoul of GDPR?

Re: Riot Games Approach to Anti-Cheat

#158
post #151

Earlier quoted context omitted.

Many responses are saying the same thing, so I'm going to respond to you ... > It's not chess. I agree it's not chess, and chess often has a time component to it. The realtime nature of a game doesnt mean you should have to be able to "move" in realtime, IMO it would be superior if it tracked more closely to your ability to react, intellectually, in realtime. That is, real time thought more than realtime motion. Ergo…

I don't understand why you're so intent on doubling down here. There are other strategy games out there that focus on strategy more than micro mechanics. Why not play those instead? I don't think "I want to play Starcraft but without micro" is a compelling argument for changing Starcraft. I actually think it's pretty selfish to make these demands. It's a reasonable premise for finding or even creating a new game.

SC2 was simply an example. Clearly this is about the set of many RTS games more than just one game. And to be upfront, yes, "I want to play Starcraft but without micro" is a decent representation of my gaming desires.

I may just go ahead and make such a game sometime and, I suppose, we'll see if anyone likes such a game dynamic. It would definitely introduce a very meta game where creating and tuning your "loadout" could matter greatly.

Re: Riot Games Approach to Anti-Cheat

#159

Earlier quoted context omitted.

(As a former high level StarCraft / SC2 player / caster). It's not chess. That's why. There is a real physical aspect to the game. Training your fingers to hit certain combinations quickly to execute build orders, and mix in micro is key. Pro players use hot packs to warm up their hands, or glasses to aid their eyes. The game developer takes a lot of care to ensure the UI / hotkeys / peripheral setups are optimized f…

Many responses are saying the same thing, so I'm going to respond to you ... > It's not chess. I agree it's not chess, and chess often has a time component to it. The realtime nature of a game doesnt mean you should have to be able to "move" in realtime, IMO it would be superior if it tracked more closely to your ability to react, intellectually, in realtime. That is, real time thought more than realtime motion. Ergo…

> Ergonomic aids would help people to convert their thoughts into real game plays without limiting them to their body's capabilities.

StarCraft is physical - that's critical to the entire genre (RTS/MOBA/etc). Without it, it's not StarCraft.

Improving your dexterity is a real part of improving your skill in a game like StarCraft. So using a program to do this for you instead is cheating.

It sounds like you want to play something like Stellaris, Sins of a Solar Empire, or any other 4X-style genre game.

Re: Riot Games Approach to Anti-Cheat

#160
post #99

Use blockchain. It is a very simplified comment, but behind that you can expand the topic to include many advantage a blockchain can provide during multiplayer games. EDIT: yes it is a very unpopular topic, but deep down many of you who are developers, know that blockchain can solve many of these issues with cheater.dll

How exactly would blockchain do anything that a regular database couldn't do in this instance?

sharing the altered code. If you share the code and its invalid it can be traced back to your account. Which you can only create if you are part of that chain as a registered user. That fingerprint changes as soon as someone tries to use their account and tries to validate against the chain. It does not stop the cheater, but it stops it from spreading the cheat and it is easy to identify the cheater.
Post reply on HN