• CleoTheWizard@lemmy.world
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    8 months ago

    If you mean that bots can be restrained within the same rules as normal players, sure. If you mean that cheats will be forced to mimic human players, no.

    For instance, how would you catch someone who can see through walls in a game? You can check if their crosshair follows someone through a wall maybe. But most of it is about game sense. So someone who is walking is undetectable by heuristics and by server side anti-cheat.

    This is also the same for radar hacks. Or if you play a MoBa, screen alert hacks. All they do is boost player performance without being detectable. Most server side anti-cheat can only pick up on certain things, I don’t know Minecraft’s solution but I doubt it catches disguised cheating via code injection.

    The reason I care about people cheating is that there’s an actual competition and it’s a social thing. If I wanted to play bots, I’d play bots. But I don’t and I don’t know of any game with serious competitors who would accept cheating so long as it “looks legitimate.” Because then why play? Why put in hours of practice to get better at something that I could click a button and be better at?

    Cheating will continue to kill games and at this point I have basically retired from PvP since it’s gotten so bad.

    • justJanne@startrek.website
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      8 months ago

      This is also the same for radar hacks. Or if you play a MoBa, screen alert hacks. All they do is boost player performance without being detectable. Most server side anti-cheat can only pick up on certain things, I don’t know Minecraft’s solution but I doubt it catches disguised cheating via code injection.

      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:

      1. They only send information to clients if the players should have that information as well
      2. after every movement, action, etc they calculate whether the movement you did would have been possible by a real human given the information you should have had at that point, and if not, you’re banned
      3. all actions and movements are compared over minutes of gameplay and, if your actions are too different from all other players, sent to review by a human (and potentially banned)

      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.

      • CleoTheWizard@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        7 months ago

        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.