Live data from Hacker News

Riot Games Approach to Anti-Cheat

engineering.riotgames.com

261–270 of 412 posts

Re: Riot Games Approach to Anti-Cheat

#261
Cheat, anti-cheat, antivirus, malware, and to a lesser extent debugger and profiler. All these tools are going after each other in the same territory: monitoring a certain system activity to report or intervene. To me, it looks that all these functions are traditionally in the realm of operating system. Are we going to have a new middle layer or a new OS architecture for catering things like this? I'm curious.

Re: Riot Games Approach to Anti-Cheat

#262
post #238

Earlier quoted context omitted.

This is an interesting approach because even though they may be cheaters they are _still_ people that are interested in your game. The percent of cheaters with the objective to utterly destroy the game they're cheating at is probably negligible.

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

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".

Re: Riot Games Approach to Anti-Cheat

#263
Some of this is pure evil.

> We block this very common technique by making sure that when the value is changed by taking damage, the value is actually moved as well.

> To introduce more entropy, we also made sure that each value uses slightly different encryption.

> At compile time, a randomly selected type of anti-debug check is inserted into each of the locations where a check was requested in the code.

Ive always wondered where you store the key that decrypts code at run time. On phones and DVD players the key is stored on hardware but it does not seem like an exe has this luxury.

Re: Riot Games Approach to Anti-Cheat

#264

Here's my project's approach to Anti-Cheat. 1, 2, 3) Everything on the server. Server's version always wins. Server is the authoritative source. Granted, I have a mathematical advantage in the game's particular movement mechanics which makes this easy to get away with. The other game mechanics are also designed with facilitating this in mind. Corollary: The client is almost nothing and trusted with nothing. It's pret…

Essentially, treat the client as a client to the API that is the game and that presents the game world.

I like the idea of customized clients, ala WoW's add-ons back in the day. Looking at the screenshot in the article, the idea of treating visible weapon ranges as a cheat strikes me as less balance than artificial difficulty. (Especially considering how many games have exactly that feature.)

Re: Riot Games Approach to Anti-Cheat

#265

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.

Re: Riot Games Approach to Anti-Cheat

#266

Some of this is pure evil. > We block this very common technique by making sure that when the value is changed by taking damage, the value is actually moved as well. > To introduce more entropy, we also made sure that each value uses slightly different encryption. > At compile time, a randomly selected type of anti-debug check is inserted into each of the locations where a check was requested in the code. Ive always…

it doesn't matter where you store the key as long as it's not easy to figure out for the disassembly program

Re: Riot Games Approach to Anti-Cheat

#267

The best way to prevent cheating is by streaming games. Game streaming services are the future of multiplayer games. Edit: I mean cloud gaming like OnLive, not Twitch.

What part of cloud gaming prevents aimbots?

Identify enemy player's head, move mouse, click.

Re: Riot Games Approach to Anti-Cheat

#268

Earlier quoted context omitted.

In the case of Riot / League of Legends, these are still potentially customers willing to pay for skins etc, which is their income stream. I wonder if cheaters are as likely to pay for that stuff as non-cheaters?

A game with prevalent hacking/cheating is going to go downhill quick and lose it's established player base. Catering to these people in any way does not seem like a wise strategy.

The options presented are 1) segregate them into a separate pool, as suggested. They can then still give you money, the arms race is short circuited, and they don't impact the enjoyment of other players.

2) You ban them.

Re: Riot Games Approach to Anti-Cheat

#269
post #253

Earlier quoted context omitted.

> 4) Scripting -- if you can't beat 'em, join 'em! Yeah, I was kind of annoyed that he flags this: > draws the ranges of various abilities, indicates which minions are ready to be last-hit, and shows the path of skillshot projectiles. as a cheat. It seems like this would be a godsend to new players. However, I prefer Supreme Commander/Total Annihilation-like games over the twitchfests like Starcraft.

However, I prefer Supreme Commander/Total Annihilation-like games over the twitchfests like Starcraft. We've made our client so dumb, even Fog of War is cheatproof. How do we enforce not seeing something? The data for those entities isn't sent. In fact, this is exactly the same thing as making an entity disappear. The entity's tag and movement info aren't sent, and so it's diffed out of the set of visible entities.

Now you have me curious what project you’re working on.

Re: Riot Games Approach to Anti-Cheat

#270
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.

Certainly not all cheaters have the same interests. Some are simply curious experimenters, others are trolling, others want to make videos doing the impossible etc. I wish there was another path out of this mess than the current arms race. It would be interesting what effect would result in providing a sandbox mode where cheating were allowed to see if it would reduce cheating in general population.

Some game developers are making AI teams for their games which seems to be the logical conclusion for botting.
Post reply on HN