Call of Duty Adds Kernel Level Driver for Anti-Cheat
callofduty.com
callofduty.com
I think there's a solution that would let wood-tier players like myself avoid this kind of intrusive software, whilst keeping higher-level play clean though.
- Implement server-side anticheat detection, that will ban things that look like bots. As other commenters have noted, bots are indistinguishable from good humans from the outside. So, the server-side detection would ban both bots and good humans
- Have _opt-in_ client side anticheat detection. If you have this enabled, then you're exempted from the server-side detection. So, you enable this if you're actually good.
Could even make this part of the ranking mechanics. Maybe you _can't_ enable the client-side anticheat until the server-side one thinks you're sus. Then you get prompted to turn on the client-side support and get a cool badge or something.
This is a bad enough problem that it actually threatens the integrity of the game and the continued support from more casual gamers such as yourself.
As for your particular case (running a Windows VM with PCI-e GPU passthrough), that's... such a niche corner case that you're you just don't factor in.
We can agree that cheating will never be truly eliminated. It's a question of degree and it requires a multi-level solution ie both client-side and server-side.. The server-side detection has to allow for checking by a human with all that entails. It sounds like this is what they're rolling out with CoD Vanguard (Ricochet). It'll be interesting to see how effective this is.
Probably the biggest problem for the likes of Warzone and Fortnite is that the game is free. It means getting banned and having to create a new account is essentially zero cost. What about paid-for and earned cosmetics I hear you ask. Well, those are hacked too so it doesn't really matter.
Although I concede that basically what I'm asking for here is for the default to be _my_ usecase...
And why do you care if a lobby exists that you are never going to go to? Why does it bother you if cheaters want to use cheats against each other? As long as you don’t interact with them, I don’t understand why you would care.
Also I don't think "twitch streams" are a great sample of "normal level gameplay", most people there would be ranked comparatively highly in MMR I would have thought? That or I'm leaving tons of money on the table by not streaming my wood-tier CS:GO :D
There's also another issue where some people play with devices like Cronus which are borderline cheats and essentially hardware scripts (better/no recoil control, scripted bunny hopping, that sort of thing).
I wish I were making up that last one.
But limitations in available players in the queue (especially as skill goes up), "experience optimized" matchmaking (which psychologically manipulates you into playing more by feeding you wins and losses at the right time)...I'm not so sure.
I used to spend a significant amount of time playing a tactical shooter type game, and what I figured out was that the game would purposefully throw you soft games and hard games, especially when first partying up with people on your friend list.
One of the developers of the game publicly disclosed that their matchmaking algorithm took several dozen games to figure out how good you were. I tried creating a new account, and it took a very long time before I stopped being given opponents who could barely move, whereas I'm dodge-rolling, using my character's ult, using grenades, etc. It was so bad, I felt terrible and stopped using the secondary account. So cheaters (who keep creating new accounts) probably enjoy plenty of playtime. There were multiple cases of obvious cheaters running around achieving relatively high account levels, showing that anti-cheat measures took a long time to kick in.
Lastly: the anti-cheat software available for this relatively small game was incredibly sophisticated. Sure, you could set the hitbox detection and zero fuzz and go for all headshots, but that would make you jump off the page stats-wise, you're right. As long as you weren't super greedy, you could probably "on paper" look like just a fairly skilled player.
The other problem? The game had verystrong controller assist. So much so that many pro players abandoned the game fairly early on. It was very difficult to tell the difference between someone cheating and someone who was just good at controller play, because controller aim assist is intended to help casual players compete against MNK players. It's not intended to help very skilled controller users, who will absolutely decimate MNK players in a lot of types of gunfights (particularly close range stuff.)
I'm not saying it's not niche (it definitely is), but I just wanted to chime in and say I'm another one who does this.
Here's one patch that supposedly works with battleeye: https://github.com/WCharacter/RDTSC-KVM-Handler
The current situation is that they could probably use server-side heuristics to detect players behaving oddly, review the case, and ban according.
But also I wouldn't be surprised if there were already bots using machine learning to autoaim based on video signal out of the PC with aiming done as a "real" HID mouse.
If we can train a car to drive, we can certainly train a computer to find and click faces in cod.
But we can't really train a car to drive yet, and it seems unlikely that the full problem (i.e. Level 5) will be solved in the next decade or so.
But with Warzone, it was happening so often, I no longer give anyone the benefit of the doubt. I used to run into more than one blatant cheater per day. And now all my bad beats, I assume half of them are cheating, even if it's not exactly clear. It's ruined the game for me. I genuinely don't even bother to play anymore unless I'm playing with one of my friends.
I should know, because I decided years ago to take the path of "if you can't beat 'em..."
Once I did, it became painfully obvious how many people cheat. With x-ray, "wallhacks," or 3D "radar," with bounding boxes around all players, it became readily apparent who's aiming at and/or chasing players who shouldn't be visible, always choosing the route the opposing team is taking, without fail. And who on the other team always takes the route you take, chasing you through any maze with no problem, even turning around when (and only when) you try to flank them. Also anyone who out-scores you while cheating (particularly if you're "rampaging") is definitely cheating as well, because you're already doing better than is humanly possible. And believe me, you'll get out-scored plenty.
I would be glad to have functional anti-cheats, but it's just not possible in my experience. Cheats are available on day one of any game launch, or day 2 at worst. It's big business (clearly). Even kernel drivers like this have patched kernels to get around them.
For now, cheating makes games fun to play again. Aimbots aren't perfect anyway, and even if they were, nobody can look or shoot everywhere at once. You still have to manage ammo, you still have to reload, and you can still get the drop on people (cheaters) when their attention is focused elsewhere, and you still get killed while cheating. Sure, it sucks for the people who don't have cheats, but I'm not going to be one of those people as long as a large percent of other people are cheating too. Unless and until anti-cheating actually works, it's just evening the playing field as far as I'm concerned.
You know it's possible to choose to -not- play a game, right? There are so many games available that don't have ridiculous cheating problems.
The only point at which a company cares about cheaters is when the community starts to really get riled up about them and revenue drops.
COD Warzone has a full stats API and cheaters leap off the page. We're talking people with K/D ratios of, say, 10-20:1 or more. All they'd have to do is zap or flag those accounts automatically. But they don't care.
Just about any sort of public online game involving shooting has long stopped being fun for me because cheating is so rampant and blatant, and companies care more about policing talk on their discords and subreddits about problems with cheaters, than they do about addressing the cheaters.
The issue with any kind of wave of ban style action like you are suggesting is that the users can just create new accounts for free and continue to cheat. It greatly reduces the integrity of the overall matchmaking and game experience for everyone else.
If you think there is a better solution to ban repeat bots and cheats please provide it or at least offer a creative response to what COD is trying.
full disclosure, I don't like this solution, but having seen anti-cheat measures in a number of games, this seems to be the only one with real teeth for shooters
> The only point at which a company cares about cheaters is when the community starts to really get riled up about them and revenue drops.
My point is not contraindicated by Activision releasing new anti-cheat software a year and a half after a game came out.
Activision likely saw falling player signups/playtime/cosmetics spending, did some surveys, and decided improving their anti-cheat was the way to go.
> If you think there is a better solution to ban repeat bots and cheats please provide it or at least offer a creative response to what COD is trying.
In another comment I pointed out that the games are full of cheaters so blatant their K/D ratios are better than the top pros in the game, sometimes by a factor of ten. It would be trivial for Activision to automatically ban them simply on that alone, or at least auto-flag them for a manual review. A K/D ratio of 1.0 is considered "good" for an average player. 2-3 would be world-class. The top player on one of the CoD:WZ trackers has a K/D ratio of twenty six.
You're right of course, if there's no $$$ to be made from people who won't buy the game if it has client-side anticheat, then why would they develop a whole second system just for people like me who don't want to run this crap, but want to play the game enough that they'll run it anyway?
Have you tried running CS:GO on Linux through Steam on Linux? It's officially supported and for me it runs as well as I expect on low-end hardware. Are there any performance reasons to want to run in a Windows VM instead?
I do worry that this push to ever-more-intrusive forms of anti-cheat will mean that games are less likely to run on Linux. If the source to your anti-cheat kernel module needs to be released under the GPL it's probably not going to be that effective for very long..
This is how it works in ARMA for instance (not sure if opt-in or opt-out though), the players can decide whether to install/uninstall the game's anti-cheat solution on their machine, and the people running the servers can decide whether they require the anti-cheat-solution to be installed. Since I almost never venture into multiplayer anyway, the decision for me was simple (uninstall the anti-cheat software).
> - Implement server-side anticheat detection,
This only works for "real" client/server games, not peer-to-peer games which usually only use centralized servers for matchmaking and some other non-gamplay-services.
My buddies started to play Valorant and they asked me to give it a try. I downloaded and installed it.
First major issue: Must start on boot and has to be running at all times. If you close it, you have to reboot the entire machine to play Valorant.
Second issue: (This has been fixed) All my VMs stopped working. I couldn't start any of them in my VMware Workstation.
Uninstalled Vanguard and Valorant shortly after. There should no reason an anti-cheats needs to run on boot.
That's somewhat similar to how FACEIT did it when I tried it for TF2. The serverside detection decided if you needed the client side detection.
When (not if) cloud gaming truly takes off, and it will, we'll lose any and all control over our games. So long to modding, so long to messing with .ini files to get settings right, no decompiling games, no games preservation... The Netflix model approach, where we don't own anything, we're 100% reliant on them to provide us with the service, where servers can (and do) get shutdown at any moment after X amount of years of support.
A world where we don't own the games, just subscription services with extra fees for XP boosters.
The ultimate live service game that so many of the big companies love.
PS: Also means no more cheating by the standard methods.
In the next version of Windows, we're seeing a rapid acceleration in the amount of hardware/software fingerprinting and secure storage going on in home computing, with the introduction of the TPM 2.0 and UEFI requirements.
I am almost certain that Microsoft is progressing to be able to sell a completely hardware-protected memory address space to game developers, so that they no longer HAVE to worry about cheating. Because if everything from boot onwards is both signed and supports DRM, it's the perfect place to authenticate everything that happens afterwards.
This is interesting in that it will almost certainly lead to an explosion of DRM, DLC, and software sold via subscription models. And while this kind of thing will probably be initially well received by players hoping for decent anti-cheats, it will almost certainly lead to users forfeiting even more control to corporations over the final direction of the software programming.
(This kind of control may eat itself alive given enough time; we'll really only know after humanity has already gone that far!)
What's worse, MS and hw companies are joining efforts and may pressure Linux platforms as well (remember the story with the UEFI shim signature).
I understand you meant it in a different light but I thought I'd give it a mention.
In movies, everyone is now making their subscription services, that are really popular; while services for buying movies online existed for years and were not really all that successful.
You can buy movies on iTunes for maybe 15 years now and on Google Play for ... a while too; but it has never been as successful as Netflix, Disney+, HBO Max, Paramount Whatever, is now.
People just prefer the subscription model.
But maybe gaming is fundamentally different. Apple Arcade is not really successful, but maybe it's because Apple is being Apple, I don't know. Xbox... has a game pass thing? I don't really follow that that much
>You can buy movies on iTunes for maybe 15 years now and on Google Play for ... a while too
I don't know about itunes, but the last movie I ""bought"" on google play couldn't be downloaded, I had to watch it through their interface and firefox on linux was not supported. I believe they don't offer the thing anymore as well, probably happened during one of their countless service mergers and shuffles. I can't find it anymore, anyways. 0/10 would not license a movie through google again.
Do you know what isn't going away? The files I ripped from blurays that stores are selling for about five bucks a pice, 12 if you take three. Unless I get an mkv I can play wherever I want for as long as I have it, I'm not buying.
Want to mod, LAN, or play casually? Play locally.
Want to play without cheaters? Choose your friends wisely or play on cloud gaming.
Lack of DRM drives interest in the game, which drives interest in cloud gaming subscriptions due to wanting cheat-free gameplay.
Are you kidding? What's the most recent game you have that will let you set up a non-hotseat multiplayer game involving only computers you control?
But that's just the difference between downloading a starcraft replay file and watching it in starcraft, versus downloading a video of a starcraft game and watching it in a video player. One is a compressed video, and the other is also a compressed video, but with a different compression scheme.
I'll begin to worry when the speed of light increases, making gaming through streaming practical.
Oh that's good.
> Plus, the kernel-level driver only monitors and reports activity related to Call of Duty.
Oh, so in other words it reports everything since any software that might be used to cheat at call of duty is technically related to call of duty... Whenever I see this kind of vague verbiage it's never a surprise when it turns out the people who wrote it chose their words very carefully, to purposefully mislead people.
Edit: Oh, and they definitely say they monitor other software "that interacts with call of duty" later in the article.
Cheat software has to do things like nose around in the game's memory space that no legitimate program is going to do. It also contains in its memory space keywords common to cheat programs.
That sort of search isn't really invasive because generally anti-cheat software when it triggers takes an screenshot, and if you're playing the game, there's nothing personal on the screen. Maybe a process is fingerprinted as a known cheat package. Say your kill to death ratio or hit/miss is unusually good. Or you get reported by a higher than normal number of people. Or a human moderator pushes a request, for whatever reason. Or they get a hit on the 'greps' I mentioned, etc.
The goal is to see if you've got a screen overlay that betrays wallhacking (ie "glasswalling") or a cheat system's UI. That's all they care about.
user data can absolutely be a money-maker
Data can be if it's useful, this isn't useful to anyone outside the people playing the game.
IIRC, some of the process was automated, some was player-reported, and some was done through human review. As a gamer averse to both cheating and spyware, I found this very appealing. I wonder how their systems have evolved since then.
The original youtube clip (v=ObhK8lUfIlc) has been made private, but I think this is a copy of the same video:
The biggest problem was: It didn't auto ban, just sent to overwatch (players watch a past game and vote for cheater or not, fully anonymized). This resulted in a massive clog when some guys I knew generated around 10k free steam accounts (with $3.5 of proxies), began queueing a few dozen at a time, rage cheating. A hell of a lot of games can be botted with free accounts and a beefy (server IIRC) rig; I think he told me he had about 100 accounts running normally in 10 separate Competitive games all against his own bots(rendering at 2x2 resolution so it ran okay, with cheats injected). They all got sent to overwatch but because so many games were being put through overwatch, the queue got overloaded.
This is called Vertigo boosting, because the bots all queued for Vertigo, an unpopular map, to increase odds that only their own bots would be in the game (and, coincidentally, minimize collateral damage to legitimate players). (though it's normally to rank up accounts, not to spam ow queue)
Hi eso :p
https://arstechnica.com/gaming/2021/07/cheat-maker-brags-of-...
Besides that, Riot is already losing the cat and mouse game with cheating in Valorant despite their kernel anti-cheat. There are publicly available cheats which have been undetected for months. Hardware ID spoofers are commonplace as well so cheaters are able to make new accounts and go back to cheating if and when they get banned. Even if kernel anti-cheats worked perfectly, they still wouldn’t be able to detect newer hardware based cheats which run entirely on a second PC leaving nothing for a kernel level anti-cheat to detect.
If it got to this point, to continue your metaphor, the mouse is nearly extinct. The point is not to eradicate cheating, it's to stop the bleeding. Valorant cheats don't even have to do this btw (really only necessary for incredibly extreme cases, see lohousedev and sparkles' video)
Do you know how easy it would be to stop 90% of cheating, at least for a few weeks, in CSGO? It's so easy I figured it out by dumping cvars with a server plugin when I was 14. There is zero way for a legitimate player to have certain cvars set, only a cheat would; yet, cheating is still a massive problem in CSGO.
VACnet has been actually really good, so I agree that that's a better avenue. In addition I am still against kernel AC's (speaking as a legit player, not as an ex-cheater). But the cat-and-mouse game is effectively over if 95% of the mice die.
Valorant's cheating is NOWHERE NEAR csgo. Someone I know on Valorant's AC team actually said they're ramping up (vaguely) so fingers crossed?
Valve couldn't figure it out for years and years.
Subtle cheats are absolutely a problem, but far less of a problem for the average new non-prime or fresh trust-factor player than a rage botter
I've reported bugs to the VAC email and they were patched a few weeks later, so maybe they do try? I really can't think of a reason WHY they neglect VAC willingly..
>As we speak, there are probably public cheats in existence that won't be banned for at least another two years.
Yep, I used to help maintain a free one on github, the traffic was in the tens of thousands. Been UD for 2+ years (and it's a fork of another, which was UD for 2+). All because we use Java and VAC never started scanning the JVM.
A few months ago, their secondary system, "Trust Factor", was broken for an unknown period of time, which the communication to the community was a single tweet. During that period (probably a few weeks?), there was blatant cheaters in half the games I played.
I've moved to playing FACEIT (a third-party matchmaking service) recently, partly due to anti-cheat. I don't remember the last time I saw a cheater in FACEIT, while CSGO's matchmaking has cheaters in around 10% of my games (average skill player, ~2k hours over 7 years, high Trust Factor).
Then there's EFT (BattlEye) ruined by rampant cheating.
Then there's (was?) Combat Arms (multiple anti cheats over the years) ruined in-part by rampant cheating.
I wouldn't mind _that_ much if anti-cheats actually helped, but they don't.
I do think that anti-cheat helps, if the developers are mostly engaged with it, but it's a long fight over a long time. Most of the strategies to do with 'ban waves' - ie, not banning cheaters immediately - are pragmatic concessions to that reality.
It's almost sad to see how badly anti-cheat software works. There are entire economies built around cheating. We used to combat this by being able to manage/run our own game servers with staff dedicated to the experience but very few games still support managing your own server. It will always be cat and mouse.
Because of the steam deck that would be pretty bad business, so maybe it's less about intrusiveness and more about that valve can't, without destroying their hedge against a Windows monoculture in gaming.
http://meseec.ce.rit.edu/551-projects/fall2016/3-4.pdf
https://www.youtube.com/watch?v=quLa6kzzra0 (for software discussion check around the 19:00 mark but the whole talk is incredible)
But of course the real reason they would love to prevent anyone from tampering with the game is so they can sell more single player cheats such as experience booster packs.
I don't personally play either game, but from what I've come across on the subject over the years, publishers seem to be a lot less difficult about it today compared to a few years ago. I recall reading about them denying a ban was due to mod use when they were wrong, being ridiculously vague about what modding was and what wasn't allowed, refusing to fully restore a player's character even after a ban was rescinded, etc.
https://www.pcgamer.com/gta-online-players-report-multiple-u...
https://www.reddit.com/r/pcgaming/comments/g139nu/eas_volunt...
Interesting edge case: https://www.pcgamer.com/gtav-modders-reportedly-banned-for-c...
Banning on single player would be silly. But GTAO is another story. It's designed as a cash farm. You have to grind missions, buy shark cards or use cheats. So as I understand they will ban anyone if they detect it's using mods/cheats. But GTA anti-cheat systems are weak and sessions are P2P or at least were.
I would be more interested to hear about games such as god of war or horizon zero dawn, which have no online play at all, used anti-cheat.
So how about yes, let's focus on fixing the problem at hand, and if it's used for something else(like single player games) then I'll complain about it. Right now developers have my full support to use whatever methods they can to make sure the hackers stay out. The game can boot into its own OS for all I care.
No, I'm saying it's feasible. It's not uncommon to hear of people being reported by their teammates in team games for just having a bad round, and in games with cross team chat (like LoL until very recently) people would request the enemy team to report for "feeding". The SnR is incredibly low when the report button is just used as "I had a bad game and am blaming someone else". The sheer scale of reports in a game like warzone (where there are 150 players per game, and each session takes ~30 minutes) where there are 100,000,000 people playing [0] isn't feasible. Technically yes, nobody wants to pay for it, but nobody wants to pay for it in the way that nobody wants to pay to send every player the hardware required to play the game.
> Set up a very modest subscription model (like 2$/mo) to fund report checking for your game, possibly with a free tier that starts with low trust, and nuke people by credit card number.
This is a terrible idea, for many reasons. $24/year in the US is much less than $24/year in India, the Phillipines, Brazil (which is where many F2P games are popular. You're also competing against games that _don't_ charge $24/year. There is already a secondary market for video game accounts, this just ensures that a secondary market appears for games with valid credit cards attached to them (and this sounds like _exactly_ the sort of secondary market you want to discourage from your game). Having this sort of protection also doesn't weed out cheaters; CS:GO is absolutely rampant with cheaters, despite having an actual price tag, and requiring a _phone number_ for verification (it's now F2P with a prime upgrade for ranked; it's no better). You're also competing against people who are willing to pay $50/month to cheat [1] in a F2P game, so asking them to pay $2 extra to play the game is not going to stop them.
[0] https://www.eurogamer.net/articles/2021-04-21-call-of-duty-w... [1] https://battlelog.co/store/product/315-mwwarzone-supreme-20-... - This is a cheat site,I make absolutely no claims about what is actually on the site, wouldn't recommend clicking this link.
That's why I'm not really worried about this tech "spilling" to single player games to protect MTX or anything like that, but I'd really really really like to see it deployed as aggressively as physically possible in online competitive games.
As you pointed out, what the vast majority of gamers will respond to is performance. In order to get performance, you have to start cutting other areas like graphics. However, those are other important aspects - maybe particularly to marketing.
The reason it's not palatable enough to be widespread is because of it's technical limitations. If you throw enough resources at the matter to remove those limitations, you won't see all the pressure you're mentioning that keep companies from making maximal use of this kind of tech in all games all the time.
I'm pretty comfortable erring on the side of caution here. Cheaters are rather annoying, but at least it's a relatively contained problem with a fairly wide range of options for how I want to respond to it. Worst case, I can go try to find a smaller community or even just go play another game. Meanwhile, most every game being fully locked down in all the ways... I can't really do jack about that.
Don't ruin my ability to run graphics mods on GTA, ha
I actually find this to be pretty darn reasonable.
If people want anti-cheats so much for competitive online gaming, demand better consoles that can actually be on par with PC. We don't need this kind of stuff on an open platform.
Anticheat would just be icing on the cake of a dedicated game mode.
I've actually figured out the permanent solution to cheaters. Oddly enough, I worked it out in Pokemon Unite, which doesn't have a cheating problem as far as I know, but does have items that you can buy to boost your character stats. The solution is easy: play a game with a good ranking system, and don't get too sweaty about the whole thing. People who use non-skill based tools like cheating or paid boosts will shoot right up the rankings and leave you behind to play in peace. If somebody has a cheating tool that is so subtle that they play all the way down at my level, it is arguably not a real help anyway.
But software augmentation doesn't just improve apparent skill, it can also distort gameplay. What if you're really skilled and you get matched with what amounts to a bot? Even if you're good enough to overcome the bot and win the game, it won't be the game you signed up to play.
The real problem here is "annoying play styles", something that humans are capable of indulging in without any software help. This is usually policed - ineffectively - by social pressure ("no camping!"). The real solution is an extension of the ranking system - a reputation system, which tracks sportsmanship. All of these problems ultimately stem from the practice of connecting vast numbers of anonymous strangers with each other - cheatbots simply aren't an issue when you play with your friends. This is a social problem.
Independent of that and completely niche -- a game where they specifically themed it as some sort of 'gladiatorial combat,' and ranked the players based on crowd response could be cool. I definitely wouldn't want that in every game, but it could be a neat spin-off.
A lot of games do this, and the cheater’s response is to deliberately lose a bunch of games so that they drop down to the lower leagues, where they can more effectively harass the noobs
A youngster getting into reverse engineering surely does not have deep enough pockets to spend several hundreds of dollars on buying the game over and over.
Too bad now you have to learn how to decompile a kernel driver and how to bypass that just to try and make a basic trainer.
The whole thing is that, if you don't want other kernel drivers touching Windows before yours loads, you have to load yours first (at least, I believe that was a point of contention last time). It'll probably be in the same light as how Riot Vanguard works in that it loads pretty early at boot, but only sends data to the server when you open the game.
You have to attack this from an information theory perspective. If the client receives the information in any manner whatsoever, you must assume it is being used in the most adversarial way possible.
The AI problem is more complex, but that's more a function of how deep the gameplay is than how good the hacker is. Time constraints make pure machine vision bots subpar for fast-paced games that also have a complex tactical element.
Complexity and pacing of gameplay is going to eventually have to be one hedge against AI. It's effectively a continuous captcha.
Terrible bots can still spoil fun, for some of these people that is the only goal.
Nvidia GTX 1650s
Ryzen 5 3rd Gen
Not amazing by any stretch, but definitely good enough to play most games.
Kernel level drivers are also kind of useless, easy to circumvent, easy to reverse engineer.
Building a capable computer vision bot that can play World of Warcraft, Diablo and CS:GO is trivially easy to do these days. We're talking a few hundred lines of Python to build a working prototype that will track and kill and take objectives.
I have a computer vision Diablo 3 bot of less than 2,000 lines of Python that can run Rifts and and grind high level Grifts with complete success, including boss encounters and adds.
My World of Warcraft computer vision bot, long since retired, was under 8,000 lines and was sophisticated enough to get me some contract work with Blizzard to write machine learning algorithms to hunt for bots in the game world.
With the release of YOLOv5, the rat race for cheater free games just got even more one sided.
They should invest instead in server-side models for detecting cheating, then it can't be circumvented and you don't need to bother learning all the different ways they can produce inhuman inputs.
Which is already the case and can't work for all use cases. how the server knows that you see behind walls exactly? And ML / heuristic stuff is very limited as well.
Detecting cheating, client or server side is very complicated and not even close to be a solved problem.
They're "whitelisted" because the game benefits from streamers who look like they're great at the game, and because competition for pro players is actually fairly stiff (in part because there aren't many pro players, because it's so hard to make money at it...but also because being competitive at a game usually means dedicating your training and play time to that game.)
Aim fatigue is a problem for pro players and it usually sets in around an hour or two...so when you see a streamer playing really well hour after hour, they're almost certainly employing some level of cheating. It might be really subtle, they might only 'flip it on' when they really have to. But it's there, and at 30-60fps and stream compression it can be really hard to spot even if you're a seasoned player in the game.
Inhuman inputs are a thing of the past. Kids these days can do some pretty wild stuff at high levels of play.
This is malicious and a massive overreach.
You always see huge backlash on the internet, but you never see low player counts.
This is the equivalent of forums vs. Facebook. The moderation on well-run forums is better than what Facebook can offer because it's done by real humans.
Instead, this sounds like a great application for machine learning. Train an algorithm to identify a wide suite of cheats using data passed to the server. It wouldn't work for P2P, but if your competitive matchmaking uses P2P then you have bigger problems.
[0] https://www.tomshardware.com/news/impossible-to-detect-cheat...
My son plays both, but CoD really sucks. It is so obvious when someone is cheating.
DKOM(reading/modifying kernel structures directly) is alot harder to detect, and also alot more undocumented. To the point it takes someone in the field to make a cheat and bypass, vs someone with a decent level of application dev experience. And there's not many Kernel developers, and there's also such a limited amount of forensic/malware analysts that can code anything beyond powershell.
It is not always very obvious, at least on CSGO... there are some experienced/smart cheaters.
I guess radar cheats where the ethernet cable to split to a second computer could also be considered a hardware cheat, since it's running between an airgap.
Incredibly difficult to detect, you basically need to model the way users behave differently from bots... but at the high end of competitive play people tend to approach more bot-like behaviors.
Besides, I know like 90% of cheaters are 14 year old kids who used the first google result because it's so easy to. Any resistance and that'll stop a majority
Even if you made a specialized item it would still cost a lot mostly due to the ML requirements. Maybe smartphone + a specialized input device would reduce the 'cost', but you still need to buy a several hundred dollar cell phone.
Should also reduce smurfing somewhat - you'd only be able to dominate a match once with a given account.
Then the cheaters organically get placed in lobbies with other cheaters, ruining the fun for them. If the system doesn't work the best right out of the box, that's fine, because you are still gravitating those cheaters upwards in rank, which will most guarantee that they get reported from other players.
The problem with "a working report system", by which I take it to mean you have actual humans reviewing reports, does get you somewhere, but it doesn't touch 'humble' cheats, ie: rather than headshotting everyone 100% of the time, a cheat that lowers your recoil 15%. For an already very good player, -15% recoil in CS:GO or PUBG is a crazy, crazy advantage... and yet you couldn't notice it by looking at a video.
Even though it's an impossible fight to win completely, I don't think the answer is to "give up early".
Not possible. Sure, it might be possible to detect a player instantly snapping to the center of an opponent's head and clicking, but cheats could easily make the aim move over the course of several frames, and make the target off of the center of the head by a couple pixels to simulate someone just being really good.
I've watched some really good gamers in person. People's ability to quickly flick their mouse and pop shot to a target only 1/4" inch wide on their screen in a tiny fraction of a second is insane to me.
So being able to differentiate between a cheat that tries to behave like a god-like player (rather than simply aiming to a head in a single frame) and an actual god-like player is not possible.
> a working report system.
Also not possible because of the sheer number of reports. There are people that will report 100% of the time they lose a firefight, even if a replay makes it very obvious that the person they lost against was not cheating.
And again, even with a replay, it can be impossible to differentiate between a cheater and a really good player, except in the case of OBVIOUS cheats, like shooting through a wall with 100% accuracy, or firing into nowhere and scoring hits on targets a mile away.
At best, you could ban people from using the report system when it's obvious they're abusing it, but evaluating reports has to be a manual process, but manual processes doesn't scale when you've got a player base of 7 figures or more.
2. Ideally you want to prevent cheaters from playing a single game. Reporting cheaters does nothing as legitimate customers still have to deal with cheaters and cheaters will just make new accounts.
(As an aside, we already have games using built in assistance/cheats as an accessibility feature to level the playing field for people using certain hardware or controllers e.g. games with PC and console crossplay, so perhaps there's some approaches and lessons from that which we can apply here as well.)
The only thing at stake then is the integrity of leaderboards or tournament brackets, which is a problem that already had some different, separate approaches to solve. But IMO that a problem is absolutely subservient to the integrity and playability of the base game.
"... that a problem is absolutely subservient to the integrity and playability of the base game."
If you use hacks/cheats to help you play higher than your natural skill/ability, doesn't that ruin the integrity of the game? The mission is not accomplished in this case. Instead it's just tricky to determine who's hacking.
Headshotting everyone on-sight also sounds like the old days of hacks in games. In my experience, there is more nuance to the way these cheats are used these days. Most people aren't trying to be obvious about it.
It'll still be better than 99.99% of human beings at clicking on heads, and will still win you 99% of fights against non-cheaters.
Now what do you do, in your correctly coded game?
Keep in mind, as a cheat developer, I can keep moving these goal posts.
I actually think the worst thing about the suggestion you're replying to is that it is an over-generalisation. "Most players will do X", "they nearly always do Y"... yeah, okay, but what about the 10% who don't? The 1% or the 0.1% who don't? What about the ones who do as you describe, except for 5% of the time when they don't, or when they get lucky? I've hit genuinely lucky shots in a game, accidental good plays, for the receiving player they probably thought I was cheating, and yet I wasn't. The potential for false-positives is horrible, and you end up outlawing legitimate behavior based on a poor understanding of play.
Do you have any experience developing networked multiplayer games? I do it for a living, and it's not that easy, at all. In a situation where I shoot at your head on my screen, but you were already around the corner on your screen, what happens? This happens _all_ the time due to latency, and has nothing to do with development costs or infra. There's no way to avoid the problem when you have people with varying levels of connection quality, and different distances to the game server.
Giving Activision kernel level access on a private device, what an improvement.
It's essentially the same problem as DRM, which generelly can only hope to prevent piracy for a few weeks. The solution of the movie industry there was to add there garbage directly to the hardware.
Also the server should not send info a legitimate client have no use of.
If it has 99% accuracy, then you're banning thousands of players
have fun dealing with tickets for them & review process
>Also the server should not send info a legitimate client have no use of.
do not games send "too much" in order to play around networking constrains?
Obviously you can't just automatically permaban people if the system is not based on a technical inspection of the player's system. Instead you have to bar them from playing for a few days or so.
Even VAC reverses bans sometimes.
If you are looking for a perfect solution there will never be one.
> do not games send "too much" in order to play around networking constrains?
Maybe the newest games does that. CSGO and other popular games send complete positions and what-not to every player.
None of the Kernel anti cheat work without being compatible with Linux which currently none of them are. EAC is supposed to be in the future but I doubt it will work.
It's not impossible, it's just up to Activision.
[1] https://dev.epicgames.com/en-US/news/epic-online-services-la...
[2] https://twitter.com/thebattleye/status/1441477816311291906
Unless out of spite, like when Snapchat banned third-party clients for Windows Phone (like 6snap) and accounts using it (I'm still raging that my 'benbristow' username got banned and now I'm using 'benbristow1' because of that).
Fun fact: The guy that made 6snap (and other 6 prefixed apps like 6tin (Tinder)) (Rudy Huyn) was hired by Microsoft and is now one of the leads behind the updated Windows 11 Store app
No, it wont.
I don't think I've seen any developer using EAC outright poo-poo the possibility so far, so that's somewhat encouraging...
As a thought, one could make a game I imagine that actually encourages cheating and have the entire thing be an arms race in cheating tech, that sounds pretty fun .
While I don't like kernel level anti-cheat, its hard to disagree that its better than nothing and also hard to deny that cheating in competitive realtime multiplayer PC games isn't a huge problem.
modprobe -r kernel_module_name
to unload a kernel module and modprobe kernel_module_name
to load it.Heck, these days, even a GPU driver can be hot-swapped.
I don't like the practice, but I had to install it anyways to play Valorant with friends.
The huge problem is that cheaters are very willing to go to extreme lengths of inconvenience or even risk, as in running random cheats as kernel level drivers.
So anything that makes the developers have to bypass another hurdle and another component you can patch in your anti cheat "rootkit" gives you a small boost in the cat and mouse game.
Your component starting at boot makes it more likely the cheat devs and cheaters will have to do the same and have a more complicated setup.
Is it possible to stop this[1] kind of cheat without some kind of hardware verification?
So when someone is caught, with manual review for example, they won't be able to play again on the same hardware.
It doesn't appear to have been a big target thus far, but if we get to the point where companies are perma-banning devices, It's not hard to imagine those becoming target #1 for various blackhat groups.
> How do they try to stop it now?
Generally, they don't. They have an in game reporting function, but it doesn't seem to do much good. Many cheaters live stream their exploits, seeing people through walls, getting 100%-accuracy-all-head-shots, etc. The net code that's responsible for reporting where you are aiming is separate from the data/code that reports where your bullets are sent, so some cheaters show off by shoot directly at the ground below their feet while magically killing people several hundred feet up above in a helicopter.
The experience is often pretty bad, and yet people still play the game...
Yes, it makes competitive/casual play crap. In CoD in particular, it is out of control.
> How do they try to stop it now?
A variety of ways, ranging from server-side analytics, player-driven report systems, manual review, the game inspecting its own state, processes that spy on your computer, and rootkits. Each and every one of these has different advantages and drawbacks.
> Do they really need a kernel driver?
Given how ineffective anti-cheat efforts in CoD have been, it's possible that they need a kernel driver to bring it under control. It's possible that a more talented team would not.
It's when there's a whole cottage industry around this that you know things are out of hand.
It seems like EAC is going to be the standard for cross game HWID ban list. Again I'm all for it.
Cyberpunk 2077 (cough cough).
Everybody agrees it's a cat-and-mouse game. What's the endgame? Requiring signed peripherals to play? With mouse and keyboard detecting a heartbeat from the player, and gaze tracking?
Short of requiring implants with DRM and a proof of identity, I don't think cheating issues can be solved that way.
Some suggest streaming is the solution. It doesn't protect against ML-based bots, though restricting client info to the bare minimum is probably a good idea: if latency is good enough to allow streaming video, why not stream player position just in time, to prevent against the wallhacks-class of exploits?
ML-powered cheat detection on server side also sounds good, with the usual sanity checks (don't allow large speed, etc).
How to distinguish a good player from a cheater? Maybe have them pass a test on a trusted machine at a cyber café or so, and give them a "good player" badge to crank the anti-cheat detection threshold higher for them. There can't be that many good players, and identifying them sounds promising for future tournaments. Maybe a web-of-trust ring would help as well, with players vouching for each other, and staking their accounts too: when someone gets banned 10 years (permanent bans are just not nice), ban those who referred them 3 years, then 6 months, then 2, etc.
Also, I've been thinking lately at how this could be handled in open-source games, and if there's a way forward, I think it's that one.
At a high-level, game theory kind of approach, I don't think cheating can be prevented in incomplete information games. Two players could collude and exchange information, giving them an edge. This could be made part of gameplay (including vocal chats is probably part of this). Moves can still be checked against a given set of rules retrospectively: use a CRDT-like, directed graph structure to store player actions, check their validity, and when multiple players come in contact with new info, have them exchange that info and cross-validate it. Picture a card game for instance, but it's the same for a FPS.
The alternative is complete-information, where there is nothing to hide, and only the legality of a move has to be checked. For reflex-based games, it's hard to evaluate what level of proficiency to expect from a player. For strategy games, likewise (a player could use some AI tools to help them with their next move).
In the end, I think we have to go back to what makes playing a game fun. I have fun playing against bots, when they're my level. The only issue is being pitted against bots when I have no chance of winning. In that case, ML-based approaches can work to identify skill levels, and pitch opponents of similar skill against each other. Hopefully aimbots will play against aimbots this way. Also, legalize it, and have people declare what kind of assist they use. Heck, integrate it in the game. There's some people I like playing with, even though they are way less skilled: this could make it better for everyone. It would make games even more accessible to everyone, and make cheat providers redundant.