Summary of “Anti Cheat at Embark Studios” prensentation by Embark Studios Senior Software Engineer Tom van Dijck, at devcom in Germany on August 24.

… Linux presents an even worse situation. Because users can custom-build the OS kernel, embedding a cheat directly into the kernel and compiling it makes it nearly impossible for a game to detect its existence. “How do you detect that?” van Dijck asked, adding that while support for SteamOS and Proton will remain, platform requirements will become stricter.

Though he mentions anti-cheat on Linux being more challenging to implement that on Windows, he doesn’t seem to think that it’s impossible. He goes on to talk about “undetectable” cheating hardware becoming cheaper, which sounds like a bigger problem, but he sounds optimistic about being able to detect those as well.

IMO “platform requirements will become stricter” could mean something like only allowing signed kernels with anti-cheat module built in + secure boot.

  • lath@piefed.social
    link
    fedilink
    English
    arrow-up
    45
    arrow-down
    2
    ·
    1 day ago

    Linux presents an even worse situation. Because users can custom-build the OS kernel, embedding a cheat directly into the kernel and compiling it makes it nearly impossible for a game to detect its existence. “How do you detect that?”

    Server-side control and you won’t need to? Or am I missing something here?

    • dillekant@slrpnk.net
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 hours ago

      Cheats today aren’t like the TF2 cheats some people imagine. The way modern cheats are described is “cannot distinguish from high level play”. To use a hardware cheat as an example, you have a mouse and capture card, and connect that to a raspberry pi, put some software on the pi, then make the pi imitate a USB mouse. Then, whenever aiming near a target, have the pi “lock on” to that target (the pi uses object detection to find targets). You can also make it more or less accurate to make it less detectable. In this example, it’s literally a mouse moving around. Doing something like confirming aim on the server side doesn’t help here.

      To explain a (hardware) wallhack, you can plug in a USB-C device into the PC. Now USB-C devices can also use thunderbolt, which is just PCIe, which means it has DMA access to the PC’s RAM, no OS required (the OS needs to permit the device but after “trusting” the device, the device can do whatever it wants). So, you do a similar trick. Capture card + DMA access to the PC RAM. The Pi finds the place where the game tracks objects, finds targets, and places a box around them (so you see the game from the capture card with the box over all targets, including behind walls). Now you might be saying “well the server shouldn’t send targets behind walls”, but even if the server doesn’t do that, it needs to send them a little bit before they’d be visible, and that’s enough of an edge.

      Kernel hacks are basically the same thing, but without the expense. You can see a target a fraction of a second before they’re visible, and the mouse can be told to move to the target. This is the same as high level play because people can often predict where someone is going to be, and are very, very good with tracking targets, so it just looks like a good player.

    • [object Object]@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      15
      arrow-down
      4
      ·
      edit-2
      1 day ago

      I’d imagine server-side detection wouldn’t work that well for things like ESP or non-obvious auto-aims, which are already a good chunk of FPS cheats.

      • Euphoma@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 hours ago

        The hypixel minecraft server, which by being a minecraft server cant have client side anticheat, shows fake players to make aim botters attack them. They are transparent so you can notice them as a non cheater.

      • lath@piefed.social
        link
        fedilink
        English
        arrow-up
        18
        arrow-down
        3
        ·
        1 day ago

        Introducing proper matchmaking, which isn’t rigged to encourage dark patterns.

        Non-obvious cheaters will end up playing against others like them or actually good players, in which case they either become obvious cheaters or stop being a problem.

        • Skipcast@lemmy.world
          link
          fedilink
          English
          arrow-up
          8
          arrow-down
          1
          ·
          1 day ago

          Wardogs only has a server browser so that wouldn’t work for them. It’s also 100 players per game so even if they did introduce skill based matchmaking good luck with figuring out how to balance the teams in a way that actually works

          • lath@piefed.social
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 day ago

            True, only works if they hold the servers. And the pick your poison scramble does make it difficult to consider one’s options.

            I’d have the semblance of a thought on an idea, but it’s kinda unfair to players. It would mean to mark those with high stats (pinpoint hits, low to no misses) and make them “stars”, as in bring the visibility on their hits and let the players decide.

            But yeah, it’s a pain.

        • popcar2@piefed.ca
          link
          fedilink
          English
          arrow-up
          2
          ·
          24 hours ago

          That’s not what cheaters do. They often buy smurf accounts or earn money to boost other people’s accounts to high ranks.

          They can also just turn on the cheat when they start losing, you can’t detect server-side wether someone got a lucky shot or if they had aimbot on that masks it as a mouse.

        • [object Object]@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          1 day ago

          Idk, it seems unfair that a good players have to deal with cheaters. It’s not like having cheats makes you similar to better players. Ambush is infeasible against people with ESP.

          • lath@piefed.social
            link
            fedilink
            English
            arrow-up
            3
            ·
            edit-2
            1 day ago

            Good players smurf on lowbies all the time. That’s unfair, but you don’t see them complaining about it.
            I’d think reminding them what it’s like on the receiving end, while unfair to them, kinda evens it out a bit.
            But that’s just me being petty.

            • popcar2@piefed.ca
              link
              fedilink
              English
              arrow-up
              3
              ·
              24 hours ago

              That’s unfair, but you don’t see them complaining about it.

              Smurfing is a widely known issue and pretty much every competitive game tries to ban people they know are smurfing or boosting multiple accounts.

      • x00z@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        1
        ·
        24 hours ago

        Why would a server not be able to do the calculations a client does for rendering only the visible players? I know the answer and it’s money.

        • NeatNit@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          8
          arrow-down
          1
          ·
          22 hours ago

          Uhh, no… It’s because that’s not how anything works. There’s so many flaws in your argument, but here’s just one: if an enemy player is really well camouflaged but technically visible, then they would be rendered on the client side, but a human player would have to be very observant to spot them and kill them.

          A cheater can replace the enemy character’s texture so that, on their screen, the enemy’s camouflage is useless and the player can spot them with no effort.

          From everything the server can see, the cheater’s gameplay is legit. They could just be really good at spotting enemy camouflage. Only by looking at the client side render output, you can spot the cheat.

          Unless the server is actually rendering the game for each player (which, spoiler alert, isn’t the case), most cheats are not detectable nor preventable on the server side.

          • x00z@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            9 hours ago

            You cherry pick the argument of camouflage. But in many FPS games that isn’t much of a thing.

            Here’s an anti wallhack plugin for CS2: https://github.com/HLND2T/CS2FOW

            You can clearly see how useful it is against wallhackers. But, as I said, it requires to do some sort of clientside rendering on the server, which costs CPU resources, and thus money.

    • rozodru@piefed.world
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      13
      ·
      1 day ago

      ok hear me out: If a user is going to build and compile their own kernel to simply put in a couple cheats for a specific game then…hey let them cheat. I HIGHLY doubt your average cheater is going to go through all that to cheat in like arc raiders or something.

      I just don’t see hundreds or even thousands of players doing this. Not enough anyways to ruin the online experience for others.

      • Soggy@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        19 hours ago

        And they definitely would never sell those custom kernels to less motivated cheaters.