Jump to content
  • Advertisement
Sign in to follow this  
ic0de

allowing mods but not "hacks"

This topic is 2076 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

In my game I provide a very rich scripting interface using AngelScript. I do this so that mods can be added in the future and levels can be extremely varied and interactive. However this introduces a problem, it makes it very easy for people to "hack" the game (aimbots, speedhacks etc.). How can I encourage modding yet discourage those who just want to cheat at the game. I thought that maybe I wouldn't count achievements in a modded game or allow multiplayer unless everyone else had the same mod. But this also introduces another problem, How do I know if my scripts have been modified? Any other Ideas on how to encourage modders but discourage cheaters?

Edited by ic0de

Share this post


Link to post
Share on other sites
Advertisement

Hacking through scripts is generally not possible unless you make a lame-brain move and allow them access to the information they need for hacking.

For example, never allow players to know the positions of other players via scripts.  Aimbot stopped.  Simple as that.  Think about what is possible for everything you expose.

 

To know that everyone has the same scripts, getting the mod is part of joining the server.  Send the scripts as people join.

Heavy mods often require a special download of resources.  Checksums help identify wrong/hacked or missing files.

 

 

L. Spiro

Share this post


Link to post
Share on other sites

Those who want to cheat can do so even without scripting support.  

 

It is fairly simple to write an aimbot even without modifying a game.  There are lots of cheats for showing additional information on screen by exploiting overdraw.

 

 

For a hobby game it is generally best to ignore those who cheat. Provide the best experience for your intended audience, take some minimal steps to make it harder to cheat, but recognize that cheaters are out there and they will get around any protection you introduce.

 

No matter what you do, there will always be the hacker on the scoreboard with a score of 999,999,999.  If it bothers you then maintain it and delete the occasional database record.

 

For a larger commercial game there are many things you can do to a client to make it harder to cheat, ranging from redundant overlapping internal checksums to detect executable modification to employing external products like PunkBuster.  Even then cheaters still find ways to get around them and it is a constant arms race.

Share this post


Link to post
Share on other sites
Make it completely open, but use a checksum approach to make sure that you can't join a multiplayer game with a different set of mods than the host/server offers. If the checksum indicates any mods whatsoever have been installed, you can also disable single-player achievements etc.

That's the best approach IMO. Keeps your players happy, keeps you from sinking an infinite amount of time into a losing war against cheaters, and gives some marginal protection for players who want to stay honest.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!