Live data from Hacker News

Riot Games Approach to Anti-Cheat

engineering.riotgames.com

381–390 of 412 posts

Re: Riot Games Approach to Anti-Cheat

#381
post #134

One of the things coming out of this is that legitimate coding within a game (for example teaching children how to code - a very important point for me at this point in life) is almost out the window I love minecraft for their RPi version but beyond that, I don't know of any games that have that kids pull and can still be taught it's something like "we used to turn on a PC and see a command line. now we have to jailb…

you can still do so with most drm free singleplayer titles

can you suggest any please :-)

Re: Riot Games Approach to Anti-Cheat

#382

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…

#5 is a bit of a double-edged sword, isn't it? All RNGs that I know of would require a shared seed value, and with procedural generation, you can effectively path any/everywhere in parallel.

All generation is done on the server side. The cryptographic strength is to protect the seed from being inferred from the output.

Re: Riot Games Approach to Anti-Cheat

#383

Earlier quoted context omitted.

You can have real-time games whose mechanics are designed around latency. My game is one example. In fact, I would assert that for now, you have to design around latency in real-time multiplayer games. Until round-trip latency for your entire userbase is below 40ms, it will be an issue.

I'd say 30ms, not not 40. Because a single frame is 16.6ms, so 30ms round-trip would bring one-way down to below one frame of latency (potentially with a small amount of jitter).

It sounds surprisingly high, but a lot of the population won't notice 40ms round trip. Some of it will know. It also depends on the game's mechanics. Not all games are FPS. Not all games have action significant down to one frame. Some of my favorite real time games involve making decisions about once every 5 seconds which will result in a turning point in another 15 to 30 seconds which will get you killed or leave you victorious.

Re: Riot Games Approach to Anti-Cheat

#384

Earlier quoted context omitted.

Essentially, my game system is the low tech version of this. The game is just a dumb terminal for displaying moving objects, which are syncing to info streaming from the server. It's so simplistic and dumb, we can even enforce Fog of War. When an entity disappears, its tag and move information are simply not sent. The client then diffs it out of the set of visible things.

Any reasonable multiplayer game works like this. They mention it in the linked article: "We don’t share the state of other players if it doesn’t need to be shared, so we can avoid common cheats like “map hacks”. Essentially the client only has the information it needs to show the current state of the game. The problem is then that the state available to the client (like position of entities) is easily accessible in m…

The problem is then that the state available to the client (like position of entities) is easily accessible in memory unless you implement some of the countermeasures they describe.

Not a problem for my project. If you can't see it, the server isn't sending you anything.

Re: Riot Games Approach to Anti-Cheat

#385
post #339

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…

Very unfortunately what you explain here only work for very specific type of gameplay. For instance almost nothing works when you need to secure first-person shooter simply because it's skill-based gameplay where it's also very easy to cheat for the bot.

There are more kinds of skill than just twitch fast aiming.

Re: Riot Games Approach to Anti-Cheat

#386

Earlier quoted context omitted.

If you can identify a physical person with a unique identifier, it is PII according to GDPR, I believe.

You can apply a one way function to an IP to obtain an ID and then maintain a database of bad IDs. For example you could compute this ID by the SHA256(IP + secret salt). Since way one function don't allow you to recover the IP, the ID is not PII. If you detect an IP which has bad ID the connecting ban that IP from the game. I think this respect the GDPR, you don't maintain a list of IPs or any other PII.

Any phone has enough computing power to just bruteforce a 32bit value in order to recover the original IPv4 address from a normal cryptographic hash in a practical timeframe.

Re: Riot Games Approach to Anti-Cheat

#387
post #373

Earlier quoted context omitted.

> You have to disable all VMware services or PUBG will kick you randomly for using "unauthorized applications." If any game dis this to me, I would be having a refund, through credit-card charge-back if necessary. Unless of course it is made obvious up-front that the game will not work with certain common legitimate software, in which case I'd have not paid for it in the first place and would play something else inst…

Be careful, if you do a chargeback on Steam or similar platforms you will be banned.

It shouldn't be necessary: if it wasn't made clear that the product was incompatible with common standard software and that stops it working for me, then it is not fit for purpose and if they are following the law a refund should be easy to obtain.

If it gets to the point where a chargeback is necessary then they are being a bad actor and I wouldn't be spending any more money with them in future anyway. If any banning means I lose access to content I've already paid for, then I can re-obtain that by other means. I currently chose to pay for their games but that doesn't mean I'm not capable of obtaining them by other means and would feel no moral compunction not to if I'd already paid for them but been locked off unfairly.

Re: Riot Games Approach to Anti-Cheat

#388

Earlier quoted context omitted.

Aren't there massive video latency issues with this? People spend tons of money to get the absolute best frame rates and monitor response times, I can't imagine hardcore gamers wanting to have tens of ms additional latency in their gaming.

You can have real-time games whose mechanics are designed around latency. My game is one example. In fact, I would assert that for now, you have to design around latency in real-time multiplayer games. Until round-trip latency for your entire userbase is below 40ms, it will be an issue.

> I would assert that for now, you have to design around latency in real-time multiplayer games.

Yeah but I believe they mostly do that with client-side rendering using the graphics card, and then reconciling that with what the server side "thinks" things should look like.

That sort of thing wouldn't be possible if you're just working with a video stream.

Re: Riot Games Approach to Anti-Cheat

#389

Earlier quoted context omitted.

You can have real-time games whose mechanics are designed around latency. My game is one example. In fact, I would assert that for now, you have to design around latency in real-time multiplayer games. Until round-trip latency for your entire userbase is below 40ms, it will be an issue.

> I would assert that for now, you have to design around latency in real-time multiplayer games. Yeah but I believe they mostly do that with client-side rendering using the graphics card, and then reconciling that with what the server side "thinks" things should look like. That sort of thing wouldn't be possible if you're just working with a video stream.

I'm not advocating working with a video stream.

Re: Riot Games Approach to Anti-Cheat

#390
post #373

Earlier quoted context omitted.

> You have to disable all VMware services or PUBG will kick you randomly for using "unauthorized applications." If any game dis this to me, I would be having a refund, through credit-card charge-back if necessary. Unless of course it is made obvious up-front that the game will not work with certain common legitimate software, in which case I'd have not paid for it in the first place and would play something else inst…

Be careful, if you do a chargeback on Steam or similar platforms you will be banned.

One more reason not to use Steam and friends..
Post reply on HN