What It Does

QuestHelper tells you how to finish your quests in the easiest, fastest manner. It includes a database of quests, monsters, and items, telling you the exact location of that dang Perfect Satyr Horn you can't find. It also computes the fastest path to complete all your quests - and gain experience - as quickly as possible.

Project Status

Posting semi-frequent versions at the moment. Most versions include an updated database, a few bugfixes, and yet more work on the next-gen data collection system. Progress is invisible, but constant.

This version should work with Wrath. Note that not all Wrath quests may be in the database - this stuff is collected by you guys, and I rely on you submitting your collected data. ("/qh submit" for submission instructions, and thanks!)


If you're confused by how to make it work, use the Curse Client. Apparently that works sometimes. I can't guarantee it, but they claim it will work. If it doesn't work, ask a friend of yours. There's enough spam on the comments here that I've kind of given up replying for a while. If it's a common issue, it's listed here.

Crashing on login (generally in Dalaran): This is mostly fixed in 0.77. A true 100% fix will require some changes on Blizzard's end that I'm now campaigning for ;) Make sure you're using 0.77 or above.

"Out Of Date" or "refusing to run out of fear of corrupting your saved data" or QuestHelper just plain not running: the addon directory seems to have been moved for people on Vista. Apparently it's in "C:UsersPublicGamesWorld of Warcraft". If you update plugins in the old directory, it just plain won't notice! At all! And you'll get one of the above errors. Update it in the new location.

It doesn't show me any objectives on the map: Type "/qh hidden" and see why they're hidden.

It reduces my framerate too much/uses too much CPU: I found and fixed a bug in /qh perf that was causing it to reduce CPU usage too much. To compensate, I reduced the /qh perf minimum to 1%. If you've adjusted /qh perf in the past, you may have to adjust it further down.

Questhelper reduces your framerate significantly while it's loading - this is currently by design, as it loads faster. If you'd prefer a longer load time with lower CPU use, let me know in the comments (I'm not yet sure whether it's worth implementing a user preference for this.)

Pretty much any issue with it not running: /qh hardreset. Try it!

Slash Commands

(May be somewhat out of date.)

* /qh help Lists all the QuestHelper slash commands. ** /qh help ''command'' Tells you about a specific command. * /qh settings Opens the Settings menu at the current cursor location. Note that not all settings can be changed through the menu. * /qh track disables/enables QuestHelper's Quest Tracker, which provides status on your nearest objectives, in place of the default Tracker. * /qh hidden Displays a list of all the hidden objectives, why they are hidden, and depending on the reason, will allow you to unhide them. * /qh ftime Toggles the display of the flight time estimates. * /qh locale ''locale'' Sets the locale to use for displayed text., or lists possible locales if no argument is given. Defaults to your client's locale the first time you run QuestHelper. The only locale that is complete right now is '''enUS'''. Missing translations will be marked with red text. * /qh share Toggles objective sharing on and off. When on, will share quest objectives and progress with other party members that are using QuestHelper 0.17 or higher, and also have sharing enabled. * /qh solo Will disable quest sharing and ignore anyone you might be partied with, basically assume you will receive no aid from your party members. * /qh comm Toggles the display of the data sent between peers. I use this for debugging, but some people just love to stare at streams of meaningless data. It's really quite hypnotic. . . * /qh hide Hides QuestHelper's minimap arrow and World Map icons and paths, and suspends the calculation of routes. * /qh cartwp Toggles using Cartographer Waypoints to display your current objective. * /qh tomtom Toggles using TomTom to display waypoints for your current objective. * /qh button Toggles the QuestHelper button on the World Map frame. * /qh level ''offset'' Sets the level offset used by the level filter. Can be positive or negative. Invoke with no arguments to see the current offset and your effective level at various party sizes. ** /qh level 0 Only show quests at or below your own level. ** /qh level 2 Show quests up to two levels above your own level. This is the default. * /qh nag Prints counts of all the new or updated quests, objectives, etc, that you have found that aren't in the supplied database. Note: To reduce memory usage, QuestHelper deletes static quest data that doesn't belong to your faction. So, if you play both sides, it will always think the quests you did for the opposite faction are new. ** /qh nag verbose Displays the specific differences between your data and the static data. * /qh find ''category'' ''query'' Allows you to create custom objectives by searching for known items, NPCs, and locations. The queries allow fuzzy string matching, and so should happly accept typos and partial matches. Note that if you attempt to create an objective twice, it will instead hide it. ** /qh find item ''item-name'' Search for items. ** /qh find npc ''npc-name'' Search for NPCs or monsters. ** /qh find loc ''zone-name'' ''x'' ''y'' Search for a location in a zone. You may also use a comma, should you feel the need to. ** /qh find loc ''x'' ''y'' Search for a location in your current zone. ** /qh find ''search-string'' Searches in all categories. ** /qh find Invoking the find command without any arguments will instead display all your current user created objectives, allowing you to easily turn them off. * /qh filter ''filter-name'' Toggles objective filters on or off. ** /qh filter level Shows or hides objective that you probably can't do. Note that this considers the the levels of everyone in your party, not just you. If you're partied with somebody higher than you, it might not hide a quest that it otherwise would have. ** /qh filter zone Shows or hides objective that aren't in your current zone. ** /qh filter done Shows or hides quests that aren't complete. ** /qh filter blocked Shows or hides objectives that are blocked, i.e. require something else to be done first, such as turn-ins for incomplete quests. * /qh scale ''value'' Scales the map icons by this amount of their default size. Will accept a number or a percentage, in the range of 50-300%. * /qh perf ''value'' Scales the CPU workload for QuestHelper's route calculation routine. Will accept a numbere or a percentage, in the range 10-500% (although we don't recommend going above 100%). * /qh recalc Recreates the world graph and location and distance information for the active objectives. You probably don't need to worry about this. * /qh purge Deletes all your collected data. I'd prefer if you avoided using this any time other than immediately after sharing your collected data. Requires that you to enter a randomly generated 8 character case sensitive alphanumeric password, to hopefully ensure that people read the message that gets displayed. * /questhelper Alias for /qh. * /find, /qhfind, Alias for /qh find. * /qh find monster Alias for /qh find npc. * /qh find location Alias for /qh find loc.




