Friday, October 13th 2023
Enabling AMD Anti-Lag+ in Counter Strike 2 Will Get You Banned
With the release of AMD Software Adrenalin drivers version 23.10.1 WHQL, AMD has added Anti-Lag+ support for Counter Strike 2, but it appears that this will only result in a VAC (Valve Anti-Cheat) ban. Apparently, the Anti-Lag+ feature is implemented by detouring engine dll functions, and any tampering with CS code will result in a VAC ban.
Valve was keen to note that once AMD ships an update, it will work on identifying affected users and reversing the ban. Luckily, the Anti-Lag+ technology only works on Radeon RX 7000 series RDNA 3 graphics cards, so it could be a limited number of Counter Strike 2 players. The issue comes as a surprise considering that Anti-Lag+ has already been implemented in various games, including competitive ones like Apex Legends, PUBG: Battlegrounds, Fortnite, and others, and only has issues with Counter Strike 2 and its VAC system. Hopefully, AMD will fix the issue pretty soon and we will keep an eye out for an update.
Source:
Counter Strike 2 Twitter
Valve was keen to note that once AMD ships an update, it will work on identifying affected users and reversing the ban. Luckily, the Anti-Lag+ technology only works on Radeon RX 7000 series RDNA 3 graphics cards, so it could be a limited number of Counter Strike 2 players. The issue comes as a surprise considering that Anti-Lag+ has already been implemented in various games, including competitive ones like Apex Legends, PUBG: Battlegrounds, Fortnite, and others, and only has issues with Counter Strike 2 and its VAC system. Hopefully, AMD will fix the issue pretty soon and we will keep an eye out for an update.
102 Comments on Enabling AMD Anti-Lag+ in Counter Strike 2 Will Get You Banned
Hopefully they get it fixed shortly.
This appears to potentially have caused thousands of $ in damages to users.
This is insane!
Edit:
they were permanent, account-wide, and 110% irreversible.
Glad Valve is addressing it.
Edit:
I'm not wrong, by official terms.
The bans are *not* 'issued incorrectly'. injection is a hack.
AMD forced Valve's hand; this is spicy!
If you have not been banned yet you will be. VAC is not a proactive anti-cheat, it's reactive and it bans in waves. It'll flag your account and it'll be banned at a random time in the future.
It's a dirty hack of the likes a graphics driver should never do, and it proves this released untested, unverified and was programmed as poorly as it could have been. It's just inexcusable imo.
AMD could easily have released a SDK and worked in conjunction with Valve for a proper, clean implementation. But they didn't even bother communicating with Valve! It's not like CS is a small game or anything.
Muppets, as mentioned above is a polite word to describe the level of unprofessionalism we're seeing here and this is why I lost trust in them over time.
but yes, there's a bunch of changes that people generally do not like coming from csgo
Valve and AMD will work together. While an argument might be made by some that VAC shouldnt have gotten angry, the reality is this isnt a chicken or egg problem. AMD touched the naughty bits and VAC did what it was supposed to.
To handle the actual bans first, its important to know what is likely going to happen. In most cases these are finger printed in some way.
Some valve SDE is going to boot up CS2 in debug mode. and run the AMD implimentation. Debug mode isnt a game mode in this context. It is a compile of the game with debugging options enabled that they will be allowed to poke prob and see things that are usually removed in production.
When they do this, VAC will ban the debug instance, but will spit out some error info. Maybe something like
Faulting executable : cs2.exe
At memory address: 0x0000088712
Stack trace: 0x-7A, 0x067
Faulting Module: AMD_driverinjection.dll
From here they will look at the memory snapshot of the debug build and figure out what the driver is manipulating. Once they figure it out they will move on to step two, but it will end the same way. The reversal of the bans.
To do that isn't going to be rocket science. Instead they will create a rule like
The actual thumbprint used will very greatly based on step two. Valve and AMD will need to chat.
Either:
Valve denies the modification outright and AMD needs to find a different way or a different implementation.
or
Valve concedes because nothing malicious is happening and allows it with guidance to AMD to change there hooking procedure so it touches a select part of the files or memory heap.
They decide that but Valve is definitely going to be the boss here. For AMD users, it should also be mentioned that this is the VAC system responding to a modification to CS2 that has not been ok'd. This feature may not affect any other games even if they are protected by VAC. That doesnt mean it wont, but contextually its important to understand that each game is different, and as such allowances in one may not be allowed in another. That also works in reverse, and in other games outside the steam eco system, such as DRM with another studio or engine. This has really /always/ been the case though.
With that said, GPU drivers have access and push buttons in kernel space (yes thats not just a linux thing) and touching things in kernel space (even in the linux world) is something that most companies, developers and security people consider big no no's. While drivers work at the kernel level for performance, and because of the hardware access, doing things that manipulate user space (like a video game) are generally frowned upon.
Driver improvement, DO generally happen at such a low level, by handeling calls to the GPU. The driver will look to see who the caller is (the game executable) and may handle the request different because of oddities observed. Thats normal. BUT that is generally a 1 way street. In this case it seems like AMDs driver reached out of kernel space into user space and modified bits in memory. This triggers VAC and this is poor practice.
This is also heavily watered down. Kernel, user space and driver relations are a very complex topic and so is security so writing 3 paragraphs is more then a consolidation.
something something 2023 unfinished game something something
Simple bf4 type game is what im used to
Not the coding style, that they did not even talk to valve to get this whitelisted. I'll admit I am primarily not a kernel-level code programmer, but isn't the issue more AMD's lack of communication to the anticheat vendors moreso than the actual way they coded it? I know both are considered poor practice, but one seems a much larger sin than the other, as far as making a working product goes.
20 hours LOL
beside it works on other games so why not CS2? VAC is upset to almost anything, before the untrusted update of CSGO we can freely stream the game using OBS and Discord, now you have to add "-allow_third_party_software" in launch options before launching the game to do it
Oh no nebulous anything policy, it's legitimate and completely open source, just a lot and I mean a lot of past drama on the Steam forums(I just realized you were talking about the anticheats lol, never mind me, it's 2:20 AM and I have insomnia)