Get your anticheat code off my fucking cpu and onto your servers where it belongs.
Garbage games do this, simple as.
Get your anticheat code off my fucking cpu and onto your servers where it belongs.
Garbage games do this, simple as.
Server side anti-cheat should be the focus of every game company with an MMO game in their catalog. Relying on kernel access is madness.
Let's do some math here, they said:
More cheaters using Linux than legit users (...) .01% of all players base
Let's do a quick math. The maximum peak users for Rust was 259,646 concurrent users according to https://steamcharts.com/app/252490 . Let's assume 60% (more than half) of all the .01% users were cheaters, congratulations, you got rid of all those 16 cheaters... I haven't played much Rust, but I'm fairly confident that there's a bit more than 16 cheaters there.
And that's without getting into the whole client side anti-cheat doesn't work.
You dont understand linux users have black magic hacks that ruined the game for every player on every server, their power cant be understated... Theyre a whole bunch of dangerous hardened criminals
I feel like some people think Linux is only for hackers and cybersecurity professionals
And genuine hackers and cybersecurity professionals have got way better things to do than cheat in Rust.
The cheaters are all obnoxious 12-year-olds who couldn't land a single hit without the cheats, that's why all the compilation videos of cheaters falling foul to fake cheat software are so funny. They'll spend 10 minutes trying to go through a doorway without it ever occurring to them that something must be wrong.
🤣 beware the Linux users
It was the elite hacker 4chan, they hacked all their servers and stole all their ram.
If your cheat detection runs on the client side only, you don't have cheat protection.
Well, there only so much in gaming that reasonably can be done server side.
Sure, the server could identify that a player shouldn't be visible and not transit that location to a client, addressing seeing through walls, in theory.
But once a player is hypothetically visible, aimbot can happen. If you are crawling in a ghillie suit in the grass, but the other player has a client that skips rendering grass and replaces the ghillie suit model with a suit made of traffic cones...
Now intrusive anti cheat isn't worth it, but it is an unavoidable reality that it is up to the client to preserve the integrity.
Closest you get would be streamed gameplay, where the rendering even is server side. Also not worth it. But even then I could see cheating machine vision and faked controls to get an edge unfairly.
It's almost like client side anti cheat doesn't work and if proper server side anti cheat is made it wouldn't matter what platform the client is on.
"never trust the client" is pretty much a motto of infosec, idk what the hell game devs expect
See, the wild thing is that I used to run with some actual hackers in GMod... and... I learned from the exploits that they did, how you actually design at least a game mode script that can't be fucked, can't be poked proded or queried directly.
Of course, if the actual exploit is lower level than what I'm writing at, well then I'm still fucked...
I can remember at least one GMod originated, lower level exploit, caused by Garry leaving some direct, unsanitized interface to Steam itself directly exposed via lua... which caused Steam/Valve themselves to step in and rewrite a part of all of Steam, because Garry is s fucking moron, and more or less allowed a virus/malware to propogate through Steam itself, independent of Garry's Mod...
Never did figure out if any of the goobers I knew had any direct ties to that or not.
But anyway, fucking yes, literally never trust the client with anything beyond their own GUI, and barely trust them with that, don't just let them click on anything in their screen space to see if its an item they can put in their inventory, do an actual server side vector ray trace, from the item to the playet, make sure the thing they clicked on is actually near them, put that all into a buffer that locks up if they're calling it at inhuman rates...
It was so easy to item dupe and stat boost and even hijack other players accounts in so many gamemodes I saw.
Fucking one of them had the user set and enter a login password to 'access' their various characters, pick one to spawn as.
Problem?
... That gamemode was actually doing the id check via SteamID, duh.
The username/password thing was a fucking phishing scam, that game mode had a forum, everyone used the same user names, a bunch of people got their hotmails or whatever fucked, by the dev of that gamemode.
... Anyway... yeah, I learned all this infosec type shit first hand, in an earlier 'FacePunch Studios' production.
Fuck Garry, fuck FacePunch, these people are idiot clowns.
Roblox exists now, the GMod roleplay communities independently invented their own ways of monetizing their gamemodes via syncing to their sites and forums with payoal widgets, ya'll missed the boat on that one, no one is going to play S&ndbox in anything close to GMod in its heyday numbers.
Garry leaving some direct, unsanitized interface to Steam itself directly exposed via lua... which caused Steam/Valve themselves to step in and rewrite a part of all of Steam, because Garry is s fucking moron, and more or less allowed a virus/malware to propogate through Steam itself, independent of Garry's Mod...
That sounds entirely on Steam. The game is the client in this context, and Steam as the server shouldn't be trusting anything from the client.
This was like, over a decade back, I don't remember it in accurate detail, and also, Garry deleted all the old Facepunch forums, which I do remember having a lot of discussion about this...
But, best I can recall, it was something like a buffer overflow/memory space exploit, because Garry exposed a core Steam function, that normally is only called by other Steam functions, in c++...
Well, Garry decided to give basically a lua api / reference method of accessing it directly, allowing doing arbitrary code injection into it, from anyone running a GMod server or networked client.
So I mean yeah, you can say Valve should not have trusted Garry with low level access to Source and Steam, that that's their bad, they should have expected he would create a serious security exploit out of naivette/hubris, like the proverbial junior sql db admin who just does 'DROP ALL' on prod, as an 'experiment'.
Uh yep, I would agree with that.
... I think this may have had something to do with Steam's, fairly new at the time, achievements system roll out, but I'm not sure if that's correct.
EDIT:
For those that don't know, the vast, vast majority of what GMod is, is basically just opening up core Steam/Source calls done in C++, opening those up to Lua, by mapping them with reference methods, and then allowing Lua scripting via those methods.
Then on top of that, you draw like, the item spawning menu, tool menus, make a standardized template for making a new tool or weapon (SWEPs) or entities, or players or NPCs, etc.
So uh, yeah, if you're not careful with that, if you don't know what you're doing at the lowest level, that can be very dangerous and easily lead to uh, unforseen consequences.
sir, this is a wendy's
Fuck you, take my order, stupid hallucinating AI drive thru working off an 18 year old microphone!
Oh Wait!
You're closing half your locations after trying to push realtime adjusting prices.
Nah I'm good, I'm gonna be posted up at the abandoned Wendy's, screaming at it all day long.
Get those pigtails in a hairnet, and my fries in a bag, thanks very much.
And this naïve understanding of infosec somehow makes people forget that this is not infosec, and there is more to anti-cheats than ignoring a client which says its travelling at warp speed.
The Problem is that that would increase the load on the server as well as make latency-mitigation much harder.
As with everything, it‘s always a tradeoff.
They're totally different scenarios. How is the server supposed to know if a player has (e.g.) walls disabled and knows where the enemies are?
Because the client has to know where the enemies are while still hiding it from the player.
People who have no idea how things work and go off on quotes they see online is why these discussions are useless.
That's the neat part: you don't. If their idea of anti cheat means taking over my machine to scan everything that runs on it, it's a lost battle. Either find a way to do it server side based on behavioral heuristics, or don't bother.
Finally someone who seems to have some sense of how things actually work and if course they get down voted...
Sure I get why people don't like kernel anti cheat but they should at least understand the difficulties from not having it.
Depends on the game but largely enemies don’t need to appear in the client until they’re becoming visible to the player
Easy to say but if you use Unreal Engine it's very hard to do that. Unreal doesn't have a built in way to not replicate something not seen and the inbuilt networking is built on any action a player makes is tied to the player. So if you want to hear that player walking or shooting that player will exist on the client.
So the server has to compute whether a single pixel of the enemy's body or shadow is visible to every client? How does the client play spatialised audio for enemy footsteps if it doesn't know where they are - does the server calculate that as well?
I mean, if the client is thin, with everything computed server-side, this works, but that's not what games are.
Because the client has to know where the enemies are while still hiding it from the player.
Why? :3 If a player shouldn't be able to see someone, just don't send their location.
But if they're not rendered, what about their sound effects like walking, or something like their bullets?
This is actually an issue in War Thunder, where if the server thinks you shouldn't be able to see a tank, it won't render it, but this also causes it fairly frequently to not play noises from the tank like the engine or shots, and to not render projectiles from them either. So a teammate can die right next to you and you won't know how because the shot wasn't rendered on your screen even though you were looking in the direction of the enemy when they fired it. Or a tank with an engine louder than a semi truck will sneak up and kill you because the game simply decided that you shouldn't be able to hear them.
Just send sounds too
There's been an increase in games that don't give the client full knowledge of enemies. That data doesn't actually need to be sent to the client if you can do checks on the server to know if they're visible. Yeah, it needs to be simplified from a full raytraced solution from the camera, but it can be good enough that it isn't much of a issue, depending on the game.
IIRC, some game (it may be Counter Strike, but idk) only gives your client player data for the "room" you're in, and adjacent ones, or something like that. You can still see through walls near you, but you can't see people on the other side of the map.
Yes, there's always going to be a point where there's nothing more you can do and you just have to hope for the best, and mitigate what you can on the client. Still, the naive "the client has to know where the enemies are" isn't accurate. A well designed anti-cheat solution will try to come up with a solution for this. Sometimes it isn't possible, but often there's some amount of information that doesn't need to be sent to players that can be hidden.
I love how in every anticheat discussion someone who actually knows something about how games work get downvoted into oblivion.
Maybe I'm wrong but the server could read where the players are and what are they don't and see if they can do that without using cheats. Then you keep the statistics of every player and flag every time there's something strange. If too much flags raise, check the user. I don't see the need to do it in real time. Some games will be bad... but nothing stops the server from rescoring the game after checking if a cheater is detected. The server can even send an alert to the other players of that game and let them decide how to fix the end result of the game.
If your objection to client-side anti-cheat is that it "doesn't work" what till you see what server-side anti-cheat fails to accomplish!
There's no way with a pure server-side implementation to even try to work out whether the client is using an aimbot or wallhack. No solution is perfect, which is why the best solutions try to combine methods.
These people are delusional, don’t listen to them. Their cognitive dissonance drives them to jump through the biggest hoops to defend something that is simply flat-out wrong. You can't beat most cheaters with a server side anti cheat only, unless you do what World of Tanks does and have everything server-sided which isn't feasible for all games. Take CS2 or CS:GO for example. The game is riddled with cheaters, despite getting multiple VAC updates this year.
Why would you even send the location of players behind walls? You can just do the visibility check on the server first. But hey that's extra CPU cycles that they don't want to be spending on helping you.
Visibility check of what?
This amounts to making players use thin clients and putting all visual and audio rendering on the server if you want it to work and not suck. Will you be happy to save £1000 on your PC at the cost of having games cost £150 a pop? Thought not. Or did you think the "extra CPU cycles" were just free?
@FishFace @x00z my small thought -> i think today no solution can prevent "cheaters" because you can't differ "cheaters" from users anymore if they want to.Here is why ->One PC is running the game -> a second PC emulates Keyboard and mouse inputs using a CAM (Capture Card) / Sound (microphon / digital capture) and an on the Game trained AI. So what does any "cheat protection" offer if they don't protect against serious cheating ?PS: "The only still working protection is lan play with control over hardware / software and players like done on real events"
Yes, there is no way to prevent all cheats. However, to prevent as many as possible, you need to use all available methods. It's quite reasonable that kernel-level anti-cheat should not be available, as it it's an overreach and a security risk. However, client-side anti-cheat is not that.
Many of the cheater ridden games don't even do a simple CPU based PVS check on the server side. You don't need a GPU for this because it's super fast.
An example of strictness in protection using PVS: https://www.youtube.com/watch?v=8w1ICIBO3D4
Tarkov for example doesn't even do a super simple check.
Oh and there's many more performant methods such as https://github.com/87andrewh/CornerCulling
It's a very hard thing to check for though especially with how complex the world can be in games today. Even if it was feasible you don't know where a client will be in a few frames so you basically need to do a "what players can be seen from this general location" check. The higher movement speed the bigger of a volume is your possible viewpoint.
This is also ignoring all the things you need replicated even when you can't see the player such as footsteps or them shooting or interacting with something.
I don’t pay multiplayer. That said, what if there is no anticheat? Would that level the playing field? Let everyone aimbot if they want to.
It will ruin the experience for anyone playing competitively in a ranked mode, which means invalidating that mode entirely. This drives players away from competitive games like CS, Valorant, etc. which is why those games all use anti-cheats.
Similarly if there is a persistent world or some state that the game relies on to make the game fun for everyone, e.g. extraction shooter, MMORPG, etc then if the game state's integrity is compromised it loses meaning entirely. Imagine playing chess but your opponent can move the pieces any way they like; it stops being a game.
I do agree that games where everyone agrees on cheating should allow it.
You use both server and client side anti cheat.
Using only one will not work the way it should.
That, or cloud gaming needs to replace it.
So many games that work flawlessly on Linux, so I just skip those that don't:]
This is the way.
And let people run their own dedicated servers again.
How many of them competitive multiplayer?
many. Marvel rivals, a bunch of the battlefield games, arma 3, dayz, dead by daylight, halo, hunt showdown, team fortress, war thunder, csgo, deadlock, vail vr most of these games manage to have less rampant cheating than rust while supporting linux at the same time, meanwhile rust claims that only 0.01 percent of players, only 14 people, were linux players and somehow thats causing a serious cheating problem that they cant resolve? anyone can tell how dumb that sounds.....
Very obviously many. But I gotta say my reaction to your reply is just "eeew, I'm so glad I'm not one of those people" (who only play those kinds of games).
They dropped Linux before proton was invented. Go on any cheat website and the requirements will always say to have windows. Maybe proton is exploited by some cheaters, news to me. You should just ban windows, no more cheaters.
It's not proton that is exploited. It's the kernel itself that cannot be monitored by anti-cheats, meaning cheaters could install a modified kernel to mess with the anti-cheat
as if the cheaters can't already evade anti-cheats even on windows.
Exactly. There are two methods that bypass kernel-level anticheat fairly easily, and there isn't really any way around them.
You can run the game in a virtual machine, with cheats running at the hypervisor level. This level is more privileged than the virtual machine's kernel, and can thus read or modify the active program without detection.
The other way is to load the hack into the bootloader, so the cheat loads before the kernel and, again, can thus be in a more privileged permissions state.
The only effective solution is to detect cheating server side, or change the game engine so cheats don't work (like loading all models with no line of sight behind the player, so wall hacks and modified game models don't matter.
There's another whole category that also doesn't care about what the game is running on the kernel: seperate device cheats. They act as a man in the middle for the input and output signals, and can auto shoot when you'll hit or adjust your aim if you're close but not quite there. Or just play for you entirely if it's that good at processing the output.
And blocking that isn't likely possible without killing streaming for the game or convincing all users to get input devices with encrypted connections or they can't play your game.
I'd respond to the original comment that anyone who doesn't have server side cheat detection isn't serious about stopping cheaters. In any case, I just removed that game from my wishlist. Not that I needed another survival builder game anyways, though they do tend to catch my eye.
They probably gave up on preventing cheat entirely, and are just trying to reduce the amount of cheaters by making cheating as annoying as possible.
I do actually believe them when they say that cheating on Linux can be made significantly easier and more comfortable than on Windows. I think it's a real fundamental issue for Linux, multiplayer games with toxic playerbases can be unplayable due to users being able to do what they want. They would have to make systems to allow for playing in smaller human-moderated servers, or rely purely server-side solutions
And that it self is measurable. Never understood the attempt to have total control on byod setups. Its never going to happen lol
I mean, Linux player base is only .01%, even if they are all cheaters, they will literally have no impact... You can't say "Linux user base is too small", and "if you support Linux you want cheaters" at the same time if you want to make sense.
I gave up Rust when I moved to Linux.
They are changing the game from building a cozy PvP Minecraft, to a clan based wargame.
Cozy players, don't cheat, clans do (Not all, of course).
Changing? Zergs have run servers since the first day I played almost 10 years ago. Small monuments are war zones the first few days of wipe. I don't think that's changed much since. Rust has never been cozy on any server with a population.
If Valve's expanding hardware lineup helps increase SteamOS adoption, they'll change their tune.
Not a chance.
Overhaul your entire game stack || Blame Linux for being too small
Why would they need to overhaul their game stack? Rust would run just fine on Linux if they didn't block it intentionally.
When I say they're gamestack, I'm talking about their client and their backend services and their associated middleware.
Moving a game that is mostly client authoritative to server authoritative is a hell of a lot of work and requires serious rewrites to both the client and the server.
It also requires a lot more compute to handle the back end.
When you go from calculating everything on the front end and just sending the data back to the back end to sending actual controls to the back end and doing simulations, you need to rewrite a significant portion of everything.
It's way cheaper and way faster just to write it in the client, and require the kernel/secured OS to police risky actions to the application.
The last couple of projects I looked at were probably 50% more man hours to make it server authoritative out of the box. Trying to come back and do it after the fact, It's much, much higher.
When we stopped support for Linux, we saw more cheat users exploiting Linux, than actual legitimate users.
Am I reading this wrong? Or is this guy really trying to say the very predictable rise in exploit users on the platform after they stopped patching the exploits is proof that the platform is full of cheaters?
Yes. It sounds like they removed anti cheat from linux for a spell and watched an uptick in cheater switching platforms. So they weren't willing to support the anticheat, removed it from the game and watched cheaters flock to the platform. I don't think they are saying linux users are cheaters, just that cheater will use linux if vulnerable.
Maybe he meant at the point they stopped support, not after. But its not very clear from the way he worded it.
Curious take, Rust has about 137k users online (24h peak via steam charts rn atleast). Dev claims 0.01% of users play on Linux. That's 13-14 players. If even a single person decides to cheat or run Linux to cheat the amount of "cheaters on Linux" would indeed "dramatically increase". But that's a really bad way to tell the narrative.
I don't really care, i haven't played rust in years and as others mentioned there's way to much games i can play instead. Ive been playing a lot of The Finals recently and I've had a blast. They have Proton support and anti-cheat and atleast publicly say that they do want to continue supporting Linux.
If not supporting Linux is a business/economical decision just say so. This is a really bad way to discuss the situation and an attempt to frame linux players as cheaters. If you have 14 players total on Linux out of a total 100k then they most likely aren't the problem.
I would bet that the claim of more than half of Linux players cheating is false positives due to shitty anti cheat. Like the anti cheat relying on some windows process or trying to initiate some process and linux is structured differently so it fails.
I’d imagine people on Linux who want to play Rust would be more than happy to shell out $15 and go through the little effort it is to download DLC so they can play on a Premium server when the other option is to shell out $140 for a Windows 11 license and go through the effort of installing that spyware trash to their PC.
On the other hand, Alistair clearly doesn’t want your money so maybe stop trying to give it to him.
i didnt plan to anyway lol and i dont think people should bother, rust is not a game worth the extra money or even worth the time in general...... and its damn well not worth a windows install, and i say that as someone who alrdy has one just in case on my system, i wouldnt even choose to boot up windows to play rust......
top 100 comments