It doesn't work. What can I do?

Three things. First, if there's a major issue with QuestHelper, you can type "/qh error" and it will show you the first error it ran into. If you post that in the comments here, one of the people who helps regularly may be able to solve your problem.

If it just doesn't work, "/qh hardreset" will reset all your accumulated data and preferences, hopefully getting rid of weird problems. If you still can't see the quest tracker, "/qh treset" will try to force it into a visible position on your screen. If you're not seeing quests at all, even on your main map, "/qh hidden" will tell you why and let you change it. The combination of these three fixes ''most'' problems.

If none of those help, disable your other plugins as a test to find incompatibilities.

My framerate is low. What can I do?

If you have any addons that enabled CPU profiling, turn it off, it greatly increases the amount of work WoW has to do. The command to do that is:
/console set scriptProfile 0
/console reloadui

If that doesn't make a difference for you, there's a slash command, /qh perf, that can scale the amount of work QuestHelper does per frame. Example:
/qh perf 50%

QuestHelper uses a lot of memory. What can I do to fix this?

QuestHelper instrinsically uses a chunk of RAM. You can currently expect about 25m of usage. I'll reduce this when I can, but then I'll also probably increase it again as I add more data. There's really not anything you can do about this.

Why aren't my quests showing up?

/qh hidden will list everything that isn't being shown, along with the reason for it being hidden.

If I send you my data, should I delete my copy?

You'll save hard drive space, but lose any preferences you had saved. Your call. I'm fine either way.

How can I get rid of that arrow over my character's head?

Either /qh cartwp or /qh tomtom will hide the arrow. If you'd rather move it instead, you can drag it around by left clicking. . . unless it's been locked, in which case right click on it and unlock it first.

How do get that 3D arrow pointing where to go?

That arrow is part of Cartographer Waypoints. It should appear automatically as long as Cartographer is installed and running, and you haven't turned off that feature. If not, try /qh cartwp.

If you have TomTom installed, you can have TomTom display your waypoint arrow instead. Again, it should just work, unless you've disabled it. /qh tomtom will toggle it.

The Icons on my map are huge! How can anyone see anything?

If you find the icons are too big for you, you may enter /qh scale X%, replacing X with some reasonable scale. I'd start with 80%, depending on how that looks you can try bigger or smaller numbers.


