MacroMonkey.com - Home

Automation - Macro - Bot - Scripting system.



*Origins and History of MacroMonkey

By Sirmabus

The first MMOG I played was The Shadow of Yserbius on the Sierra Network, then I came a real fanatic with Ultima Online when came out in 1997.

Here was a fantastic relatively new way to experience computer RPG games played with others.
Do to the mechanics of UO (sort of a "sand box" with unexpected consequences) you soon learn there is good and an evil side with players. A lot of social people wanted to go along and group with people, fight monsters, hunt for treasure, etc. Others had their fun attacking other players, and some just liked griefing in what ever ways they could.

To survive in this virtual world you had to stay informed (of bugs, and exploits) and have your wits about you at all times. I came to learn many were apparently automating their skills up (or worse) and it was hard compete with them. For example, as a defensive strategy you might try to use your hide skill to hide from evil marauding players. But that wouldn't work so well if their detection skill was higher then your hide, etc.
You pretty much had to do at least some sort of automated skill training, otherwise you were "target practice".

One of the most used tools at the time was the macro program EZ Macros to simply record keystrokes and play them back in a loop.
Then came some amazing 3rd party programs such as "UO Extreme" and "UO Assist" that added a whole new dimension. These could be used for most helpful things like automatic bag opening, macros, etc., to giving you the upper hand with features like "last target", "speed hack" (fast run speed), to more evil and sinister abilities like "multi-steal", etc.

Being a programmer (a game programmer at Interplay Productions at the time), I became fascinated with these tools. I wanted to know how they work and how to make my own.
I set out to learn the fine art and techniques of making exploit programs and bots (for private use).
It involved a lot of study, experimentation, and finding things that worked for me.
Getting deeply into "systems programming" et al.

Most of my first bots were simple that would just do the minimal to repeatedly read a value and press a key or two in a loop. Then after more advanced and detailed systems to work either entirely inside a game, or external to it with a GUI font end, using "injected" DLL's, etc.
There were several bot/macro scripting systems available already (most being commercial).
One I really liked was the freely available AC Tool. It has a nice IDE interface and a simple syntax, etc. But it had too many bugs and problems that made it hard to use. I knew I would eventually have to make my own.

Then the phenomena of WOW (World of Warcraft) happened in early 2004.
I played around with something called "Forceshock" by Outlaw. I really took to the Lua scripting language that it used. After some study, I realized Forceshock wasn't much more then basic embedded Lua with a few simple extensions added to it. Although not to knock it, it had some pretty outstanding features like a built in assembler. With this, one could assemble ASM (from text strings) for patches and hooks and place them into a target process with out the need to use DLL injection, etc. It was selling it for ~$20USD per license, although unbeknownst to many, you could just download the base Lua from www.lua.org and build it at no cost.
I wanted to make my own expanded system, also using Lua, with my own spin on things, and release it for free. And thus my "MacroMonkey" project was born in 2005.

Starting out simply with embedded Lua running in a console and then adding more features as I went along using it to make several bots for games Knight Online, Silk Road, and some others.
That was version one using Lua 5.0, version two uses 5.1.x of Lua with many improvements and additions. And then a year or so in development, I got pretty discouraged and disillusioned with the majority of the "game hacking" crowd for various reasons..
None the less, some years later I decided to spruce up MM a bit and finally wrap it up for release in the summer of last year (2008).
Unfortunately both the new GUI system and the network communication system components took long to develop. I had done a working "Requiem" bot project during the Requiem closed beta early last year so I picked it up again in the summer to use as a MM demo. It was expanded and some new things added that has taken yet more time.
And here it is the end of summer a year later (2009) when I present to the public MacroMonkey!