logoalt Hacker News

mcvtoday at 1:45 PM2 repliesview on HN

Reliable anticheat is serverside. Clientside anticheat sounds like a fool's errand to me. You need to control the client, so that means the user cannot be in control of their own computer, which is contrary to the idea of Linux.


Replies

kimostoday at 1:56 PM

It works on Windows by essentially rooting the machine. MS holds control of a bunch of stuff because they hold the signing keys. It’s fundamentally incompatible with open source.

show 2 replies
tetetoday at 1:57 PM

Yes and no. I agree the only thing that can be reliable is server side.

However that means that anything based on reaction times and such is impossible to protect against (under reasonable conditions). At the end of the day you can always have a robot sitting at your desk. But there is steps to that. You can have something that highlights enemies, etc., you can have something that controls keyboard and mouse (maybe inside a VM, so you don't need hardware) and so on. You can reverse engineer packet encryption in a debugger (in most situations) and have something on the network messing with stuff and so on.

So in that regard, yes you can prevent everything you can prevent on the server, but you cannot prevent every sort of cheating on the server.

Everything that has rounds basically can be prevented (other than again a bot playing).

Everything that is complex to automate is better, but might just make cheating more "worthwhile".

The other thing you can do on the server is "dumb cheat" detection. Eg. the odds of someone being consistently as good at a game and such. Statistics like that is widespread and doesn't need any change on the client.