AMD Pulls Graphics Driver After 'Anti-Lag+' Triggers Counter-Strike 2 Bans (arstechnica.com) 93
AMD has taken down the latest version of its AMD Adrenalin Edition graphics driver after Counter-Strike 2-maker Valve warned that players using its Anti-Lag+ technology would result in a ban under Valve's anti-cheat rules. From a report: AMD first introduced regular Anti-Lag mitigation in its drivers back in 2019, limiting input lag by reducing the amount of queued CPU work when the processor was getting too far ahead of the GPU frame processing. But the newer Anti-Lag+ system -- which was first rolled out for a handful of games last month -- updates this system by "applying frame alignment within the game code itself," according to AMD. That method leads to additional lag reduction of up to 10 ms, according to AMD's data. That additional lag reduction could offer players a bit of a competitive advantage in these games (with the usual arguments about whether that advantage is "unfair" or not). But it's Anti-Lag+'s particular method of altering the "game code itself" that sets off warning bells for the Valve Anti-Cheat (VAC) system. After AMD added Anti-Lag+ support for Counter-Strike 2 in a version 23.10.1 update last week, VAC started issuing bans to unsuspecting AMD users that activated the feature.
"AMD's latest driver has made their 'Anti-Lag/+' feature available for CS2, which is implemented by detouring engine dll functions," Valve wrote on social media Friday. "If you are an AMD customer and play CS2, DO NOT ENABLE ANTI-LAG/+; any tampering with CS code will result in a VAC ban." Beyond Valve, there are also widespread reports of Anti-Lag+ triggering crashes or account bans in competitive online games like Modern Warfare 2 and Apex Legends. But Nvidia users haven't reported any similar problems with the company's Reflex system, which uses SDK-level code adjustments to further reduce input lag in games including Counter-Strike 2.
"AMD's latest driver has made their 'Anti-Lag/+' feature available for CS2, which is implemented by detouring engine dll functions," Valve wrote on social media Friday. "If you are an AMD customer and play CS2, DO NOT ENABLE ANTI-LAG/+; any tampering with CS code will result in a VAC ban." Beyond Valve, there are also widespread reports of Anti-Lag+ triggering crashes or account bans in competitive online games like Modern Warfare 2 and Apex Legends. But Nvidia users haven't reported any similar problems with the company's Reflex system, which uses SDK-level code adjustments to further reduce input lag in games including Counter-Strike 2.
if hardware / drivers can trip Anti-Cheat? Then wh (Score:2)
if hardware / drivers can trip Anti-Cheat? Then what happens if an big event that it trips in the middle of an Tournament with Tournament locked hardware? will they do anything? Say you got banned so you lose? Be forced to disable it on event locked hardware?
and then the charge back happens if they don't giv (Score:2)
and then the charge back happens if they don't give you an full refund + return shipping costs
Re: (Score:2)
AMD is trying to improve gaming performance-- one interpretation is that Valve's code sucks (or it couldn't BE optimized), and their anti-cheat software is actually objecting to AMD improving their performance.
Re: (Score:3)
Re: (Score:3)
Anything can trip anti-cheat if it tries hard enough. AMD's driver seems to be trying pretty hard so it's not surprising.
This feature injects code into the game. A core functionality of anti-cheats is to try to determine if game code has been augmented or modified.
Re: (Score:3)
It doesnt inject into the game, it hooks on system api, which is pretty normal, but also something some anti-cheat engines check for.
They modified the game code (Score:3, Insightful)
It's a cool idea but I don't see how this could ever work in the real world. Kind of frustrating because it means that it probably can't be applied to single player games. I guess AMD could leave it in there but then they have to worry about getting caught by the anti cheat softw
Re:They modified the game code (Score:5, Informative)
You don't modify game code you work with the game developer to add those updates to their application themselves
Hate to break it to you, but you are flat out wrong. A whole lot of "performance improvements" that seem to come with every minor video card driver update is doing exactly that... fixing broken code from the developer. Shit, even Windows itself does this for compatibility reasons
Re: (Score:2)
Hate to break it to you, but you are flat out wrong. A whole lot of "performance improvements" that seem to come with every minor video card driver update is doing exactly that... fixing broken code from the developer. Shit, even Windows itself does this for compatibility reasons
You didn't understand the parent's point. The updates from video card drivers to fix issues in games do *NOT* modify game code. They work around the way the game is calling the video card's drivers on the driver level. In many cases they aren't even addressing bugs in the game, but rather bugs in the driver thanks to game optimisation hitting previously unexpected edge cases, which is precisely why so many of the bugs are specific to video card vendors.
Windows does the same, it does not alter game code or g
Windows Driver model is broken (Score:5, Insightful)
The fact a driver can access any app in memory and MODIFY ITS CODE is absolutely broken. I'm fairly sure that if you tried to get a driver like that in the Linux kernel, Linus would personally hunt you down. I haven't found any way of doing what AMD is doing here on Windows in Linux or Mac.
They wrote a virus, pretty much any security software should ring alarm bells when this kind of access happens.
Re:Windows Driver model is broken (Score:5, Informative)
In this case, it's not the App that is being modified, it's the library code for the graphics APIs (Direct3D, etc) being detoured.
Other fun fact, the Steam Overlay itself is also an example of detouring graphics APIs. But it's one that game makers must allow and never flag as cheating.
Re: (Score:2, Insightful)
Other fun fact, the Steam Overlay itself is also an example of detouring graphics APIs. But it's one that game makers must allow and never flag as cheating.
I think this post covers what you're talking about. https://steamcommunity.com/groups/SteamClientBeta/discussions/3/3817418065215221719/ [steamcommunity.com]
For Valve's steam overlay to work in all games, even those not designed for it, they have to make alterations to the API that games use. You could argue that Valve shouldn't be doing these kinds of things and the counter argument is that it saves developers the trouble of implementing all the features the steam overlay provides.
Re: (Score:2)
Ring 0 code can do what it wants.
While I believe Linus has done a lot of work on himself, so much so that I doubt he'd be hunting anyone down, he has a lot more control over kernel drivers and what they can do, being a gatekeeper on what gets into the mainline kernel and what doesn't. With that said, there would be nothing technically stopping a driver on Linux or anywhere else running on x86 from doing what this AMD stuff is doing.
Re: (Score:3)
The majority of the driver is Ring 3. The only part that is Ring 0 is the miniport. That's why NVidia drivers can be updated without a reboot (AMD is too lazy to make their code properly re-entrant).
It's not going to be the driver itself that is hooking the DLLs, it'll be some non-driver related process that is bundled with the driver, similar to the Geforce Experience stuff.
Re: (Score:2)
Maybe so, but if you found something that you couldn't do that way, what would be easier than to write something into the Ring 0 component to allow you to bypass all limitations. My reply was to the statement "shouldn't be able to". Well, to stop this you'd have to rewrite how driver code executes on Windows. Maybe put it in Ring 1 and enforce some limitations, but watch how quickly stuff would break.
Re: (Score:1)
The part of the driver doing this is in Ring 3.
The part of the driver in ring 0... must be there its literally just the miniport driver that directly talks with the hardware and that is all its allowed to do (implement the miniport API).
Re: (Score:2)
Up through NT3.51 the graphics driver was separate from the rest of the system in Windows. They changed it in NT4 in order to pursue greater performance and the rest is history. Whether it was a wise decision or not is debatable, but it certainly has had negative implications for both stability and security. Most blue screens seem to be graphics driver implosions.
Re: Windows Driver model is broken (Score:1)
Re: (Score:2)
So, just enough to ruin everything when the rest of the driver tells that part to do something insane? There used to be no part of the driver in kernel mode.
Re: (Score:2)
You're saying what Windows drivers can do here Linux ones can't, but you also claim the main safeguard against that is that they wouldn't get merged into the kernel, which suggests you're not so sure. I suspect the difference in capabilities is not as big between Windows and Linux as you think. Windows has WHQL which provides a similar protection as long as you use WHQL approved drivers. That said I don't know if AMD's feature here would pass or not.
Re: (Score:2)
On Linux you can't hook a kernel driver into an application's memory space without the application having bindings for and requesting that kind of interaction. I'm fairly sure that with most security features these days at best you'll crash the application/driver or hang the entire kernel.
Again, as pointed out before, you would need to change the kernel driver model pretty significantly to the point you'd have an insecure 'AMD-only' kernel which few to no distros would ship and definitely wouldn't get merge
Re:Windows Driver model is broken (Score:4, Insightful)
No. Anything I deliberately install is something my computer should allow me to install, whether it's interfering with a different program or not.
Re: (Score:2)
Perhaps your computer should allow it, but if you are competing over a network, should the network allow it?
That's what seems (to me) to be the argument. It's like requiring a standardized baseball in officially recognized competitions. What you do in a pick-up game doesn't matter.
Re: (Score:2)
It's like requiring a standardized baseball in officially recognized competitions.
An officially recognized competition would require a third party to act as the referee. That's SOP for any physical ranked sport.
There's no such thing for online multiplayer these days. There used to be, in the case of Dedicated Servers that ran on third party hardware. (game's developers / trusted community members / hosting providers / etc.) That went out the door when industry publishers / stockholders realized they could make more money offing the responsibility for running the games to the players (
Re: (Score:2)
You do realize it's possible to do this in Linux right? In fact, debuggers modify application code all the tim
Re: (Score:2)
Or perhaps games shouldn't have root access rights. This sounds like administrator access rights are being abused to gain an unfair advantage. Competitions should be between things that are "standardized" in particular ways, and what those ways are should depend on what the competition is about. If you're playing a network game, presumably you're competing about your skill as a player. If that's the case, this definitely sounds like cheating....even if someone else is doing it for you.
Re: (Score:2)
You need to have root privileges and the application needs to either allow (or not deny) tracing or you need to be a parent process of the tracee. Yes, at some level, someone can always break shit, but drivers have permission levels in Linux as to what they can and cannot do (by default).
Linux has similarities to a microkernel in that way. My point was that non-debug level builds/distributions don't just easily allow this kind of stuff. If someone built a kernel module that allows random access to random me
Re: (Score:2)
The fact a driver can access any app in memory and MODIFY ITS CODE is absolutely broken.
Windows Drivers are, by design, a trusted part of the OS. Remember all of those WHQL signature requirements? If you're not a hardware developer, every driver you use comes with Microsoft's mandatory blessing. That makes it part of the expected behavior of the OS.
Also, what makes you think that code in userspace should be immune to inspection / alteration by code in the kernel? Especially when that kernel code bares the signature of the kernel's developer? Let's be fair here, Microsoft could also resolve
Re: (Score:2)
All application code should be immune from inspection from other applications unless the user specifically authorizes this (eg. enabling debug/developer mode).
Drivers should not have unlimited control (unless granted) because exploits of your network firmware or even physical extensions to your memory/peripheral bus (ThunderBolt, USB-C etc) could then grant full access to your system.
Drivers and devices get a specific area of memory to read/write, do DMA etc from their respective devices, else you couldn't
Re: (Score:2)
All application code should be immune from inspection from other applications unless the user specifically authorizes this (eg. enabling debug/developer mode).
Congrats you just broke all antivirus programs. Do you seriously think that an infected device is going to allow the user to grant permission to detect it's infection? Because if you do, I've got a bridge I'd like to sell you.
Drivers should not have unlimited control (unless granted) because exploits of your network firmware or even physical extensions to your memory/peripheral bus (ThunderBolt, USB-C etc) could then grant full access to your system.
Flaws are flaws. If the physical capacity exists, some hacker will find a way to use it. No amount of popping-up "DO YOU PERMIT ACESSS YES OR NO!?!!" Is going to fix that. Further, most of those being bombarded with these pop-ups have no idea what's being asked of them. Let alone whe
Re: (Score:2)
The fact a driver can access any app in memory and MODIFY ITS CODE is absolutely broken.
No it's not. It's literally a requirement. There's a reason why drivers run at highest privilege levels. Heck on Linux many are ... hold your gasps ... baked into the kernel directly. I know I know. SCARY!
Re: (Score:2)
Device drivers in Linux and peripherals have limited access to memory. Hence why things like virtualization work and we have a cloud that doesn't require a new machine for every user (unless you're running Windows/HyperV off course).
Valve is wrong (Score:3, Insightful)
Re: (Score:2)
You left out the reason Valve is wrong my dude.
Was it Valve was wrong because details of how VAC works that anyone developing driver software would need to know weren't publicly available?
Was Valve's wrong philosophically in the design of VAC that demanded a kind of performance parity that these AMD drivers now will not adhere too?
Also, you just going to not address the issues mentioned in the piece the drivers have with games that weren't developed by Valve? If you don't people might think unfairly of you
Re: (Score:2)
Valve is wrong... why?
Good point. My only modification is that after verifying that it was AMD that issued the software, not as a "cheat" but as an "optimization", and that AMD backed off when informed, that the bans of affected players be reversed. It's not their fault.
While it's not quite "update to the latest drivers, get banned", in that per the article you had to go in and turn it on, a checkbox in your driver configuration that tells you that it'll "improve performance" isn't far off.
The only thing would be Nvidia rollin
Re: (Score:2)
Valve is wrong... why?
If this decision stands, the next step would be exclusive titles that artificially prevented from running at all on NVIDIA or AMD hardware.
To answer your question: I was very clear, they are wrong because players using OEM drivers for Commercial off-the-shelf hardware are in not cheating. If Valve has a problem with AMD, they need to take it up directly instead of fighting proxy wars by penalizing players that did nothing wrong.
I do not own an AMD graphic card and have not played CS for decades.
Re: (Score:2)
AMD did retract the driver release, but now they do have to put the onus on gamers not to circulate it underground and use it.
Re: (Score:2)
Why would gamers want to circulate it? It's not like it's a wallhack level cheat, and it's obvious to the anti-cheat software, so they'd get banned.
Re: (Score:2)
they are wrong because players using OEM drivers for Commercial off-the-shelf hardware are in not cheating
Well... apparently you don't remember this [theregister.com].
Re: (Score:2)
Valve isn't picking a fight here. AMD wrote a driver that does the same thing that cheat programs do (modifies running game code). Valve detects when modifications happen for cheat detection - it doesn't know or care if that modification is for legitimate or illicit purpose.
Re: (Score:2)
Well, they can probably whitelist "approved" modifications, but that would require AMD communicating with Valve before releasing the drivers into the wild.
now what if say an windows OS update tripped the c (Score:2)
now what if say an windows OS update tripped the cheat flag?
Or say an DirectX update added speed up code that modifies running game code?
Re: (Score:2)
AMD wrote a driver that does the same thing that cheat programs do (modifies running game code).
"Modifies running game code" is a meaningless statement when applied to the hardware platform. Your CPU modifies running game code, one machine code instruction at a time, all the time even when idle. That why we represent code as a state machine when formally analyzing it.
You need to look into what it does - is there modification of player inputs or their timing, is there modification of what player is allowed to see at that specific time?
Re: (Score:2)
Your CPU modifies running game code, one machine code instruction at a time, all the time even when idle.
That is not how CPUs work. They are not modifying anything on their own.
Re: Valve is wrong (Score:1)
Optical mouse (Score:2)
Re: (Score:1)
Because the mouse doesn't change or intercept your input in any way. It just sent better inputs to begin with. That is not what is going on with AMD. They are intercepting code they don't have permission to intercept and changing it around. If your inputs are being captured and changed in anyway before being sent to the server, you are cheating - whether you realize it or not.
AMD sucks ass and makes very stupid decisions constantly.
Re: (Score:3)
Re: (Score:2)
Not at all even close to similar.
Read the summary! (Score:3)
Re: (Score:2)
It reduces latency, same as the reported driver hack.
Re: (Score:2)
Re: (Score:2)
This doesn't modify game code either, it intercepts system API call to align scheduling of drawing.
Re: (Score:2)
Arguably those things do give the player an unfair advantage though. That's the problem with PC gaming, it's not a level playing field in many games.
Other games like Street Fighter limit the frame rate to 60Hz for this reason. Even there though, there are input devices that are debatably cheating. You can play on keyboard, or you can get a "joystick" that has the joystick part replaced with buttons. Moves that were previously slow, like rotating the joystick 270 degrees, are suddenly fast because you just s
Re: (Score:2)
AMD is hooking into the games Win32 API calls and intercepting them. Of course, it's going to trip up anti-cheat because those systems are literally designed to prevent external programs from tampering with the game in that manner. That's why NVIDIA's solution, Reflex, actually requires the game developer themselves to implement support.
Re: (Score:2)
yeah, that's what an OS does, it responds to API calls as good as possible, always trying to make the user experience better. The anticheat stuff is broken DRM shit by design, period
Re: Valve is wrong (Score:3)
This is an online only game where the players expect cheating to be prevented and/or punished.
Doing 100% of the cheat detection on the server is unrealistic.
Don't like it, don't play it.
Re: (Score:2)
"Doing 100% of the cheat detection on the server is unrealistic."
And I call big fat bullshit on that.
Case in point, Phantasy Star Online 2 aka PSO2, a japanese 3rd/1st view MMO ARPG.
The game was available on PC/PS4/Vita/Switch and free to play.
Except the anemic switch was incapable of playing the game.
Thus, SEGA was running the game on servers and streaming it back to switch players. FOR FREE.
If SEGA can compute and stream the whole freaking game FOR FREE PLAYERS, don't you tell me FPS game makers can't do
Re: (Score:2)
You seem to be suggesting that the cheat detection is just a performance thing? It's not.
There are some forms of cheating that can be detected at the server level, and they probably are. You fired more ammo than you've got? You defied gravity in ways that the game doesn't allow? You took fatal amounts of damage but never entered the code path for death on the client side? Your aim is absolutely 100% flawless? Those sorts of things they can probably detect at the server level.
But there's a bunch of chea
Re: (Score:2)
That highlights enemies so they'r easier to spot? [amazon.com]
That shows secrets that your client is aware of but isn't supposed to show you? [wikipedia.org]
That looks at what's on the screen and nudges your reticle over towards the face of your enemies without making it obvious? [wikipedia.org]
All of those things are what any real world person already has to deal with. Why should kids playing fake solider online be any different? Because they aren't that smart? Or don't have the same resources
Re: (Score:2)
I am surprised Valve decided to use VAC to pick a corporate fight with AMD.
I'm not surprised you have no idea what is going on here. Valve hasn't decided to do anything. Valve games use VAC that's the beginning and end of it. AMD implemented a driver which unintentionally triggers how VAC works which includes looking for game code being directed and manipulated in flight (since that's how most technical cheats are implemented).
None of this is anyone deciding anything or picking a fight with anyone.
This is AMD not testing their code before pushing it, and not working with Valve / V
F Valve (Score:2)
So, get some added performance by doing something smarter get banned for cheating. However the guy that shell out extra few $100 for a faster card gets lower input latency no problems there!
What BS!
Personally this is why I have stayed 100% out of the Steam eco-system. Its just the usual you own nothing DRM crap and we make the rules, they will be just as heavy handed as everyone else that uses DRM the instant the market gives them the power to do so.
If I can't get it on GOG, or elsewhere without DRM its n
Re: (Score:2)
Re: (Score:2)
I was think $400 card vs $1000 card or something but yes video cards are crazy expensive.
Re: (Score:2)
Based on Valve's response it suggests to me they did not try to work with Valve on this, otherwise Valve could have added an exception into VAC (or advised AMD to not enable the feature for CS2). My guess is AMD tested it briefly in CS2, and pushed it live before the VAC ban hit the test account.
Re: (Score:2)
Yup, VAC bans don't trigger instantly, they come in waves to make it harder to know if a new hack was detectable or not. So this new "optimization" may have looked fine to AMD's developers while still being flagged on Valve's end and the ban sent out weeks later.
Re: (Score:2)
they come in waves to make it harder to know if a new hack was detectable or not.
Perhaps this is a really stupid question, but would those who are working on cheats be able to determine that anyways? It seems like something that could be deduced rather easily.
Re: (Score:2)
Only Valve knows when VAC is triggered, so to avoid giving the hackers feedback on what action was detectable, they wait a while before issuing a ban. This also lets them catch more cheaters that think the hack is working undetected while the evidence of their violations pile up.
Re: (Score:2)
Re: (Score:2)
This isn't a Valve/Steam issue. It's an AMD is fucking stupid as fuck issue. Don't buy AMD and don't use their shit drivers, which they've never been good at, and it's not an issue at all.
Re: (Score:2)
Right because Valve should get to decide what operating system stack I run on my system.
DirectX is a API, and API is contract, as long the interface presented to their software does what is advertised, its NONE OF THEIR BUSINESS HOW!
They want to make rules against aim bots and automation - fine with me but if they can't distinguish between aim-bot and shim to enable some efficiencies in a video driver, its their shit that is broken not the video driver.
Re: (Score:1)
Which makes it clear that you have no understanding of how VAC works, nor how drivers work, nor why this driver specifically is an issue. This is AMD's fault for introducing tech they didn't verify nor work with the publishers before releasing. In order for AMD to release this to the wild, they first need to make sure Anti-Cheats don't get triggered. To make sure anti-cheats don't get triggered, AMD would need to give a heads up to the publishers who use anti-cheats to make sure the anti-cheat software is u
Re: (Score:3)
nope, the anti cheat, just like any DRM is crap and needs to be scrapped or fixed to get on with the times. this shit is hindering progress, period
Re: (Score:2)
Well, again, to get fixed, they need to know what needs fixing. And if AMD would have given them a heads up, perhaps they could have fixed it ahead of time. But AMD didn't because AMD is fucking stupid.
I would love to scrap anti-cheats all together, but as long as there are highly competitive games there will also be cheaters.
There are only three reasons to want anti-cheat gone:
-You are a cheater
-You got fucked over by anti-cheat when you were 100% innocent (not including this driver release)
-The anti-cheat
Re: (Score:2)
Fuck, I added a fourth reason at the last second and forgot to go back and change it.
Re: (Score:2)
-Anti-cheat should be server side but publishers are fuckers and like to stick it to the players for maximum profits.
Re: (Score:2)
That doesn't work, because all the input would look the same. Server side can work against wall hacks and such, but wouldn't be able to differentiate between human and completely automated input - aka a bot. You can rely on players to report suspicious bot-like activity, but that creates new issues. False reports that have to be analyzed. Slow response times to take affirmative actions.
Unfortunately, it needs to be some combination of the two.
Re: (Score:2)
I am not clueless at all you are just shilling for Valve for some reason.
If value is relying on stupid things like checksums not changing, entry points at specific memory addresses, and detecting other side effects of called code vs actually doing behavioral analysis of inputs and game play - their system does not work.
That is litterally all there is to it, you are defending values crappy kludge just because they labeled it anti-cheat, instead of the "horseshit-it-is-really-our-computer-not-yours-DRM-shovel
Re: (Score:2)
You expect complex behavioral analysis of every single player in a competitive game? Do you even know how many resources that would require? The power needed to run the analysis? The storage needed? Is it going to be AI based or human based? Humans take time to respond, AIs may falsely ban people.
Checksums not changing is very important - just ask the open-source community.
And while it's not "their PC" it is still their software - not yours. You purchasing software doesn't make the software "yours". It neve
VAC makes me avoid even playing multiplayer at all (Score:3)
Do I cheat? No. Do I want to cheat? No. Do I trust VAC to be flawless? No. Do I believe Valve will give me back my 20 year old account in the case of something like this, or the previous instance where VAC mistook an outdated DLL for a cheat? No. Do I therefore want to risk my account, which has some games I can't rebuy and developer credentials for others, on Valve's capricious black box anticheat system?
The answer to all these things is no. So at least in some cases, Valve's VAC is successfully preventing cheating by also successfully discouraging multiplayer activity at all. /I still like Steam, I just don't risk multiplayer with it
Sounds like a good use for "AI" (Score:2)
dumb software (Score:2)
Proof anti-cheat and the rest of the DRM malware is backwards and asshat-stupid as it prevents progress...
Valve unbanned the false positives, right? (Score:2)
A major hardware partner pushing an official feature of their driver should be considered a "mulligan" on the part of affected users, no? This is AMD, not a VISCKOVCRE mouse off ~~AliExpress~~ Amazon.
Dear AMD (Score:2)
Quit worrying about squeezing out every fucking frame. Just focus on actual driver support and hardware functionality. As it stands, Team Green is looking to be my next GPU choice thanks to this garbage. You did this before, too, and it resulted in the same fucking thing. You should fucking know better.
Re: (Score:2)
Since AMD driver support is generally better in a lot of ways than NVIDIA's driver support, and since its hardware functionality is fine except for what are still edge cases like AI and ray tracing, you'd have to provide a better argument for buying NVIDIA.
Re: (Score:2)
You should know better. AMD tried to give you a software update - FOR FREE - to make hardware you already purchased more performant. Valves shovelware can't tell the difference between an optimized driver and cheat-ware and you blame AMD?
SMH
Re: (Score:2)
Optimized drivers don't go hooking into a game .DLL - they have their own settings on their driver lists for the game EXECUTABLE.
Tell me you don't do game dev without telling me you don't do game dev.
Two things (Score:2)
Two things have caused me to not play online against other people anymore:
Cheaters and ... the anti-cheat crap show.