ZorbaTHut is the new maintainer of this project, and hopes that he will bludgeon it into shape and continue maintenance well through Wrath. In other words, any bugs after 0.49 are his fault.

Smariot is the original developer of the package.

Nesher and Vipersniper both made improvements while Smariot was still maintaining it, and are worthy of praise.

How to avoid getting your account stolen.

Simple explanation:

Don't run any programs attached to UI mods. Just decompress them into your addons directory. The major site installers, like the Curse.com installer, are probably safe. Be suspicious of everyone and don't give out your password.

There's a [url=http://wow.curseforge.com/projects/quest-helper/pages/how-to-avoid-getting-your-account-stolen/]much longer and more detailed explanation here[/url], which I recommend everyone read at least once.

Despite persistent rumors, Questhelper does not contain anything that can steal your password. Such a thing isn't even possible.


For the most part, you just install it and leave it alone. It should hopefully be smart enough to do The Right Thing?, and not require you to meddle with it.

The task QuestHelper thinks you should do first is displayed on your minimap, which you can mouse over for a description. If the task isn't in your current zone, then it will point towards where QuestHelper thinks you should go to get there, such as a flight master or the zone border.

World Map

All the tasks QuestHelper wants you to do are displayed on the World Map. There are 'marching ants' connecting the objectives, showing you the order QuestHelper thinks you should complete them in.

You can right click on an objective to get a list of options for it.

There is also a QuestHelper button in the upper right corner of the World Map. You can click it to hide QuestHelper temporarily, or right-click it for a menu of general options.


Using the menus should, hopefully, be obvious. The only catch might be that they don't automatically disappear if you click on something else.

You can right click anywhere on a menu to hide it, or select the Close Menu command from the end of the menu.


There are 5 different priority levels an objective can have: ''Highest, High, Normal, Low,'' and ''Lowest''.

Most objectives default to ''Normal''. Objectives for timed quests default to ''High''. User created objectives default to ''Highest''.

QuestHelper will try to arrange the objectives so that higher priority objectives get done first. The only time this won't happen is when an objective with a higher priority depends on an objective with a lower priority, in which case QuestHelper will pretend it had the higher priority. You will notice a green arrow in the priority menu when QuestHelper isn't using the priority you assigned.

You can use priorities as hints to get the objectives in an order you'd prefer, without the need to micro-manage the route list.


There are 4 filters you can use to automatically ignore quest objectives, which you can turn on and off using the slash command /qh filter.

The first filter is ''level'', which by default is on. It will cause QuestHelper to ignore any objectives that your current party probably isn't high enough to complete. You can adjust the level offset used by this filter with the command /qh level ''offset''.

The next filter is ''zone'', which by default is off. It will cause QuestHelper to ignore any objectives that aren't in your current zone. Note that this filter might not do The Right Thing? for objectives that can be completed in multiple zones.

The third filter is ''done'', which by default is off. It will hide objectives for any quests that aren't complete. You can use this if you don't want to quest and just want to turn the quests you do have in.

The fourth filter is ''blocked'', which hides blocked objectives, i.e. ones that can't be done yet, such as quest turn-ins for incomplete quests. This is probably most useful if you prefer to hide the "ant trails", as the route it will compute will be somewhat of a lie.

The fifth filter is ''watched'', which hides objectives that you are not currently tracking via WoW's built-in quest tracker. This gives you a lot of control over which quests QH shows, but also limits you to five quests tracked at once and can easily cause problems with route quality.

You can force QuestHelper to show an objective that otherwise would have been filtered by typing /qh hidden and selecting ''Show'' from its entry in the menu.


Sharing allows you to share your objectives with other party members, allowing you to combine your routes and work together effectively.

Note that sharing only tells your peers what objectives you have, your completion progress for them, and the priorities you have assigned to them. Information such as item drops and monster locations are not shared.

Each peer will take this information and calculate their own route from it. Assuming you stay together and work cooperatively, which was the whole idea behind this feature, your routes should end up being almost completely identical, and you can follow it and rest assured that nobody is getting left behide. Objectives shared by multiple users won't be removed until everybody has completed it.

User objectives, by default, aren't shared. If there is somebody available to share with, an option will appear in the right-click menu for that objective to allow you to share it manually.

