My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more

How to make anti-cheat in multiplayer JS game ?

Moni.S's photo
Moni.S
·Dec 19, 2018

I'm planning to make a web-based multiplayer game (using three.js and socket.io), and one of my main concerns is protection against cheating.

I know the basics to make a secure game, i.e :

Never trust the client, client is only for rendering and input capturing Put your game logic server-side The best anti-cheat is the human Knowing that, vulnerabilities for which i have no ideas how to be protected are precisely those that concern the client and that the server can't check. For example, as an attacker, i can :

modify the renderer or shaders to make walls invisible (wallhack)

modify position of the camera, that is simply in a variable

inject code that will input for me (aimbot)

In classic games (executables), there are programs that can detects illegals operations. Usually, anti-cheats inspect the assembly and check that no dlls are being injected.

Maybe there is an obfuscator that is specialized in this task (even if it means losing performance) ?

I haven't done all the research yet but I hope that some of you have already been confronted with this problem, and can save me a lot of time by orienting my research.

Thanks a lot