Live data from Hacker News

Riot Games Approach to Anti-Cheat

engineering.riotgames.com

291–300 of 412 posts

Re: Riot Games Approach to Anti-Cheat

#291

Back when I worked in games we would detect cheaters and then shadow ban. Quarantine them by only matching them into games with other cheaters. You may still have to ban them from certain elements of your game, like player economies (auction house, etc). But the more legitimate their experience looks the better. The idea is that instead of fully banning them and triggering the next iteration of the arms race, you tra…

Quarantine only delays the length of time the cheater/spammer knows they've been caught, usually on the order of days. So, the tradeoff is building the real experience (along with adding new features) for those users to save days. It's usually not worth it.

>Quarantine only delays the length of time the cheater/spammer knows they've been caught, usually on the order of days

Days are crucially important in a game's development cycle. This is because the modern review style is structured around "first impressions", since interest in a game is an L-curve: the first person to get a review out can sometimes claim a lion's share of ad-revenue from possible viewers.

This means preventing cheating "on the order of days" can protect your game's review scores during the most critical review period.

Re: Riot Games Approach to Anti-Cheat

#292
post #254
post #238

Earlier quoted context omitted.

I mean... sure but they're also only willing to interact with the game when they're making the experience bad for everyone else.

I don't think it is really the cheaters that degrade the experience, it is the knowledge (right or wrong) that cheaters exist that reduces trust that makes for not fun experiences. I've played online games for many thousands of hours over the past two decades and I can count the number of times I encountered a blatant cheater on my hands. Every time it actually happened people had a good laugh about it and either hop…

Wait, what? Why would allowing cheaters to run rampant mean people accused others of cheating LESS?

Re: Riot Games Approach to Anti-Cheat

#293

Earlier quoted context omitted.

The latency from the player to the server still exists though so I dont see how this is going to solve any problems.

50ms player to streaming server + 10ms streaming server to streaming server + 50ms player to server = 110ms is less than 150ms player to player.

and how do you propose a server in Australia is going to achieve 10ms to a server in the US?

Why is the server to server latency going to be less than the ISP's natural routes?

Re: Riot Games Approach to Anti-Cheat

#294
post #254
post #238

Earlier quoted context omitted.

I mean... sure but they're also only willing to interact with the game when they're making the experience bad for everyone else.

I don't think it is really the cheaters that degrade the experience, it is the knowledge (right or wrong) that cheaters exist that reduces trust that makes for not fun experiences. I've played online games for many thousands of hours over the past two decades and I can count the number of times I encountered a blatant cheater on my hands. Every time it actually happened people had a good laugh about it and either hop…

Borderlands was fun until the cheaters showed up, and this even as a cooperative game.

People with hacked 999999999-damage guns warp in, splat everything and even if they dont steal all the loot, they make the entire game pointless.

You couldnt do anything about it but leave. There was no ban system users could appeal to.

Though some fun memories were had with cheaters in other competitive games, like coordinating to try to take down or hide from literally invincible opponents.

Re: Riot Games Approach to Anti-Cheat

#295

Back when I worked in games we would detect cheaters and then shadow ban. Quarantine them by only matching them into games with other cheaters. You may still have to ban them from certain elements of your game, like player economies (auction house, etc). But the more legitimate their experience looks the better. The idea is that instead of fully banning them and triggering the next iteration of the arms race, you tra…

Sure. Until you're playing Dark Souls for the first time, you get summoned to help someone with a boss, and then get invaded by someone with a 360 degree one-shot kill spell that breaks all your weapons and armor, gives you an egghead that you can't remove unless you know where to go, and gives you an item that marks you as a cheater so you now get constantly invaded by exclusively cheaters. The item that marks you a…

> The item that marks you as a cheater might have been a drop in another invasion, I don't remember.

I believe they can do it completely passively, so you’re kinda screwed if it happens to you :( This is sadly the nature of trusting what clients send you: a hacked client can send whatever it wants and the “anti cheat” in Dark Souls sadly seems to simply just check if an item should be possible, meaning a cheater can trick the game into punishing non-cheaters. Luckily this hasn’t been a problem for me on console, but it certainly does suck on PC :(

Re: Riot Games Approach to Anti-Cheat

#297

Earlier quoted context omitted.

Console speed-runs have different leagues where different levels of glitches are allowed - from 0% to any%. Maybe that could work here, possibly as a "competitive aimbot league".

I was under the impression that 0%, 100%, and any% were completion ranges, not different levels of glitches allowed. 0% means you make as little progress as possible, level up as few times as possible, pick up as few items as possible, and otherwise avoid progress other than completing the objective. 100% means you pick up every item, finish every quest, etc... any% means you do whatever you have to in order to get t…

I’ve always heard n% refer to the completion ranges, as you say, however, the level of glitches allowed has often been a factor too (although in my limited experience its usually been simply no glitches allowed or glitches allowed). Mostly I’ve watched dark souls speedruns where the general consensus is that any in-game glitches are allowed, external tools, hacks etc are not and the % refers to how many of the bosses are defeated.

Re: Riot Games Approach to Anti-Cheat

#298

Earlier quoted context omitted.

How do you prevent the cheat doing a MITM attack and changing keys?

Yes, you are right. That's what I was missing :-)

The answer, and it has dark implications, to me, is Trusted Computing. Never let the user have full control. Do this key exchange on a base OS or some other VM the user can never touch (e.g. Knox / TrustZone). Still, we can exploit our way to this trusted OS and MiTM there, but it takes much more skill. With Trusted Computing the base OS can more simply install a "spy" to keep track of a games memory / code to ensure it is only ever loaded and executed from memory that is essentially made read only after the program is loaded but before it executes. The trusted OS verifies the program code, the OS, etc, and if it all checks out, let's the code run. Of course it goes back to the halting problem, but if the programs memory is unexecutable and modern exploit mitigation is applied the game is now in a considerably sturdier mouse trap :)

Re: Riot Games Approach to Anti-Cheat

#299

Earlier quoted context omitted.

I think you are missing my point. This concept in client computing security basically chains back to the halting problem. You can't /know/ what I am doing with my computer. You can build a very elaborate trap / obfuscation and it might be hard, really hard, to defeat it or circumvent it, but it is a certainty that I can. The block-chain has absolutely nothing to do with client code security because it has a network e…

You are absolutely correct, but it occurs to me that CPU designers could actually implement a kind of RSA style memory fetch instruction. The CPU would generate a public/private key pair, where the private key is not accessible by any means. The client would send the public key to the server, which would in turn encrypt the memory location(s) that it wishes to inspect. There would then be an instruction on client's C…

You're on your way towards reinventing "trusted computing". https://en.wikipedia.org/wiki/Trusted_Computing

Re: Riot Games Approach to Anti-Cheat

#300

Back when I worked in games we would detect cheaters and then shadow ban. Quarantine them by only matching them into games with other cheaters. You may still have to ban them from certain elements of your game, like player economies (auction house, etc). But the more legitimate their experience looks the better. The idea is that instead of fully banning them and triggering the next iteration of the arms race, you tra…

Very productive approach. I felt like I learned something today.
Post reply on HN