8.9 KiB
About
Questie-X is a fork of the original Questie addon, rebuilt to run reliably on any private server regardless of realm type or custom content. It fixes longstanding Lua errors, corrects API incompatibilities introduced by custom server emulators, and introduces a plugin system so server-specific quest databases can be distributed and maintained separately from the core addon.
Installation
- Download the latest release.
- Extract the archive into your
Interface/AddOns/directory. - Rename the folder to match the dataset you want to load:
Questie-X— WotLK 3.3.5a (default)Questie-X-Classic— Vanilla / Classic era contentQuestie-X-TBC— The Burning Crusade content
- Log in. If your server does not use standard map data, enable
Options -> Advanced -> Use WotLK map data.
Installing a Plugin
Plugins are standalone addons that inject custom quest, NPC, object, and item data into Questie-X at runtime. They are installed identically to the core addon.
- Download the plugin archive from its repository's Releases page.
- Extract it into
Interface/AddOns/alongsideQuestie-X. - The folder name must match the plugin's
.toctitle exactly. - Log in — Questie-X detects and loads all present plugins automatically on startup.
A plugin will not load unless
Questie-Xis also installed. The dependency is declared in the plugin's.tocfile and enforced by the WoW client.
Plugin System
Questie-X exposes a public QuestiePluginAPI that any addon can use to register custom server data without touching core files. This makes it possible to maintain server-specific databases as independent repositories that update on their own release schedule.
How It Works
A plugin calls QuestiePluginAPI:RegisterPlugin during addon load and passes its database tables. Questie-X merges these into its runtime database before the first quest scan, so all features — map pins, tooltips, tracker, arrow — work transparently for custom content.
Writing a Plugin
A minimal plugin needs only a .toc file declaring Questie-X as a dependency and a loader script:
-- MyServerLoader.lua
local plugin = QuestiePluginAPI:RegisterPlugin("MyServer")
plugin:RegisterQuestDB(MyServerQuestDB)
plugin:RegisterNpcDB(MyServerNpcDB)
plugin:RegisterObjectDB(MyServerObjectDB)
plugin:RegisterItemDB(MyServerItemDB)
plugin:RegisterZoneData(MyServerUiMapData, MyServerZoneTables)
The database tables follow the same schema as Questie's built-in databases. See Modules/Libs/QuestiePluginAPI.lua for the full API reference and Database/Wotlk/wotlkQuestDB.lua for table format examples.
Fixes & Compatibility
Quest Log & Tracker
- Corrected
GetQuestLogTitlereturn value indices to match the client API. The client returnssuggestedGroupat index 4, shiftingisHeaderto index 5 andquestIdto index 9. Previously, modules were using indices 4/8, causing quest headers to be misidentified andisDailyto be assigned the wrong value. - Removed premature
breakonniltitle in quest log iteration loops. Quest log slots on private servers can be non-contiguous; the loop now uses a nil guard instead of aborting, preventing silently skipped quests. - Quest objective counters now update correctly when items are deposited by automated systems that bypass the standard loot frame, using a multi-stage
BAG_UPDATE_DELAYEDstrategy. - Fixed
QuestEventHandlercrash on auto-completing quests caused by a missingQuestiePlayermodule import. - Fixed re-accepted repeatable quests not showing objective icons after the second acceptance.
Map & Minimap
- Fixed
WorldMapFramecompatibility for servers that render the world map in minimized mode. - Fixed "ghost icon" bug where completed quest icons remained on the map after turn-in.
- Fixed
RequestMapUpdatelogic that caused completed quest icons to persist across zone transitions. - Downgraded spurious
[CRITICAL] No AreaId found for UiMapIdlog spam to debug level. On some servers,C_Map.GetBestMapForUnitreturns a continent-level UiMapId for capital cities; the nil return was already handled gracefully but was incorrectly logged as critical. - Fixed map pins for
killCredit-type objectives not resolving spawn locations correctly.
Tooltips
- Fixed
attempt to concatenate nilerror when a quest starter or finisher has no name in the database. - Added support for
killcreditandspellobjective types inMapIconTooltip. - Tooltip now displays if an NPC drops an item that starts a quest.
Quest Arrow
- Refactored distance calculations and target prioritisation; arrow now correctly filters targets by zone and instance.
- Fixed arrow pointing to previously completed objective locations instead of the current finisher.
- Fixed nil error in
_CollectObjectivewhen processing incomplete quests. - Fixed arrow direction for quests that require speaking to an NPC as a prerequisite step.
Nameplates
- Questie nameplate hooks are skipped when a conflicting nameplate addon is detected, preventing taint and UI errors.
Databases & Custom IDs
- Full support for large integer NPC, quest, object, and item IDs used by custom server emulators.
- Fixed
ZoneDBcrash when encountering maps with no AreaId mapping (e.g. continent-level maps on Kalimdor). - Fixed
GetObjectreturning nil for Item Finishers misidentified as GameObject Finishers on custom servers. - Fixed
NPC 30514(Thorim listen bunny) missing fallback spawn data for Sibling Rivalry turn-in.
Features
Visual Map Objectives
Quest starters, turn-ins, and all objective types are drawn as icons directly on the minimap and world map.
Quest Tracker
- Tracks quests automatically on acceptance.
- Displays up to 20 quests simultaneously (original limit: 5).
- Left-click opens the quest log; right-click provides focus mode and TomTom arrow integration.
- Headers persist correctly across all session events.
Quest Arrow
Directional arrow pointing toward the nearest active objective or quest finisher, with zone and instance awareness.
My Journey & Quests by Zone
- Journey Log — records every quest accepted, completed, and abandoned during a session.
- Quests by Zone — lists all available and completed quests in a given zone for completionists.
Database Search & Configuration
- Search the full Questie database for any NPC, object, or quest by name or ID.
- Extensive options: icon scale, tracking behaviour, nameplate display, tracker layout, and more.
Credits
- Questie Team — Original addon developers.
- Xurkon — Questie-X fork and ongoing maintenance.
- Majed (3majed) — Ascension server dataset.
License
MIT License — see LICENSE for details.








