Exploiting the Maker

by Sam Liu
2006-03-07

Especially in small bug-ridden games, players like to
take advantages of many exploits. The most common
of these exploits are easily blocked on the administrator’s
part, but often overlooked. A game is never fun when
another player cheats and sometimes its all about knowing
the crowd.

There are 3 main kinds of cheats:

Multiaccounting

Bug/Hack exploitations

Scripting

Multiaccount. The most common problem with many games, multiaccounting is defined as
“Signing up for more than 1 account in order to gain
an unfair advantage”. This can be done in many ways.
Some ways include gifting newbiepacks, gangbanging,
and parallel banking. These common exploits drive
administrators on end and cause many games to have
various problems.

Stopping multiaccounting can be very hard.
In some cases, it is virtually impossible. However,
some ways suggested include:

2) Gift/Aid/Trade Banning – Remove Gifting, aiding, and
trading. It makes the threat less potent. However this
option is open to few as most games use trading as a
basis of gameplay.

3) IP Singularity – Only allow signups any given IP once.
This is not effective as dialupers with dynamic IP’s can
just shut down their internet and restart it. Others may
reset their DNS. Still others will use proxies and get away
with it. This is only effective at limiting the amount of
accounts created. In the end it can even become
an inconvienience.

4) Trade Balance – An interesting idea, trade balance is where
players accumulate “debt” according to how much aid/trade
they do. After a large amount of trade balance is accumulated,
trading and aid shipments can be “taxed” (lose a certain % of it.)
Eventually, they will lose 100% of the shipment. In order to reverse
trade balance, a player must send shipments to other players.

5)Gift/Aid/Trade Limits – If your game has a number of players,
allow aiding and trading with certain players only. This idea
only works for some games; it is not that effective
though it is a possibility.

Bug/Hack Exploitations. Bug/Hack Exploitations are also common. For example, if my game has no limiting on negative numbers, then
I can buy a negative amount of units and actually get money and
stuff back. Though I lose units, I can get resources, and once enough
resources accumulate, I can buy my units back. It is a very simple
bug.

Bugs and hacks make up a relatively small percentage of cheats.
However, bugs cannot really be prevented. They can be caught during testing
but the key here is that they just must be fixed fast and
players who suffer from bugs must be compensated.

Topic over.

Scripting. Finally there is one more kind of cheating that is very common on the web.
Scripting is defined as “The use of scripts or programs to autoclick or
bypass certain things creating an unfair advantage for the user”.
Examples of scripts are kiddie scripts: scripts wherein players
automatically create thousands of accounts, hoping that one of the
accounts is landed in a certain place they want in the game or is
started in a specific situation.

Scripts are hard to prevent as well. The best
cure for a script is a well-written game. Well-written games make
sure that every time a script is written, executions are put in if statements
to protect them from being executed at will. Also, variables are refreshed
each time.

You’re probably about to yell at me saying “Thanks a lot. A well-written game? How in bloody heck am I supposed to do that?” Well
There is a white-hat hacker world out there; people who will test for
you and help you debug. *Shrug* What can I say?

In conclusion, cheating is mostly preventable aside from the
unpredictable bugs and server burps. However the best cure
is a well-written game that can be easily fixed as exploits are
discovered. Now kids, don’t go using this as an idea column
on how to cheat!