So yeah, I want to discuss or point out why I think Valve needs to fix Anti-Cheat issues.
They have VAC but apparently its doing jackshit, be it Counter Strike 2 (any previous iterations) or something like Hunt: Showdown the prevalence of cheating players is non deniable.
For me personally it has come to a point that I am not enjoying playing those games anymore, although they are great games by itself. But the amount of occurrences being killed or playing against cheaters is at a height, where I don't see the point anymore.
- Why I think Valve is the only company able to something against cheaters?
Because they have the tools with VAC already aiming to prevent cheaters. Valve has got the resources to actually invest into something more profound which could be used for any game where anti-cheat protection needs to be implemented. And lastly Valve is the company which is interested in furthering the ability to gaming on Linux, the anti-cheat solution needs to work on both operating systems. Only Valve has the motivation and means to achieve that with their knowledge and resources.
What do you guys think about the topic? Is the fight against cheaters hopeless? Do you think some other entity should provide anti-cheat protection, why? I skimmed over "anti cheat in linux kernel" posts in the net, but I have very little knowledge about the topic, what is your stance on it?
Edited:
Mixed EAC with VAC. EAC seems to be part of Epic Company. Both of these tools seem unable to prevent cheating like mentioned above.
I described a plan here: https://pawb.social/comment/4536772
Not perfect, but neither are rootkits.
I mean AI sounds like a legit idea. In the past e.g. battle.net from Blizzard was also just looking for "patterns". And AI could be much better at that. The question is, how do you get the required information without having any clientside info? To distinguish between a good player and a bot would be very very time consuming to train an AI on that level.
All you really need is where the character is looking, their location and the terrain map, all of which are things the server has authority over or can check easily.
Distinguishing between a good player and a bot probably won't be that hard. A simple aimbot would probably fire exactly at a target's (0, 0) coordinate, while a good player may be a frame or two early or late. Someone with wallhacks will behave differently if they know someone is around a corner. There's almost certainly going to be small "tricks" like that that an AI can pick up on.
We went through this in RuneScape with auto miners. You just randomise locations and times slightly and it's almost impossible to tell the difference.
It's so easy to get around.
Depends on whether people working on cheats can see the anti-cheat detection code. It's hard to ensure that one data set is statistically-identical to another data set.
I remember at one point, reading about use of Benford's law, that the IRS looked at leading digits on tax forms. On legit tax data, "1" is a more-common leading digit.
Recently, Russia had a vote in which there was vote fraud, where some statisticians highlighted it in a really clear way -- you had visible lines in the data in voting districts at 5% increments, because voting districts had been required to have a certain level of votes for a given party, and had stuffed ballot boxes to that level.
If I can see the cheat-detection code, then, yeah, it's not going to be hard to come up with some mechanism that defeats it. But if I can't -- and especially if that cheat-detection code delays or randomly doesn't fire -- it may be very hard for me to come up with data that passes its tests.
bots are way more elaborate than that, even 20 years ago there were randomization patterns.
Unless the aimbot is using its own AI learning system, it'll not behave as a human would. For example, it might fire at a random point in a circle, where a human might have better aim along the horizontal axis or something.
Bots can be updated to, its the same game with hacks and exploits, it just depends on the resources available at each side.
What makes you think that anything client-side will be allowed to work as it should?
I don't. Anything on the client can be tampered with. It's the server's job to make sure anything they receive is both valid and consistent with how a human would act.