One thing I don't understand and I would really appreciate if someone could explain this to me. Why do we need separate anti-cheat programs? Can't the operating systems simply have an option when creating a process that prevents all operations looking at the memory of the process (and maybe if such a process is about to be launched the user has to explicitly accept that by clicking a button)? Wouldn't that stop almos…
Are We Anti-Cheat Yet?
61–70 of 197 posts
Re: Are We Anti-Cheat Yet?
#62Earlier quoted context omitted.
oh dang you should be a multiplayer engineer. Sounds like with barely even thinking about the problem space you've solved what thousands of extremely talented and knowledgeable engineers never could! Servers very much distrust the client. Obviously. That's literally rule #1. Don't trust the client! Comments like yours are extremely irritating. Please don't behave this way with your co-workers. Anyhow, there's all kin…
It was an honest and inquisitive question, calm down.
If you want to inquire then inquire. Don’t propose a bad solution as if it was an easy problem that you solved with nary a thought.
Re: Are We Anti-Cheat Yet?
#63Earlier quoted context omitted.
Not delaying UI interaction; though conflict resolution (there are at least two involved clients, each with it's own lagged view of the other, and a server that knows it's own truth) might change the outcome of events. THAT is the part of multiplayer net code I know the least about, mostly because I don't think there is a perfect solution but I am not a subject expert on what works well as an approximation.
Then you have rollbacks and rubberbanding, and UI elements that fired which aren't valid once the physics interactions have resolved serverside. Jt doesn't take much for people to feel like the UI is untrustworthy and “broken”. No game wants to be a jank piece of ass, but theres no good solution here, believe me, we’ve tried.
Re: Are We Anti-Cheat Yet?
#64I don't know enough about 'real time' netcode for games. However I have read several HN articles over the years so I've got at least a basic understanding. Why can't the servers distrust the clients? What should a 'client side anti cheat' actually prevent? The way I think I'd tackle such things is to have multiple copies of each character model moving in different locations and different ways. Such that trying to spy…
> Why can't the servers distrust the clients? What should a 'client side anti cheat' actually prevent? There are two issues. One is the user seeing things that the server is hiding, such as enemies hidden behind obstacles, by going into "wireframe mode". The other is superhuman performance via computer assistance, or "aimbot hacks". The first is a performance issue. The server can do some occlusion culling to avoid t…
Thanks to the neural network, we have made enormous progress in the computer vision domain. As a byproduct, it invalidates the method we use to separate machines from humans (the image-based CAPTCHAs).
I guess aimbots will switch to CV-based systems to detect enemies rather than dumping game memory to find the enemy's position. This change will force anti-cheat systems to perform an automated Turing test, which is hard. (Telling the bot and human apart only by watching the replay is much more challenging compared to the above CAPTCHA problem. And we are currently losing at the CAPTCHA frontline, too.)
Re: Are We Anti-Cheat Yet?
#65Earlier quoted context omitted.
Not trusting the clients and redoing all calculations server-side would require massive processing on the server side. Your idea then multiplies the load on the server.
Overwatch does this just fine and deadlock actually.
Re: Are We Anti-Cheat Yet?
#66One thing I don't understand and I would really appreciate if someone could explain this to me. Why do we need separate anti-cheat programs? Can't the operating systems simply have an option when creating a process that prevents all operations looking at the memory of the process (and maybe if such a process is about to be launched the user has to explicitly accept that by clicking a button)? Wouldn't that stop almos…
Re: Are We Anti-Cheat Yet?
#67One thing I don't understand and I would really appreciate if someone could explain this to me. Why do we need separate anti-cheat programs? Can't the operating systems simply have an option when creating a process that prevents all operations looking at the memory of the process (and maybe if such a process is about to be launched the user has to explicitly accept that by clicking a button)? Wouldn't that stop almos…
Of course nowadays DRMs are sort of baked-in, so I guess anti-cheats could be too?
Re: Are We Anti-Cheat Yet?
#68One thing I don't understand and I would really appreciate if someone could explain this to me. Why do we need separate anti-cheat programs? Can't the operating systems simply have an option when creating a process that prevents all operations looking at the memory of the process (and maybe if such a process is about to be launched the user has to explicitly accept that by clicking a button)? Wouldn't that stop almos…
Cheats run on the cheater's machine, not on the other players' machines. Of course the cheater would always click accept because it's not an accident that the cheat is running on their machine.
Re: Are We Anti-Cheat Yet?
#69One thing I don't understand and I would really appreciate if someone could explain this to me. Why do we need separate anti-cheat programs? Can't the operating systems simply have an option when creating a process that prevents all operations looking at the memory of the process (and maybe if such a process is about to be launched the user has to explicitly accept that by clicking a button)? Wouldn't that stop almos…
Usually cheat programs are employed by the user. So they would of course click accept .
Re: Are We Anti-Cheat Yet?
#70I don't know enough about 'real time' netcode for games. However I have read several HN articles over the years so I've got at least a basic understanding. Why can't the servers distrust the clients? What should a 'client side anti cheat' actually prevent? The way I think I'd tackle such things is to have multiple copies of each character model moving in different locations and different ways. Such that trying to spy…