AzerothCore WotLK module that provides .qcatchup (alias .qc) for syncing quest progress from a targeted player to you, and .qsync for group-wide everyone-to-everyone sync. It's a little op/cheaty but we've all leveled alts and abhor the grind sometimes.
- Target-based quest sync: Click on a player to target them, then run
.qcto sync their completed quests and accept their in-progress quests to you - Group-wide quest sync (
.qsync): Syncs eligible quests from every raid/party member to every other member — one command for the whole group - Eligibility filtering: Only quests that match your level, race, and class are synced
- Reward-aware: Grants XP, items, and spells/abilities from the synced quests
- Spell tracking: Lists all spells and abilities gained from completed quests
- Dry-run mode: Preview eligible quests without committing any changes
- Configurable: Full control over behavior via
worldserver.conf
- AzerothCore WotLK (3.3.5a)
- CMake build system
- A C++17 compatible compiler
- Place this module inside the
modules/mod-quest-catchup/directory of your AzerothCore installation
git clone https://www.github.com/Jellypowered/mod-quest-catchup.git
- Re-run CMake and rebuild:
cmake -B build
cmake --build build --target modules -j$(nproc)or from your <AcoreDir>
./acore.sh compiler build
- Restart the worldserver
- Target a player — Click on the player's character to set them as your target
- Run the command — Type
.qcor.qcatchupin chat
- With a target: Syncs all eligible completed quests from the targeted player to you
- Without a target: Shows "You must select a player target to use this command."
Note: The command uses your in-game target cursor, not the command argument. Type
.qcwhile targeting the desired player — do not include the name in the command.
- Be in a party or raid — Solo players cannot use this command
- Run the command — Type
.qsyncin chat
- Iterates through all group members, syncing each member's completed/in-progress quests to every other member
- Silent during execution (no per-quest spam)
- Prints one clean summary at the end with totals and spells gained
- Offline members are skipped silently
Note: If a party member is level 80 and another is level 30, only quests eligible for the level 30 player will be synced. Eligibility is checked per-receiver, so high-level quests won't be forced onto low-level alts.
Copy conf/mod-quest-catchup.conf.dist from the module directory to your modules config folder (e.g. <AcoreDir>/env/dist/etc/modules/mod-quest-catchup.conf):
########################################
# QuestCatchup Configuration
########################################
#
# QuestCatchup.Enabled
# Description: Enable or disable the Quest Catchup module.
# 0 = Disabled (command will not work).
# 1 = Enabled.
# Default: 1
#
# QuestCatchup.DryRun
# Description: Enable dry-run mode to preview eligible quests without committing changes.
# 0 = Live mode (complete quests and grant rewards).
# 1 = Dry-run mode (only list eligible quests).
# Default: 0
#
# QuestCatchup.LogCompleted
# Description: Log completed quests to console.
# 0 = Disabled.
# 1 = Enabled.
# Default: 1
#
QuestCatchup.Enabled = 1
QuestCatchup.DryRun = 0
QuestCatchup.LogCompleted = 1To enable detailed per-quest logging (useful for troubleshooting which quests are eligible or skipped), add this line to worldserver.conf:
Logger.QuestCatchup=4,Console ServerLog levels: 0 = off, 1 = error, 2 = warn, 3 = info, 4 = debug, 5 = trace.
.qc — single target (live mode):
Quest Catchup for Goku:
Target has completed: 51 quests
Target has in-progress: 7 quests
Eligible for you: 56
Completed: 51 quests
Accepted in-progress: 5 quests
Gained spells/abilities:
- Swift White Steed (ID: 33388)
- Ebon Gryphon (ID: 33389)
.qc — no target selected:
You must select a player target to use this command.
.qsync — raid sync (live mode):
Quest Sync (Raid of 8):
Members: 8
Total syncs: 56
Quests completed: 342
Quests accepted: 48
Spells gained:
- Swift White Steed (ID: 33388)
- Ebon Gryphon (ID: 33389)
- Mount (ID: 16843)
.qsync — solo player:
You are not in a group.
This module is licensed under the MIT License. See LICENSE for details.