Rockstar Games’ servers have been under heavy fire from massive DDoS attacks in recent days, causing widespread login and connectivity issues for players of GTA Online. These attacks come in the wake of Rockstar’s recent implementation of BattlEye, a new anti-cheat system designed to crack down on in-game cheating, sparking backlash from a segment of the player base. Protesters, unhappy with the new system, have resorted to using distributed denial-of-service (DDoS) attacks to disrupt the servers, escalating tensions between the gaming giant and its community.
It’s just ridiculous the stuff you see that should be easy to catch with basic server checks (even if you were to run them after the fact). Players conjuring money and vehicles out of thin air, moving impossibly fast, vehicles/players with seemingly unlimited hit points, etc. You could easily catch that shit on the server side and ban the cheaters, but instead they go for the most invasive client side shit.
Sure, if you want to stamp out stuff like aim bots and whatever eventually you’ll need to look at the client side of things, but in a decade they didn’t seem to do anything at all.
That kind of stuff catches legitimate users all the time. In Rust for example it’s common to get kicked for “fly hacking” while jumping on vehicles. The more open-ended the game the more weird edge cases become very relevant. Especially if it has a halfway decent physics sim. Tons of ways to give players weird velocities. Then it has to account for the variance ping introduces…
Some stuff, yeah. Should be easy to check if a player has too much HP. But spoofed communication between the client and server is a tough nut to crack when you can only see what the client wants you to see. Keeping everything server-side would help but that introduces latency to every input, unacceptable for anything even moderately paced.
All thay said, it would be a lot easier to swallow the “necessary evil” argument if it actually fucking worked.
Use a more holistic approach. Combine heuristics like the average speed and aim hit percentage with reports from other players.
Review player reports, if a player makes a false allegation in their reports, mark that player as having less reliable reports. If a player reports someone who turns out to be a definite cheater, mark whoever reported the cheater as having more reliable reports. Etc etc.
Like, if the report just says “player was moving fast outside a vehicle”, maybe they were cheating, or maybe they were just goofing off trying to stand on top of vehicles the whole game. If the report says “player was moving fast the whole game, had the highest kill count, and was also reported by 5 other players in the match for cheating”, it’s a little more clear what’s happening.
None of that helps low-level play or games without meaningful progression. Continuing to use Rust as an example, because I’m most familiar with it among games with controversial anticheat: people get banned all the time. All the time. And they keep coming back with brand new Steam accounts, and continue to cheat until someone notices and an admin happens to be online. Rinse and repeat. Seemingly an infinite pool of cheaters, or finite cheaters with infinite money for new copies of the game. And it only takes a few minutes to ruin someone’s week.
The most effective prevention method is probably strict gatekeeping: require a minimum hours played in wild west servers or a certain value of games owned in an account before a player can be whitelisted. Proof of investment, that kind of thing.