• KomfortablesKissen@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    18
    arrow-down
    5
    ·
    1 month 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.

    • ᗪᗩᗰᑎ@lemmy.ml
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 month ago

      Check the data on the server

      I believe this already happens to some degree.

      Don’t give any data to the client it doesn’t need, like enemies around the corner

      Enemies around the corner still make noise/peek/shoot/etc. You can’t just hide data of nearby enemies from the client because their actions still have in-game consequences that need to be reproduced across all active/nearby players.

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

      How do you validate data that is within the realm of possibilities? if my head shot would have been 1 pixel too far to the left to hit and my hacked client sends it 1 pixel to the right so it makes a hit, how does the server know this isn’t fake?

      Server decides if it’s a headshot.

      If my fake data doesn’t look out of the ordinary i’m still hacking the system and tricking the server-side validation.

      Client only sends coordinates of origin and target. Lag? Sucks to be you, with or without cheat.

      The math to send the perfect headshot isn’t difficult if you know where you are, where the enemy is and you can only send origin & target coords, I’m not sure this solves anything.

      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)

      Agree with you 100%.

      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?)

      Thanks! I’m a huge open source supporter and only ever installed Windows on my desktop to play games, still using Linux on my laptops. Thanks to Valve, Proton, and Wine, I’ll be able to go back to Linux and maybe discover some new games.

      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.

      Kinda agree with you on this. Although I have my desktop as a strict “gaming” machine, I wouldn’t mine an EA rootkit on my Desktop Linux system if all I did on it was game. But yes, they can keep their hands off my kernel on my “work” devices.

    • Object@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      9
      ·
      1 month 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.

      • KomfortablesKissen@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 month ago

        Well, the server acts mostly as a single source of truth. The clients are the ones registering the shot, the server confirms or denies it.

        My approach would be prohibitedly expensive, as I suggested the registration would also happen on the server. It would also result in bigger lags