How to avoid getting your account stolen.
- AddOns don't require you to install or run anything, aside from whatever program you use to extract their files. Don't ever run anything you find inside an archive.
- Make sure your web browser is up to date. Bugs can be exploited to install things on your computer without any confirmation or acknowledgment.
- If a web page asks you to install anything, don't. The only two extra things a web page might legitimately need are JavaScript and Flash, which you more than likely already have.
- Make sure the virus definitions for your virus scanner are up to date, and scan the files you download with a virus scanner.
- If you're connected directly to the internet, make sure you have a firewall of some kind. If you have a router or other device that does network address translation, these often work well in place of a firewall, since people on the internet trying to connect to your computer will end up connecting to the router instead, unless you set up DMZ or port forwarding.
- These files are often found inside AddOns, and should be completely safe:
- toc, xml, lua: These files contain text which you can view in a text editor, and are instructions for your WoW Client to interpret. They are executed by Warcraft in a sandbox environment, and so shouldn't be able to do anything dangerous.
- tga, blp: These are 2D images.
- m2: These are 3D models, although they're sometimes used for 2D things like arrows because it makes rotation easier.
- wav, mp3: These are sound files.
- avi: Video. Believe it or not, AddOns can play video, although it's extremely rare.
- txt: This is text intended to be read by humans. Likely you or other AddOn developers.
- If you find any other types of files, then you should be suspicious. The following files in particular have the potential to damage your computer, steal your account information, or get you banned for making modifications to the game client outside of the interface provided by Blizzard:
- exe, com, bat, ocx, sys, src, msi, lnk, pif, sh, reg, shs, vb, vbs, and many others.
- Depending on how Explorer is set up, file extensions might be hidden from you.
- Be careful of filenames that contain lots of spaces. People sometimes name files such as 'file.txt .exe' in order to trick people into thinking the file is safe. If you see '...' in a filename, then you should avoid trying to open it, it might have been intentionally made longer than could be displayed in order to hide its extension.
- Don't trust file icons. Executables and shortcuts can have arbitrary icons, and use those icons to make a file look like something safe when it isn't.
- pif and lnk files are shortcuts and their extensions are generally always hidden by Explorer. You might see the extensions inside an archiving utility or in the name of an email attachment, but have them magically disappear once saved on your computer. As they can have arbitrary icons and be named pretty much anything, all hope of correctly guessing what the file is or does by looking at it goes out the window.
- Don't follow links you receive in email, as the text displayed in the message doesn't have to match what its actually linking to. Type the address yourself or search for the site using Google.
- If you're not using your own computer, don't use it for anything that requires a login. Simply browsing the web is fine. Don't check your email from it, as you can't be sure it doesn't have a key logger, and it would be quite bad if somebody got a hold of your email account, as the passwords of most services are reset using email verification.
- Even if you are using your own computer, don't trust publicly available internet access points in places like hotels, airports, internet cafes, and libraries. With things like ARP spoofing, custom DNS servers, and transparent HTTP proxies, there really is no guarantee that you're viewing the pages you think you are. Even if it hasn't been altered, packets on a LAN can generally be seen by every computer on it, and HTTP doesn't use any encryption at all, so anyone can see the passwords you use.
- Don't use the same password for playing Warcraft as you do on internet websites. Especially websites related to Warcraft. If the people running the site aren't trust worthy, or their user database gets stolen, or somebody is watching your network traffic, it's likely to be used trying to login into your account.
- Secure websites, which have URLs beginning with 'https://', such as the login page for the official World of Warcraft site, are only secure if you verify the site's certificate, otherwise someone can make their own and pretend to the that site. Your browser should warn you if the certificate of a site you've visited in the past has changed. Don't ignore this warning! If someone pretends to be the website you're connecting to, you'll get their certificate instead (hence it appearing to change) and they'll be able to see anything you send or receive.
- Secure websites are only as secure as whoever or whatever is on the other end. You can use a secure connection to tell a serial killer where you live and feel confident that nobody else saw it (unless someone was looking over yours or his shoulder, or he tells his buddies), but it shouldn't make you any more confident that you'll still be alive in the morning.
- Use the 'Remember Account Name' option of Warcraft. If you don't type your account name, it can't be recorded by a keylogger.
- If your password can be found in a dictionary, then change it. Using 'password' as your password isn't clever, it's stupid.
So, some people claim that their accounts got hacked while using QuestHelper. In the interest of security, assuming I can be trusted, QuestHelper 0.45 includes a detached PGP/GPG signature, so you can make sure the file you downloaded is actually the file I uploaded, and hasn't been screwed with along the way. Hooray!
- The signature is detached and is in a separate file. This way people that can't be bothered to verify the file can still use it as normal without needing any extra software.
- The key I (smariot) signed it with is here, its ID is D95A5472. I can't actually prove that I am who I claim I am, so you'll just have to take it on faith.
- This is only a guarantee against intentional malice. Accidents still happen.
- To verify a file using gpg on the command line:
- To verify the file with gpg, get my key by downloading it from a keyserver: gpg --recv-keys D95A5472
- Then verify the file with the command: gpg --verify <filename>.sig
- gpg should say something along the lines of 'Good signature from "Tyson Brown <smariot@gmail.com>"', along with a warning saying that the signature isn't certified, since nobody you trust has signed my key.
Important
The support for non-English locales is pretty new, so YMMV. There is a graph in the screenshots section comparing the various locales, if you're interested. You can improve your locale by completing missing quests while using QuestHelper, and submitting your saved data.
This program still has a few bugs, especially in Outland, where I haven't tested it at all, and where apparently routing code has a habit of spontaneously exploding, and QuestHelper knows nothing about flying mounts and the like. There are also some quests that QuestHelper will never be able to complete properly without a bunch of human intervention, which I'm unlikely to give it, mostly those where the NPCs can be in multiple locations depending on where in the Quest you are, and quests that have objectives that aren't explicitly written as objectives in the quest log.
What It Does
Compiles a list of waypoints for the quests in your quest log, and sorts them so as to minimize the distance between them, and so that they happen in the correct order.
Which is to say, it tells you how to complete all your quests while walking as little as possible.
Usage
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.
<video width=480 height=360>1308</video>
Minimap
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.
Menus
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.
Priorities
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.
Filters
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.
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
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.
Slash Commands
/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.

