• TurboWafflz
    link
    English
    1378 hours ago

    The fact that companies think client side anti cheat is a good idea is so insane. Maybe try designing your server better instead of blaming the operating system for not letting you control your users

    • NekuSoul
      link
      fedilink
      English
      83 hours ago

      Aside from better server side detection, which is I agree is severely underdeveloped, I’d say that the next big step should be a much bigger reliance on reputation-based matchmaking, ideally across games. It would need to be built in a way that’s not abusable by devs or trolls and should be as privacy-respecting as much as possible (as in, not having to validate with your ID South-Korean style), which isn’t an easy task. Working properly however, it would keep honest players from seeing any cheaters at all with no client-side anticheat required at all, which would be nice.

    • ᗪᗩᗰᑎ
      link
      fedilink
      English
      15
      edit-2
      8 hours ago

      Genuinely curious, because this isn’t my area of expertise, but how do you design a server to be “better” if it has to trust data from a remote client?

      Example, if the client is compromised - because as they’ve said, they have no way to “attest” that the kernel is not compromised - how would the server know any better?

      If my Apex client tells the server I got a perfect headshot, how would the server know I didn’t fake the data? Is there a real answer to this problem or are we just wishing they come up with an impossible solution?

      My general understanding is that EA is 100% correct. Now, on the other hand, maybe the should just limit plays between Linux <-> Linux so people can at least still enjoy the game (I’m moving to Linux soon so I’ll basically no longer be able to play the game, which is, as my primary gaming addiction, a huge loss I’m willing to take).

      There’s compromises EA could take, but I think the Linux market share is just too small for them to care to spend any resources - even though they’re raking in billions (~$3.4 Billion) and could spare a few resources to find a good middle ground. Capitalism at it’s finest.

      • @[email protected]
        link
        fedilink
        English
        74 hours ago

        Genuinely curious, because this isn’t my area of expertise, but how do you design a server to be “better” if it has to trust data from a remote client?

        Check the data on the server (“oh no, incredibly expensive”). Don’t give any data to the client it doesn’t need, like enemies around the corner (“oh no, now my game is so very laggy because caching and future position assumption just became impossible”)

        Example, if the client is compromised - because as they’ve said, they have no way to “attest” that the kernel is not compromised - how would the server know any better?

        Now the server doesn’t need to care. There’s input? Validate and use it.

        If my Apex client tells the server I got a perfect headshot, how would the server know I didn’t fake the data? Is there a real answer to this problem or are we just wishing they come up with an impossible solution?

        Now the client can go pound sand. Server decides if it’s a headshot. Client only sends coordinates of origin and target. Lag? Sucks to be you, with or without cheat.

        My general understanding is that EA is 100% correct. Now, on the other hand, maybe the should just limit plays between Linux <-> Linux so people can at least still enjoy the game

        That would only create more work for the developers, all for the defacto expulsion of Linux users (Way less players at all times). The best course of action here would be the actual expulsion of Linux users. Also, EA is at most 25% correct. (Not a rational argument, I just very much dislike them)

        (I’m moving to Linux soon so I’ll basically no longer be able to play the game, which is, as my primary gaming addiction, a huge loss I’m willing to take).

        Damn, sorry to hear that. It’s always bad to leave something one knows because something’s become unbearable. I wish you best of luck on your journey! (I’m assuming a lot, but why else would you switch despite your choice of use of free time?)

        There’s compromises EA could take, but I think the Linux market share is just too small for them to care to spend any resources - even though they’re raking in billions (~$3.4 Billion) and could spare a few resources to find a good middle ground. Capitalism at it’s finest.

        On the other hand: I quite like it. It forces them to keep their grubby little hands from my kernel.

        I do not like anything anti cheat. But I also don’t really like cheaters, especially in online games, so anti cheat could be tolerated. The only thing is: nothing trumps my systems integrity. Definitely not online player satisfaction.

        • @[email protected]
          link
          fedilink
          English
          356 minutes ago

          The server already determines if a shot’s valid or not though. Once a client receives information on where the enemy is at, then the client can send message to the server that they are shooting exactly at that location.

      • @[email protected]
        link
        fedilink
        English
        9
        edit-2
        4 hours ago

        The fact that this thoughtful comment was downvoted, while the computer illiterate reply was upvoted, speaks to the hive mind on this subreddit. We all detest EA, but this guy has a legitimate point.

      • @cm0002
        link
        English
        206 hours ago

        If my Apex client tells the server I got a perfect headshot, how would the server know I didn’t fake the data?

        Any game that works like that is fundamentally flawed and AC is nothing but an attempt at a cheap bandaid at best.

        The client should be doing nothing but rendering and sending player actions to the server and the server should be managing the game state as well as running its checks on those actions. And when one client sends actuons that are weird and doesn’t line up with it’s internal game state it should kick the client immediately always deferring to what ITS game state is telling it, not the client.

        • @ampersandrew
          link
          English
          76 hours ago

          The cheat in this case would send legitimate actions. Like maybe you, the human, would have missed the headshot, but your cheat corrected to the inputs that would have landed one.

      • CalcProgrammer1
        link
        fedilink
        English
        358 hours ago

        How do they know you haven’t trained an AI to get headshots? The cheats often break the bounds of what is realistic in games, whether it is allowing you to see through walls (server shouldn’t be sending enemy positions that aren’t in view), going too fast (server should speed check pplayer positions), getting items they shouldn’t have (server should do inventory sanity checks), etc. Other than that, look for signs of automated movement/things unrealistically precise for a human to do. Eventually the cheating will just be moved to a separate air gapped computer running AI on the video feed. Client side is an invasive, broken, and malicious concept.

        • @grue
          link
          English
          24 hours ago

          Eventually the cheating will just be moved to a separate air gapped computer running AI on the video feed.

          At that point it isn’t cheating anymore; the AI would be legitimately playing the game!

        • @[email protected]
          link
          fedilink
          English
          118 hours ago

          Just tracking trended data in general would be sufficient to defeat a LARGE number of common cheats. One of the very few use cases “AI” might actually work for in a positive way. But that puts the burden on the developers and server hosters, and it’s much easier to just burden the players directly instead.

          • @[email protected]
            link
            fedilink
            English
            57 hours ago

            I’m fairly confident that developers already do this. When the “ban hammer” comes down it is probably after analysing data trends for players.

        • @tehmics
          link
          English
          14 hours ago

          Servers often don’t send player data that is outside of the immediate area of the player, but they have to for enemies that are nearby. If they walk around the corner and your client didn’t know about it, then you’ll be waiting for your ping time to even render the enemy. I.e. they walk around the corner and already shot you, then you see them suddenly appear a full players width away from the corner, and you die. Aka peekers advantage amplified.

          Same deal with footstep sounds, bullet tracers, a player’s shadow, etc. Your client needs to know where all this is coming from and it can’t do that if it doesn’t know the enemy exists and where. And that is a buffer zone for hackers to derive wall hacks from.

          So basically, the overwhelming majority of servers do do all those things, since the late 90’s. Hacks tend to work within those bounds. The most common, impactful and hard to detect cheats are based on providing perfect mechanical inputs. Aka aim hacks. Nothing about limiting info from the server can prevent that unless you also want the legitimate player to be unable to see their enemies.

          • unalivejoy
            link
            fedilink
            English
            12 hours ago

            The obvious solution is to make wall hacks an intended game mechanic.

        • @[email protected]
          link
          fedilink
          English
          47 hours ago

          God I was pissed when riot did it for league. They didn’t even have a terrible cheating issue, it was rare and they suuslly caught it and parched it quickly. If blizzard can do it so can they.

        • @[email protected]
          link
          fedilink
          English
          -15 hours ago

          Well thank god this computer genius is on the scene. Don’t worry, EA can solve everything as soon as they hear about these great and very original ideas.

      • @[email protected]
        link
        fedilink
        English
        30
        edit-2
        8 hours ago

        Your core premise is broken. Relying on trusting anything from a remote client cannot possibly result in a fair game.

        • @Evotech
          link
          English
          54 hours ago

          It’s not that simple. Especially not for real time shooters, latency is a killer.

          • @[email protected]
            link
            fedilink
            English
            2
            edit-2
            4 hours ago

            It is that simple. You already have to account for latency because everyone but one player (who you also can’t trust no matter how many rootkits you install) is not the server.

            Client side validation cannot possibly provide any actual security, but even if that wasn’t the case and it was actually flawless, it would still be unconditionally unacceptable for a game to ever have kernel level access.

          • @[email protected]
            link
            fedilink
            English
            97 hours ago

            Yes, people can still cheat with a camera and manipulating inputs. There will never be a way around that.

            But that’s entirely unchanged by adding malware, that, even if it could theoretically work, should be a literal crime with serious jail time attached. Client side validation is never security and cannot resemble security.

            • andyburke
              link
              fedilink
              07 hours ago

              There are ways to detect and stop that, but they can and should happen on the server, not on the client.

                • andyburke
                  link
                  fedilink
                  15 hours ago

                  There are lots of options such that you can tune your false positive/negative rate. 🤷‍♂️ Tons of ways you can structure this depending on your game’s tech.

                  • @[email protected]
                    link
                    fedilink
                    English
                    15 hours ago

                    No options that resemble legitimate or evidence based in any way.

                    If a computer has the exact same input and output tools as a human, you cannot possibly do better than guessing. It is a literal certainty that you will ban legitimate players doing nothing wrong for being too good if you try, and it’s unconditionally not acceptable to do so.

      • TurboWafflz
        link
        English
        4
        edit-2
        7 hours ago

        They should just use the same approach big minecraft servers use, the game itself has no anticheat, but the server makes sure the data it’s getting from the client makes sense and kicks clients sending weird data. Doing any checks client side will always be insecure and a nuisance to players

        • @Evotech
          link
          English
          24 hours ago

          Yeah there’s no Minecraft cheats /s

      • @[email protected]
        link
        fedilink
        English
        26 hours ago

        how do you design a server to be “better” if it has to trust data from a remote client?

        By minimising the trusted data exchanged and checking it against server side data.