Why is it not more common to implement anti-cheat on the server instead of the client? Is that not more secure? Couldn’t the server just check what vision a player should have and not provide any other information to prevent wallhacks or maphacks? Or check how fast it is possible to move to prevent speedhacks? Aimbot is a bit harder to detect I guess but what about the other ones?

  • krimson@feddit.nl
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    1 year ago

    Server determines hit received. Client only sends shot fired and direction and such. Server could also calculate if shot and direction make sense based on location, last shot fired, etc.

    I’m a dev but not a game dev so I have no idea if this is doable or too much for the server to handle.

    There probably is a reason anti cheat on the client is still needed. On the other hand, isn’t this mostly to prevent wallhacking and such? That’s probably the hardest cheat to detect server side if it’s even possible at all.

    • Longpork_afficianado@lemmy.nz
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      Depends what you mean by wall hacking I guess. Shooting through a wall should not be possible by your proposed method, and it could be expanded to prevent the player moving through walls also.

      Seeing through walls though is a different matter. How does the server know if I have rendered an opaque wall or not?

      Personally I see anticheat as a problem to be solved socially, not technically. Just let people vote to kick, and anyone who is generally accepted to be hacking will be kicked. No need for invasive Spyware.

      • xep@kbin.social
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        1 year ago

        Just let people vote to kick

        This system is easy to abuse, and historically when implemented will be abused.

    • yeehaw
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      As far as I’m aware every action the client produces is reported to the server. If I push “w” the client tells the server “move forward X amount”. So as far as I’m aware, make most sense to have anticheat on the client side.