The patches to wallhack and autoaim are literally a 2 min google search away, and the compile process is well documented and easy.
I wonder what kind of measures can be put into place without utilizing what essentially boils down to DRM?
The patches to wallhack and autoaim are literally a 2 min google search away, and the compile process is well documented and easy.
I wonder what kind of measures can be put into place without utilizing what essentially boils down to DRM?
The first big step would be isolating the simulation logic into its own library. Then both the client and server can share that library. We would be able to move some of the decisions to the server, or at the very least verify if the client's decision make sense.
Although, even in scenario with a completely untrusted client receiving only final video output, there's no guarantee that the actions being input are human.
I imagine it would be a fairly trivial application of computer vision to make an aimbot for first person shooters that works most of the time.
Although my daughter used to always pick up that damn laser and then shut out the rest of us
For aimbot: let server slightly autoaim, but require more shots and slower rotation so it's a bit more about strategy than about aiming speed?
Wouldn't that require the server to do some amount of 3D logic every netcode tick for every player? And then you'd get into real latency problems, since either you do rollbacks to account for when people are allowed to see each other or you let the fastest connection win.
2) Linux distributions compile BZFlag themselves, they don't just distribute upstream's binaries.
At the very least, you won't be able to protect info like the position of entities and players (You need them even before you see the players to avoid problems, meaning anyone can create a wallhack or an aimbot).
If one could create a trusted environment, that would be a different story. I do think this is possible with cloud gaming. If you can't interact with the game memory, the game files or the underlying operating system, the best you can do should be macro or AI based on what's displayed on the screen.
Raw Autoaim Bot -> Neural Net (since its open source) -> tweak inputs until its considered a human -> send the tweaked autoaimed command.
Are you suggesting that BzFlag sysadmins are going to be custom-training their own neural nets?
Based on my experience with LeelaZero, its far more likely for people to share weights with each other. And participate in community-training. Not everyone has the skill to spin up TensorFlow, carefully partition off training data, and monitor neural nets through training.
But almost anybody can download the "latest weight file" as a Cronjob and update their bzflag server every day or week.