An ioctl() call to detect memory writes
An ioctl() call to detect memory writes
Posted Aug 11, 2023 14:29 UTC (Fri) by excors (subscriber, #95769)In reply to: An ioctl() call to detect memory writes by dullfire
Parent article: An ioctl() call to detect memory writes
Sure, but there are different options for responding to that situation:
1) Stop making games like that.
2) Keep making the games but give up trying to prevent cheats.
3) Put a substantial amount of effort into trying to imperfectly reduce cheating.
The problem with option 1 is that it includes basically all competitive action games (since they're inherently susceptible to client-side aimbots etc), which are some of the most popular games, with hundreds of millions of players and tens of billions of dollars of revenue. Players want those games and developers want to make those games.
The problem with option 2 is that rampant cheating will kill a multiplayer game. If you're in a match with 12 or 24 or 100 players, and even one of them is cheating, it's usually no fun. A small percentage cheating can mean you'll encounter one in almost every match, and then you'll stop playing the game. And that makes the cheater-to-non-cheater ratio worse for the remaining non-cheaters, so they're increasingly likely to quit too. We don't want the games to die for the same reason as point 1.
In practice, option 3 works. There are popular competitive action games on PC where cheating is rare enough that typical players won't be bothered by it. They use a combination of server-side and client-side techniques, plus other design techniques (like requiring a substantial investment of money and/or time before an account is allowed into competitive modes, so people can't trivially start cheating on a new account whenever their old one gets banned), and lawsuits against people selling cheats, etc. It's fragile and messy but it seems to be good enough, and I don't think I've seen any better ideas.