this post was submitted on 12 Apr 2024
50 points (98.1% liked)
PC Gaming
8607 readers
886 users here now
For PC gaming news and discussion.
PCGamingWiki
Rules:
- Be Respectful.
- No Spam or Porn.
- No Advertising.
- No Memes.
- No Tech Support.
- No questions about buying/building computers.
- No game suggestions, friend requests, surveys, or begging.
- No Let's Plays, streams, highlight reels/montages, random videos or shorts.
- No off-topic posts/comments, within reason.
- Use the original source, no clickbait titles, no duplicates.
(Submissions should be from the original source if possible, unless from paywalled or non-english sources.
If the title is clickbait or lacks context you may lightly edit the title.)
founded 1 year ago
MODERATORS
The real question is: why does the client even know about players who aren't visible to them?
The solution with Minecraft PvP is simple: if you can't see a player, the server won't even tell you the player exists.
If you use a wallhack you can see players walk behind a wall and then just disappear as if they had logged out, and suddenly reappear from behind the wall on the other side as if they had logged in.
What Minecraft anticheat systems do is relatively simple:
You don't need to install anticheat on the player's computers. The players can run all the mods and cheats they want, but cheaters can only see the same information as all other players, can only move the same way as all other players, and can't shoot faster or more precise than any other player.
So while some people may still be cheating, at that point you can't tell the difference anymore.
For comparison, this is btw how all other software outside of gaming is written. In all other parts of computer science you'd get fired if you did what game developers do.
Imagine if reddit would send all DMs to all users and only make the DMs invisible on the client. That'd be an immediate lawsuit. Instead, the server validates who should be able to see what and only sends that information.
Or imagine if banks allowed anyone to make any transaction they wanted, only the banking app verifying that you've actually got that much money. Utterly ridiculous. Of course the servers validate whether you should actually be allowed to do that.
As result, writing third party apps for most websites is allowed, the EU even requires banks to support third party apps, but modded clients for videogames are considered a security risk. What the fuck.
Ah I see your point and I’d be interested in what that implementation looks like. I think it would highly depend on the game so the type of thing you’re talking about is more applicable to Esports titles.
The culling of players beyond eyesight or through walls is absolutely something that can be done to minimize cheats. If I remember right, CS has been doing this for a long time. However it has limits. Ping becomes very important as the culling will screw up interpolation.
Then you start talking about cheaters moving and aiming like real players, that can get hard because you have to set acceptable limits on these things. I don’t think it solves the problem though.
Even if someone using cheats is kept within the bounds of maximum human performance, well, they can still outperform most humans can’t they? And that doesn’t solve much of my issue. Like say we set cheating limits in actual sports at the best players capabilities, how do we even know what those are? And if someone normal dopes and can perform at that high level, it’s wrong. And it’s wrong at any skill level to do so. Because it undermines the sport or game.
Now I think this can easily be better in most games. Most games don’t even ban people who are sliding around the map at inhuman speeds and getting 50 headshots a minute. CS doesn’t even do that and I have no idea why. The bar is in the floor for stopping cheaters honestly.