All these people explaining that server side anti cheat is "easier". Let me explain to you the real reason why games use client side anti cheat:
- It used to be, gamers could self host servers. These servers, would almost always have an active moderator who would instantly ban any cheater. I've watched quite a few cheaters get instabanned on games like this.
- But then, companies decided to deny gamers the control and ability to self host their own server which they could moderate. They decided to force everyone to play on one server — their server.
- However, they quickly realized that they were unable, or unwilling to spend money on moderators to ensure a high quality experience.
- Ergo — client side anti cheat. In addition to continuing their control over servers, now they also gain a degree of control over clients.
I've heard one rebuttal to this: Not all cheaters can be spotted by a human, sometimes they pretend to be a really good player.
To be blunt: I don't really care. I don't really understand why people care about that kind of cheater either. The point of kicking cheaters is to keep the game fun by not having everybody get crushed. But if the cheater is just like another good player, then they're just another good player to me.
I used to play this browser game, https://krunker.io/. It's a browser based FPS game, and due to being browser based it was really, really easy to write cheats. The devs gave up after like a month, and simply stopped updating the anti-cheat, opting for a different system instead — deputization. Players would become "krunker police", and while playing, if a cheater was reported, then they would anonymously, and silently watch, and then take action.
It worked pretty well, then krunker got bought by a mobile gaming company and the game lost a lot of members. But I think the original io browser game is still under full creative control by the devs though, it's just the discord, facebook, and mobile versions of the game that are enshittified.
Anyway, when I was playing a few months ago, I encountered a cheater in one of our lobbies. They were trolling, while advertising cheats. But there were like 5 good players in the lobby, it was a cracked lobby, and we stomped them. They couldn't even make it to top 4/8 people.
Imagine aimbotting, advertising those aimbots, and still getting stomped. We called them out on that, and they just left. And that moment was a shit ton of fun.
But anyway, in the comments, I see some of this same sentiment that companies parrot: That cheaters are inherently bad, and need to be stopped because cheating is bad. This frustrates me because cheaters are not the only entity which can make a game unfun, there are also other toxic elements which should be moderated, but are often not, because of the focus on cheaters.
Play with cheaters, or play without DRM/Kernel level anti-cheat, pick one
Like this snipped from one of the comments below.
But people do cheat with DRM/Kernel level anti-cheat? I can think of 3 ways to do it off the top of my head:
- Undetected virtual machine
- Physical device that uses DMA to modify memory
- Editing of device drivers that have DMA access
And I especially hate this particular dichotomy because, by assuming DRM/Kernel level anti-cheat is invincible, it creates a sort of "blindspot", where when someone does cheat, they may not get noticed because it's assumed they are unable to cheat in the game, which is not the case.