Jump to content

  • Log In with Google      Sign In   
  • Create Account

allowing mods but not "hacks"


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
3 replies to this topic

#1 ic0de   Members   -  Reputation: 909

Like
0Likes
Like

Posted 16 January 2013 - 06:39 PM

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, 16 January 2013 - 06:40 PM.

you know you program too much when you start ending sentences with semicolons;


Sponsor:

#2 L. Spiro   Crossbones+   -  Reputation: 14232

Like
2Likes
Like

Posted 16 January 2013 - 07:53 PM

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


It is amazing how often people try to be unique, and yet they are always trying to make others be like them. - L. Spiro 2011
I spent most of my life learning the courage it takes to go out and get what I want. Now that I have it, I am not sure exactly what it is that I want. - L. Spiro 2013
I went to my local Subway once to find some guy yelling at the staff. When someone finally came to take my order and asked, “May I help you?”, I replied, “Yeah, I’ll have one asshole to go.”
L. Spiro Engine: http://lspiroengine.com
L. Spiro Engine Forums: http://lspiroengine.com/forums

#3 frob   Moderators   -  Reputation: 22709

Like
1Likes
Like

Posted 17 January 2013 - 10:56 AM

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.


Check out my book, Game Development with Unity, aimed at beginners who want to build fun games fast.

Also check out my personal website at bryanwagstaff.com, where I write about assorted stuff.


#4 ApochPiQ   Moderators   -  Reputation: 16391

Like
2Likes
Like

Posted 17 January 2013 - 12:02 PM

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.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS