GameMaker Questionable anti-cheat & multiplayer aspects

S

syscall

Guest
Hello,

This might be a silly topic, as it might turn into nerd talk. Let's keep it simple.
Anyways, from what I have gathered (quickly), there are no anti-cheat features in GMS2, I was just thinking about it. (The closest feature I found is obfuscation when deploying to HTML5.)
Since I am pretty new to GameMaker, I am not sure how (online) multiplayer fits into GameMaker (I saw there is an extension for networking, like websockets or something). Also I remember, I have played an open-source multiplayer shooter game which is made using GameMaker, called "Gang Garrison 2". (G'old days...)
As for Windows, I wonder, is it worth making/using a client-side anti-cheat in a multiplayer game?
What is your opinion about cheaters in GM-created games, and cheat prevention using GMS2?
What if a game is using Peer-To-Peer (P2P) networking (no central server-side)?

In my opinion: I'd not implement any client-side anti-cheat features. Instead, a server-side would be the boss for maintaining the game state, clients would only receive updates near their position, etc. while making sure a client is never allowed to set their own values (i.e. ammo, health, etc.) by sending forged net-packets to the server. So, treat client-side as read-only when it comes to multiplayer/networking. The problem is, this can't work in P2P networking model. I have no ideas on how to prevent cheating in P2P, if anyone have any ideas, please do share :)

Best regards!
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
Anyways, from what I have gathered (quickly), there are no anti-cheat features in GMS2, I was just thinking about it.
Any general-purpose anti-cheat/anti-tamper solution gets cracked very quickly, even enterprise grade ones like Denuvo, so that would be exactly zero help if it existed.

(The closest feature I found is obfuscation when deploying to HTML5.)
Using YYC does make your game logic much harder to pick apart (see article).

client-side anti-cheat
Client-side anti-cheat is a somewhat futile concept beyond coming up with variable hashing schema to revert changes/auto-disconnect. Checks are usually done server-side.

What is your opinion about cheaters in GM-created games, and cheat prevention using GMS2?
Before you worry about people cheating in your game, you need to get enough people playing your game as such, which is where most games fail.

What if a game is using Peer-To-Peer (P2P) networking (no central server-side)?
Then one of the players (usually the lobby host) acts as an authority.
 
Top