Objective priorities are shared globally. If one user changes the priority of an objective, that change will be reflected in all peers. This, again, was done to ensure that everybody's routes end up being roughly identical, and so that peers would have the correct priorities for timed quests. And it's also a nice feature. Assuming the people you're partied with aren't ass hats.

If they are, you're on your own.

How You Can Help


I need data. If you want to share your saved data with me, that'd be great. The file I need is stored in the following location, assuming you're using Windows and didn't change the installation path:

C:Program FilesWorld of WarcraftWTFAccountACCOUNT_NAMESavedVariablesQuestHelper.lua

Some have reported that for Vista their path is one of:

C:UsersUSER_NAMEAppDataLocalVirtualStoreProgram FilesWorld of WarcraftWTFAccountACCOUNT_NAMESavedVariablesQuestHelper.lua
C:UsersPublicGamesWorld of WarcraftWTFAccountACCOUNT_NAMESavedVariablesQuestHelper.lua

To make things even more difficult, it seems that Windows might try 'help' you by hiding file extensions. This makes 'QuestHelper.lua' appear as 'QuestHelper'. Warcraft makes backups of all these files, so there is a 'QuestHelper.lua.bak' file in there as well, and without its file extension, it appears as 'QuestHelper.lua', but it isn't really and it's not actually the file I want.

Be careful not to descend into the realm / character directories, we specifically want the SavedVariables directory. There are QuestHelper.lua files in the other directories as well, but they only store which flight routes your characters know, and aren't actually useful. On a similar note, I also don't want the file named SavedVariables.lua, which contains your UI preferences and is entirely unrelated.

You can email it to me at:

[email protected]

This address is NOT the proper place to direct inquires about the addon.. that should be done in the comments below. NO messages sent to this address are EVER read as it receives more than anyone could hope to read. The only thing that logs into that account is an AUTOMATED script to download all the attachements.

Many have asked how often to send in data. My personal preference is basically this: Look at the message QH displays when you first log in. If it says you have updated information on X quests, these are quests that you completed an objective for in a spot that QH had not seen before. Unless you have many, probably not worth your work of e-mailing it. However if QH says you have information on X new quests, you have completed a quest QH didn't know how to do. Please share! Someone out there will have that quest and thank you!

Please note that the above has nothing to do with installing this AddOn. You install this AddOn the same way you would install any other AddOn, by unzipping it into the ''Interface/AddOns'' folder.

And, of course, a huge thanks to everyone that has sent me their data so far. It's very much appreciated.


Translations can be easily edited at [url=http://smariot.hopto.org/translate]http://smariot.hopto.org/translate[/url]. More translations are always appreciated!


There is a Git mirror for this project's code: git://cams.pavlovian.net/questhelper.git

Note that you'll need to copy several files from a released version to make it work, most notably the ChatThrottleLib plugin, the Art directory, and every file starting with "static". These are all dynamically generated and not included in the repository.

Future Releases

Everything in here is ''planned'' and not ''guaranteed''. Do not yell at me if things get delayed or shuffled. Pushing versions back happens extremely frequently if unexpected new bugs crop up. You may also notice there are no dates listed - that's intentional, if I knew how long it would be I'd have fixed it by now. This is just to give you an idea of what my next major plans are.

Right now, most of the work is going on behind the scenes. You won't notice any significant QuestHelper improvements because I'm adding backend code to support eventual major improvements, and to keep the entire thing from melting down. New features are coming, but don't hold your breath.

0.77 : Improve data gathering code so I can fix some of the systematic data issues in Questhelper

0.eventually: Route system rewrite

0.whoknows: Flying mount support (this will take longer than you expect)


Things I'd like to do that may take a long, long time:

* Rewrite pathfinding to be aware of mountains and other obstacles.
* Track drop rate of quest items, estimate the number of kills you'll need to complete
* Better path optimization, prioritizing "easy experience"
* Addition of "quest-like goals", including achievements, vendor recipes, unadded flight paths, weapon/skill training, repairs/vendors, reagent/ammo restocking, and so forth
* Automatic tracking of followup quests
* Better support for flying mounts
* Remembering quest priorities after logout
* "Too Tough For Me" button, temporarily ignoring a quest until you've leveled

There are no comments yet. Be the first!