63
It's not about physical vs digital games, it's about ownership
(popcar.bearblog.dev)
This is a most excellent place for technology news and articles.
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.
Do you suppose games only using 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.
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:
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.
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.
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.