6,218,367 Downloads Last Updated: Sep 30, 2012 Game Version: 5.0.5  

This project is abandoned and its default file will likely not work with the most recent version of World of Warcraft. Whether this project is out of date or its author has marked it as abandoned, this project is no longer maintained.

I am no longer working on this project. I do not have the time to find and resolve all issues.

If there is someone who wants to take over, please let me know and I will transfer ownership of this addon and the associated googlecode site. I will also transfer the domains, and for a prorated value of their registration fee plus $5 per domain prior to 17 December 2015, at which point, they will expire.


  • The addon is currently only collecting data. There is no other functionality. Your assistance is appreciated.
  • The database, as it exists now, will NOT be included in future versions. The intent is to provide a separate database per zone as load on demand addons.

I am working on extracting the data I have received. I think some of my data collection was screwed up and I am missing some information. Some of that information can easily be created by hand if I have enough other information. Mostly I think I am missing map ID's, but if I have the zone names, I can enter the information manually, though slowly.


As always, please do not post errors or the contents of your QuestHelper.lua files into the comments section. They take up way too much screen real estate. If you get an error, please check for a similar error. If there is one already, please comment on that issue, otherwise go ahead and open a new issue. In either case, please submit your data file (this is double the fun, since it will contain all the errors ever collected by QH since installation or last purge, plus it will contain all the data needed to build the database)." Just because your error message is different, doesn't mean it's not the same issue. Please check to be sure you message is 100% different from anything there. This will save me a lot of time and effort by limiting my issue management to unique issues and thus resulting in more coding time and more fixes per day.

See the data section below for where to find your file and then send it via an e-mail to questhelper.redux at Big mistake on my part giving y'all a link to start a new issue (I've now got 30-40 DataSubmissions via the DataSubmission issues and I no longer have space for attachments).

Thank you, Nate

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.


QuestHelper is GPL-licensed. Want to improve it? Be my guest! Get the code from and send a patch via an issue here or there.

Want to thank me for the work I'm doing, please use this button.


If you can't afford to contribute (It's okay! I still like you) then I also need your data. QuestHelper records monster positions, questgiver locations, item drops, and all manner of fun information that I use to build QuestHelper's database. There's no personally identifiable information involved - I can't get your username, your character name, your friend's names, or anything of that sort. The file I need is stored in the following location, assuming you're using Windows XP and didn't change the installation path:

C:\Program Files\World of Warcraft\WTF\Account\ACCOUNT_NAME\SavedVariables\QuestHelper.lua

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

C:\Users\USER_NAME\AppData\Local\VirtualStore\Program Files\World of Warcraft\WTF\Account\ACCOUNT_NAME\SavedVariables\QuestHelper.lua
C:\Users\Public\Games\World of Warcraft\WTF\Account\ACCOUNT_NAME\SavedVariables\QuestHelper.lua

I've heard that on OSX, the path is:

/Applications/World of WarCraft/WTF/Account/ACCOUNT_NAME/SavedVariables/QuestHelper.lua

To make things even more difficult, it seems that Windows might try to "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, or the file named QuestHelper.toc, which is a small part of the QuestHelper code and not anything I need.

When in doubt, look at the file size - if it's less than 100k, it's probably the wrong file.

You can email it to me at (separated to prevent scraping):

Addressee: questhelper.redux Domain:

Please do not direct inquires about the addon to the e-mail address above. Please do that in the comments below or via an issue at (I'm notified of new issues there). This address is my main e-mail account and I have a lot of valid messages that go unread due to some lists I am subscribed to.

Many have asked how often to send in data. My personal preference is basically this: Send stuff in every month or so, or when you remember. Thanks!

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.


If you're confused by how to make it work, use the Curse Client. The Curse Client pretty much just works now. It is your friend. If you want to install manually, more power to ya, but if you just want to make it work, consider the client. Seriously. I really mean this.

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: You could try reducing "/qh perf" (for example, "/qh perf 50%".) Some parts of what Questhelper does just intrinsically use a lot of CPU. There ain't no such thing as a free lunch. This problem should be largely fixed in the current version.

It uses too much RAM: You could try "/qh purge" (please submit your data first!) but, fundamentally, the things Questhelper does also use a lot of RAM. There is not much I can do about this.

Pretty much any issue with it not running: "/qh hardreset" should reset it to "factory install conditions". Try it!


How can I help?

Donations pay my rent, buy me food and, most importantly for development purposes, buy me game time. I'm very attached to rent and food, I find them good things to have. Even a few bucks will help more than you'd expect - look at the top of this page for more information.

You could also submit your collected data to me, which is free and helps Questhelper's database. Check out the top of the page for that as well.

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 an issue (preferably an already open one) at, along with your QuestHelper.lua file, it will be addressed as quickly as possible.

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, with "/qh treset center" jamming it uncomfortably into the center of your screen. It can be moved from there by dragging the small gray box at the top-right of it. 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 intrinsically uses a chunk of RAM. You can currently expect about 15m of usage. There's really not anything anyone can do about this, but that small amount of RAM usage also shouldn't be much of an issue.

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 and RAM, but lose any preferences you had saved. I don't recommend it, but if you want to, it's fine. You can type "/qh purge" ingame to get roughly the same effect without losing your preferences.

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

First, try right-clicking it and looking for a "hide" option. Second, try /qh arrow or /qh tomtom, depending on which arrow it is. Try them both - at worst, you'll end up with an extra arrow. The same command will disable it again. 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?

/qh arrow.

If you'd prefer integration with Tomtom, try /qh tomtom. I don't really officially support this option, but it seems to work.

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.


nconantj is the current maintainer of this project. Any bugs are probably either his fault or Blizzard's.

ZorbaTHut is did a lot of development before the 4.0 patch was released.

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.

Lonadar and Divinewind420 haven't actually written any code, but they've been helping out with customer support for many months now, and their assistance has been invaluable. <3

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 installer, are probably safe. Be suspicious of everyone and don't give out your password.

There's a much longer and more detailed explanation here, 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.


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.

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 7 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 second filter is "zone", which by default is off. It will cause QuestHelper to ignore any objectives that aren't in your current zone.

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 may limit you to fewer quests tracked at once.

The sixth filter is "group", which by default is on. It will cause QuestHelper to ignore group quests while you're not in a group. By default, it permits 2-player group quests, but not more. This can be adjusted with "/qh group".

The seventh filter is "wintergrasp", which ignores Wintergrasp PvP quests if you are not actually in Wintergrasp at the time.

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 behind. Objectives shared by multiple users won't be removed until everybody has completed it.

Slash Commands

(May be very out of date. If you'd like to volunteer to update it, let me know.)

  • /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 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.

How You Can Help

Most importantly, check out the top of this page, under "We Need Your Support".


Please contact me if you would like to do translations of files or pages (such as this one). More translations are good!


The repository is located at

Tasks / Future Releases

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
  • Remembering quest priorities after logout
  • "Too Tough For Me" button, temporarily ignoring a quest until you've leveled


Posts Quoted: