> Solving online game cheating is a billion dollar business.
The existence of an incentive does not guarantee the existence of a solution.
> HN has a lot of very clever people.
From the way people are talking about this issue (in this and the other thread) I don’t think any solution is going to come from HN commenters. Most of the people here are thinking about the problem from first principles and generating ideas that either:
- haven’t worked in over a decade because cheaters have workarounds
- overestimate the capabilities of AI or statistical methods
- underestimate cheaters or contain false assumptions about how cheaters think/behave
- underestimate how many people are demanding a solution to this and what kinds of strictures they’re willing to accept
- underestimate the backlash in store for any solution that isn’t 100% correct
It’s not like the incumbents are dummies. They’re constantly thinking about this from all angles and are willing to try anything.
Obvious, cheap solution (to this controversy): make it optional. If people don't want to install a rootkit, let them play with other people who are willing to play in a rootkit-disabled session. I seem to recall this was how e.g. punk buster worked 20 years ago.
This is technically already the case for many games already. For example for EasyAntiCheat, the EAC kernel module won't be loaded unless you join a server with EAC enabled.
My first thought there would be to just build up randomness entropy on game launch, and when mouse movements/keyboard events break that, detected. I assume I’m missing something.
The problem isn't only detecting suspicious statistical or computational patterns, it's doing the detection on a device you ultimately don't control, and entirely in software (at least for PCs, at least for now).
With enough effort, all software can be virtualized, and whether the defender's effort can even theoretically be scaled more easily than the attacker's is an open question.
I guess my thought was, if a cursor just "jumps" or moves quickly in a mathematically straight line, probably an indicator. Or if inputs had almost the exact time gap between them for a series of actions.