Live data from Hacker News

Riot Games Approach to Anti-Cheat

engineering.riotgames.com

131–140 of 412 posts

Re: Riot Games Approach to Anti-Cheat

#131
post #120

The game is 100% online. Could you have a piece of the networking protocol where the server sends little snippets of executable code over the network during the game that read some specific locations in memory, do some processing, and send the results back to the server in the next packet? You could do things like check the starting address and length of loaded dlls, or take the hash of some random span of machine co…

You are going to kick players off for a missed packet? Network connections have packet loss and game protocols are usually udp.

Nope, just like any other game state that will eventually have to be synced to the server the results can be synced later. But you can't just run it any time because it reads the state of the game as soon as it arrives.

Re: Riot Games Approach to Anti-Cheat

#132

I wonder, given that nowadays access to vast amounts of computing power on demand is easy, if it would be effective to generate unique builds for each and every player. Just like they already do, but tailored for each downloader. Which would get tied to an account, and to a given fingerprint.

you are talking about a blockchain. I have talked about this in many occasions to developer and they also agree that a blockchain to maintain a unique fingerprint of the game is very good to deter many attacks to modding and extensions to code, no matter the platform.

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

Re: Riot Games Approach to Anti-Cheat

#133

IMO games should encourage ergonomic aids. Why allow the UI to be a limiting factor to how you want to play? For example people used to talk about APM in SC2 as a sort of measure of how good someone is. Why should that be? It's a strategy game. Imagine if you could express your ideas effectively into actual game actions?

(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. Ergonomic aids would help people to convert their thoughts into real game plays without limiting them to their body's capabilities. But I also admit this is my opinion and it's clearly an arbitrarily decided dividing line between how much should a game be about myelinating certain move patterns (spread out troops, cast a spell, select production groups) and how much a game should be about quality of thought in realtime (I see he made units X, How am i going to respond? I have many minerals, should I spend them on tech or units?) ...

Re: Riot Games Approach to Anti-Cheat

#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

Re: Riot Games Approach to Anti-Cheat

#135

The game is 100% online. Could you have a piece of the networking protocol where the server sends little snippets of executable code over the network during the game that read some specific locations in memory, do some processing, and send the results back to the server in the next packet? You could do things like check the starting address and length of loaded dlls, or take the hash of some random span of machine co…

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…

"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 doing and undo it."

sure try to undo a block-chain and see what happens.

The code will be encrypted with a unique key that will need to be registered on the server with your account. Change that code and it invalidates your entire build along with your account. case closed.

Re: Riot Games Approach to Anti-Cheat

#136

I wonder if there's an optimization to be made about tolerating a minimum amount of cheating while being vociferous about the countermeasures? Along the same lines as "no such thing as bad publicity", having just enough cheating to piss off a few people and getting them to talk about it and the countermeasures seems like a great way to get free advertising and game engagement of players just curious to see who is che…

No. Because potential players are not just hearing about the game, but how it's broken and unfun because of cheaters.

Re: Riot Games Approach to Anti-Cheat

#137

The game is 100% online. Could you have a piece of the networking protocol where the server sends little snippets of executable code over the network during the game that read some specific locations in memory, do some processing, and send the results back to the server in the next packet? You could do things like check the starting address and length of loaded dlls, or take the hash of some random span of machine co…

So as a cheater you intercept those snippets, lets them do their magic in a dedicated address space that has the same client code loaded?

So you're saying the cheater would have to run a duplicate, unmodified, instance of the game in parallel with the hacked version that the cheater is actually using, while correctly teeing networking traffic and mouse/keyboard inputs, and dynamically inserting the snippet results from the legit copy over top of the results of the hacked copy. That seems like a huge increase in level of effort from cheaters for a relatively small measure from riot. Seems worth it to me.

Re: Riot Games Approach to Anti-Cheat

#138

Earlier quoted context omitted.

That seems like a good "wonder", definitely not deserving of downvotes. I'm pretty sure I want to play games in which there is no cheating though. You could do handicapping, so in an FPS rather than allowing wallhack lower players get a call from control "someone is closing on your position [from the North"]". Or new players are 'fresh' and can move faster. You need to weight it very carefully though.

Yeah the downvote has become the "disagree" button sadly. I remember playing GTA-V on PS3 and early on people figured out some sort of (seemingly) underflow attack where they got billions of in-game cash, traded and gave it away, and were eventually wrangled in by the mods. I wasn't harmed by this, I thought it was ingenious of whoever found it, and got a good chuckle at the moral judgements the pregame messages disp…

You're comparing things in a single player game to things in a highly competitive multiplayer game. Not the same at all.

Re: Riot Games Approach to Anti-Cheat

#139

Earlier quoted context omitted.

you are talking about a blockchain. I have talked about this in many occasions to developer and they also agree that a blockchain to maintain a unique fingerprint of the game is very good to deter many attacks to modding and extensions to code, no matter the platform.

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.

Re: Riot Games Approach to Anti-Cheat

#140
post #80

Earlier quoted context omitted.

If you're talking about DRM like Denuvo, that's something else entirely.

I'd say there are very reasonable parallels between DRM and on client anti-cheat technology. I mean, at it's most base, both technologies are there to subvert the owners wishes. Arduous people like me find such subversion to be unethical. Not that I don't see the practicality, mind.

I don't see trying to ensure a fair playing field for all involved is unethical.
Post reply on HN