• That’s what buggs me about the situation. Physical media doesn’t matter one bit.

    There’s nothing about physical media that conferrs any kind of ownership over the copy. Already way back in 2012 I bought an used copy of Skyrim only to find out when trying to install it that it used Steam and the CD key was already tied to the previous owner’s Steam account. I had the physical media, but it was worthless to me.

    What we should be fighting (or put our money towards) is DRM-free copies, like what GOG sells. If you really fetishize plastic disks nobody’s stopping you from burning a copy of the DRM-free installer onto one, or you can put it on your NAS, the cloud or where the sun don’t shine.

  • And this is to go even futher beyond:

    Ownership of software must include the right to maintain and repair it so it can continue to work - not only while the copyright holder’s servers says so. To be able to remove any digital locks as you would do to any physical lock found in your house. To do this we need the source code, and since not everyone is a programmer we need the right to share changes with others.

    Support open source/software freedom respecting games!

    • Open source competitive multiplayer games would be catastrophically compromised.

      • 5 hours

        Do you suppose games only use obfuscation as security? In turn-based games you have the time to not trust client infomation and real-time games could give the client less info until it’s actually needed. There would still be cheating via outside communication or outside tools… as cheating isn’t a technical issue solved by denying user software freedom - it’s a social issue.

        • I want you to know that I literally work in this space and you are handwaving away an incredibly complex problem space that hundreds of smart people have been trying to solve for decades now and it’s only getting harder (good cheat suites use hypervisor mods and direct memory access kits these days). I would love to educate this community but I’m under NDA (in addition to not wanting to provide information that attackers can use to better understand how we approach this problem space)

          • 53 minutes

            Cheaters are preferable to your proprietary kernel-level anti-cheat and whatever sneaky plans you may have for users and their computers. Good luck winning an arms race.

            If I ever do multiplayer (I hate networking) I plan to explore treating cheaters as a service problem, like pirates are to piracy.

      • 12 hours

        Invested players tolerate a level of cheating and banned cheaters often re-buy the game again. There is a monitary incentive to have some cheaters in proprietary multiplayer games.

        Open source client/server multiplayer games permit endless redistribution - new server hosters can exist. A server that falls to a bad temptation can be replaced by players migrating elsewhere.

      • Not really. Games have very similar security implications as any other server/client software.

        You are right now reading on exactly such a system, which is open source, and still you don’t see massive amounts of hacks targeting lemmy or piefed.

        The premise is simple: Never trust the client. The border you have to defend isn’t the border between the client software and the user, but the one between the client and the server. Always treat the client software as compromised.

        In terms of games that means:

        • All game state calculation happens on the server. The client sends to the server what it wants to do, the server sends what happens. So instead of the client sending “The player is now at position XY”, it sends “The player is walking forwards”. The server calculates the speed, distance and new position and returns that to the client.
        • The server only sends the client things the player should know. If the enemy unit is not visible, it is not sent to the client.
        • 21 hours

          Are you a videogame networking engineer? Because you’ve just handwaved away one of the most difficult challenges in gaming as if it were “duh that’s easy” level simple.

          I can link you some GDC videos that talk about how hard this problem is if you want

          ETA: Also you’ve only addressed memory modification attacks. This does not address external aimbots that read memory to determine enemy player position and then send legitimate-but-automated inputs to aim and shoot. How do you stop cheaters from doing this when they can see exactly how data is structured in memory, how values are obfuscated, etc?

          • Different person, but isn’t this already a problem with closed source games? My game dev experience is more hobbyist than professional, but I’ve spent a few lonely hours on ghidra. I also teach secure coding at my university, but I focus more on how to patch legacy systems and audit code for vulnerabilities. My point is that closed source vs open source, I see this as an issue in both systems and therefore irrelevant. Pardon my ignorance on this exact topic.

      • Why?

        If you can’t write your game in a way to prevent cheating it really doesn’t matter.

        I would argue that the only way to ensure trust in the competitive arena is to open source.

        Could you imagine sports being played without defined rules?

        Cheating is about a design challenge related to how clients and servers communicate and has nothing to do with the source code being public.

        • 21 hours

          Cool. So tell me how to write a game engine that cannot have its memory read to determine enemy player position with precision and then automate aiming and trigger pulls in a first-person shooter

          You have no idea how hard anti-cheat is or how determined attackers are because of the profit incentive.

          • 20 hours

            It really depends on your goal. Obviously you can eliminate most cheating by a server model that never trusts the client.

            This does not eliminate other possible client side cheating such as wall hacks or aim bots.

            As I said, there is a logical problem to solve here because in the case of wall hacks (ie seeing enemies through walls) the client needs enough information to be able to show an enemy around a corner quick enough to make sense for a FPS. Visibility calculations are entirely possible and I am sure you could find creative ways to limit this as much as possible.

            Aim bots or trigger bots are a lot harder, but for competitive games heuristic based anticheat shows a lot of promise without having to hook the kernel in a losing game of cat and mouse.

            • I want you to know that I literally work in this space and you are handwaving away an incredibly complex problem space that hundreds of smart people have been trying to solve for decades now and it’s only getting harder (good cheat suites use hypervisor mods and direct memory access kits these days). I would love to educate this community but I’m under NDA (in addition to not wanting to provide information that attackers can use to better understand how we approach this problem space)

              • 4 hours

                I am not hand waving anything away, I am very familiar because I have been involved with game development. I am aware of the unique issues that multiplayer FPS generate and I am also aware of the current best solution.