Hacker News new | ask | show | jobs
by shuringai 2020 days ago
While I do share your frustration on linux gaming I thought to give sound to the opposing side who simply had this coming oit of a risk analysis.

TL;DR - it's indeed much easier to cheat on linux

After decades of fighting wars with crackers/reversers and all anti-debug/anti-cheat methods proven unusable against russian teenagers, AAA companies reached out to microsoft to get their undocumented binary "drivers" into the system which you cannot inspect from userspace.

With linux coming into the party, even if with the amazing work by Wine you do manage to get the desired anti-debug behaviour on the emulated userspace app, linux people can make arbitrary hooks on their kernels.

So instead of risking major reddit shitstorms over that 1% players that can cause 3% profit loss, it's better to ditch that 1%

2 comments

I don't even know where the start with this.

First off, undocumented binaries, and inspecting kernel drivers from user-space is absolutely no barrier to RE/Cracking/Cheating on any platform. I'm pretty sure 50%+ of the people on this site can put arbitrary hooks on the windows kernel, given some motivation, and importantly, when they actually control the hardware they own.

From what I know (not an expert) the state of the art in DRM for games is Denuvo which uses undocumented idiosyncratic CPU instructions, that the activation server has a database of and sprinkles some magic patch to activate the game for that CPU, ie, nothing to do with OS. Anything else AAA is cracked pretty much immediately.

Whatever about the technical details, we can do risk analysis on a lot of things. We can do risk analysis on whether a kid is likely to commit serious violence to other people later in life and lock them up, or otherwise exclude them from society in anticipation of that, but we don't.

Some things are important, some things are not. Personally I rate open computing hardware a lot higher than some game company's 2% profit, and imo any company employing the tactics described in the GP should be rightly called out on it, and they should just make better solutions to the (very small) problem of people cheating in online games.

I agree with you. But there is another aspect to this, it's not just about profits. Online multiplayer games can truly be ruined by cheaters. That hurts a lot of innocent people who paid good money for the game and just want to have an honest shot to test their skills against others.
in which case, server authoritative state is the only way to prevent cheating.
In a competitive game don't let clients dictate what the server does. Although I understand there is a performance issue. But clients should not be trusted.
Would that work for lag? I assume there is some predictive aspects to a fluent gameplay these days. Also for the server to decide which e.g. player someone can see or not, seems quite intense.

This seems inadequate to prevent aim assistance too.

I mean it's a moot point anyway, since it's probably not too long until bots can play all games better, without additional information or help.

Prediction in online multiplayer games has been around since real-time multiplayer games existed. From my own first experience the first versions of counter-strike 1.x had it, but I'm pretty sure it started quite a while before that.

And yes its a classic arms race, in the simple example I can connect my bot to the display output and to input as keyboard and mouse / gamepad and you could probably pretty easily get an aimbot that's superhuman.

The solution is not a technical one, just like DRM: https://en.wikipedia.org/wiki/Analog_hole

Just to follow this up a bit

Who the fk cares if people cheat in online games? Funnily enough, a hell of a lot of people, but they are generally not talking about online video games, instead they are talking about protocols like DNS, HTTPS, amplication DoS attacks, cryptocurrencies, elections, any number of other things, and it turns out these really hard to impossible to solve, and they definitely don't lend themselves to real time multiplayer games easily.

For games it much easier, you just let people host their own servers, you let them own the compute, you let them manage and mod the servers, you let them build communities of people they want to play with. See Minecraft. Pretty sure that made a bit of money without worrying about losing revenue to some inventive kids who priate/mod/whatever the game. -_oo_-

Would aimbots be impossible to make if there was no anti-lag / network prediction code? As a thought experiment, imagine a game which has only single player and LAN multiplayer (Local Area Network), where you have to physically connect computers to each other. Games used to be played like that decades ago, and today we have PCs that are much more mobile - notebooks and laptops. As far as I know, LAN has super good network latency and it could work without lag compensation code. Didn't DooM work like that? Also Quake before QuakeWorld.

You don't have to lecture me about the practicality of releasing a game that has LAN only multiplayer, or that people have jobs, kids and responsibilities. I get that.

Aimbots are simple, you reskin the other players head, then detect where on the canvas that color is. As others have mentioned you could probably use external tools like a video camera aim system. You can't do much about aimbots. But you can make it so that the game takes more skill then "point and click". I used to play a lot of Unreal Tournament (the classic) in instagib mode which meant one shot instant kill, but even then I was able to win over players with auto aim. You just waited for them to shoot someone else, then you killed them while their weapon was cooling down. You couldn't shoot them in the back as they used 360 field of view, so you had to know the map well. Players/athletes that cheat usually do it because they want a shortcut, and thus can not become very good. Or there is a financial incentive, where you cheat just a little bit in order to make a living doing what you love, and those cheats are the most problematic as they are hard to catch.