WoWBench
- WoWBench now has *some* continuing support, currently distributed with AddOn Studio for World of Warcraft, including support for Lua 5.1.2 and WoW 4.x. See: (Change History) --Celess22 (T) 18:29, 4 August 2011 (UTC)
- WoWBench is unfortunately out of date. It's not entirely abandoned -- there's a few of us wanting to get back on it but we keep getting sidetracked. --Mikk (T) 18:38, 23 January 2008 (UTC)
WoWBench aims to be a near-complete "emulation of the World of Warcraft API". AddOn development in WoW can be somewhat strained at times due the near-total lack of in-game debugging capabilities. Added to that, the time it takes to test each change is fairly long.
WoWBench enables AddOn developers to test most of their functionality offline, in a controlled environment where they can fire game events at their own leisure, with content that they choose.
It also features a "built-in commandline debugger" with stack backtraces and capability to look at global as well as local variables at various stack depths, that allows you to run your own Lua code while examining the breakpoint or error. Of course, anyone with a "Lua debugger" can utilize those for much more fine-grained debugging while running their AddOn under WoWBench, something which is not possible while running it inside the actual game.
WoWBench does not have an actual graphical user interface (at least, not yet). Game world and (simulated) user interface interaction is all done through console commands. This is not a disadvantage, as it has the distinct advantage of being "scriptable for easy repetition".
"WoWBench is implemented wholly in Lua", which allows AddOn programmers to easily extend it, and modify it to suit their own purposes.
Why? How!
WoWBench is a utility by programmers, for programmers.
You can:
- Control exactly what game events get fired in the system, and at which pace.
- Easily re-play the same sequence of events any number of times - just write a Lua function that simulates a sequence of events!
- Stop execution at any point and jump into the debugger to examine exactly what's going on. (And even call Lua code from inside it!)
- Run WoWBench and your AddOn under a Lua debugger, for really fine-grained debugging!
- Add your own API emulations, or modify the existing ones, to behave just like you want them to for your development.
- Got an ssh daemon on your machine? Start developing AddOns over SSH from wherever! (No, I'm not going to say "from work" in that sentence :-) )
- Log in multiple players for developing and debugging inter-addon communication
- Run slash commands, click UI elements, units and objects, call functions, etc..
- → more in WoWBench/FAQ.
- Help the WoW AddOn developer community by submitting your own patches! → WoWBench/Contributing.
What WoWBench is not
- Finished.
- Yep, that's right. There will be plenty of missing APIs. That is why WoWBench is now a community project and not a one-man show. Either help us implement them, or just hack something up that works for your particular mod. It's all up to you!
- An AddOn
- WoWBench replaces WoW. Your AddOn runs inside it!
Getting set up
- Download the latest version from http://sourceforge.net/projects/wowbench/.
- See WoWBench/Installing for installation instructions. (Yeah, you really do want to read them!)
- See WoWBench/Getting started for a very quick tour to get you started.
Working with WoWBench
- WoWBench/Documentation - code structure documentation.
- WoWBench/Extending - how to extend WoWBench.
- WoWBench/Contributing - how to submit your work to the project.
- WoWBench/To do - "To do" list, "current bugs" list, and "version history".
- WoWBench/Progress - Implementation status of APIs.
Talking with others about WoWBench
Get a WoWWiki account and hit the talk page(s)! (Don't worry, it's not like on a commercial site. You just get a user name and password.)