- squaresinger@lemmy.worldEnglish1 day
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.
tabular@lemmy.worldEnglish
1 dayAnd 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!
neatchee@piefed.socialEnglish
1 dayOpen source competitive multiplayer games would be catastrophically compromised.
tabular@lemmy.worldEnglish
7 hoursDo 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.
neatchee@piefed.socialEnglish
6 hoursI 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)
tabular@lemmy.worldEnglish
2 hoursCheaters 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.
tabular@lemmy.worldEnglish
14 hoursInvested 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.
- squaresinger@lemmy.worldEnglish1 day
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.
neatchee@piefed.socialEnglish
23 hoursAre 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?
- 22 hours
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.
- Doomsider@lemmy.worldEnglish1 day
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.
neatchee@piefed.socialEnglish
23 hoursCool. 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.
- Doomsider@lemmy.worldEnglish22 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.
neatchee@piefed.socialEnglish
6 hoursI 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)
- Doomsider@lemmy.worldEnglish5 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.




