Why is anti-cheat always client-side? - eviltoast

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?

  • jet@hackertalks.com
    link
    fedilink
    English
    arrow-up
    14
    ·
    edit-2
    11 months ago

    It’s an interesting problem. If you render everything server side and just deliver a video stream to the client, like a GeForce now only tournament. That eliminates a lot of cheating vectors.

    The issue then becomes ensuring you have equal latency to all the players. So no one person has an advantage. But you could add artificial latency in that circumstance.

    There’s no getting away from the fact that in a distributed network, ordering of events and ensuring simultaneousness is difficult. Peakers advantage is a real thing.

    Server side rendering and streaming, advantages: people only see what they’re supposed to see, the server has perfect registration of all activity.

    Disadvantages: more latency for everyone, AI auto aiming is still an issue. Requires excellent networking for everyone

      • jet@hackertalks.com
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        edit-2
        11 months ago

        Not really that expensive. With server rendering the GPUs can be constantly utilized for different clients or different activities. You only pay per minute of usage. GeForce now is I think $5 a month, which it’s not much. If you pay AWS for their ephemeral tear, 5 to 10 cents per hour depending on the GPU you want.

        When they’re not being used for gaming, those GPUs could be used for AI training, model generation, a whole host of things. A GPU in your house probably isn’t used 24/7, so that hardware is not being efficiently a moretized over a large scale of activity

        • idunnololz@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          11 months ago

          Adding at least $5 a month to a game subscription is expensive considering a lot of them are 10-15$/mo. Note that this isn’t just GPU expensive. You also need to calculate game logic on the server too which can also drive up CPU and ram expenses. This is not to mention that a lot of popular online games are freemium and will stand to lose a lot of players if they start charging a subscription.

          Another way to word it is that the freemium model is incompatible with server side rendering.