Quests
Complete tasks to earn rewards
Overview
Quests are tasks that reward you for playing - mine blocks, craft items, reach skill levels, defeat enemies, and more. Browse and manage quests from the Quests tab in the sidebar of the skill overview (/xp), or pick them up from a character in the world.
Quests are organized into categories like Main, Daily, and Misc. Some quests start tracking automatically when you perform a matching action, while others must be accepted manually from the quest list or from the character who hands them out.
Where quests come from
Every quest the mod ships is a readable file inside the mod jar, under Server/ZiggfreedCommon/Quests/MMOSkillTree/. There is one file per quest and the filename is the quest id, so you can open a built-in quest, see exactly how it is put together, and copy it as the starting point for your own.
Content packs author quests in the same shared format, one file per quest under Server/ZiggfreedCommon/Quests/<YourPack>/. See Authoring Quests for the file shape.
Prefer a content pack: author one file per quest under Server/ZiggfreedCommon/Quests/<YourPack>/ inside a pack folder, zip it, and drop the .zip into your server Mods/ folder. Building the zip.
mods/ziggfreedcommon/quests/<Id>.json stays the quick per-server tweak that always wins.
- Override a built-in by name. For a quick one-off tweak with no pack, put a file named after the quest in
mods/ziggfreedcommon/quests/: the leaves you write win for that quest and the rest stay as shipped. - Adding your own quests no longer hides the built-ins. Your files sit on top of the shipped set instead of replacing it, so a server with one custom quest still has the whole tutorial chain.
- The generated
_defaults/copy is gone. The oldquests/_defaults/default-quests.jsonecho retires itself on the first start after upgrading, with one line in the log saying where to read the built-ins instead. A stale copy of a shipped quest can no longer quietly outrank the real one.
See Quest Configuration for the server-owner view, including what the first start does to an older quests/ folder.
Quest UI
Open the quest page by clicking the Quests tab in the left sidebar of /xp. The page shows:
- Category filters - Filter by All, Main, Daily, or Misc at the top
- Quest count - Total quests and active quest count
- Quest rows - Each quest shows its name, description, status, objectives, rewards, and action buttons
- Tracked quests - Pin up to 5 quests to show them on the side panel of every skill menu page (see Tracking)
Tracking
Click the track icon on a quest row to pin it. Tracked quests appear on the side panel of /xp and every other menu page so you always have a view of your current objectives. You can track up to 5 quests at once - the oldest pin is listed first. Untrack a quest to free a slot.
Pinned quests also show on the in-world quest tracker, the panel drawn in the corner of the screen while you play. In 1.6.0 that panel is the shared library's: it repaints the instant a quest is pinned or unpinned, accepted, moved, finished, claimed or abandoned, and it reads the same titles and objective lines the quest log does, so the two can never disagree. It looks exactly as it did.
- Your own view -
/mmohud hide questhides the tracker for you alone,/mmohud show questbrings it back (allcovers every MMO HUD at once). It applies at once, and a world whose rules switch HUDs off hides it while you are there. - Server-wide - an admin moves it or switches it off for everybody with
/mmoconfig questhud --args=on|off|toggleand/mmoconfig questhud --args=TOP|BOTTOM|CENTER|<offsetX>|<offsetY>, or from the admin dashboard; the position lives inhud-layout.jsonand nothing saved there moves on upgrade.
Quest States
Each quest displays a color-coded status label:
| Status | Color | Meaning |
|---|---|---|
| Available | Orange | Ready to accept - click the Accept button to start tracking |
| Locked | Gray | Requirements not met (see below) |
| In Progress | Blue | Actively tracking objectives |
| Ready to Claim | Gold | All objectives complete - click Claim to receive rewards |
| Completed | Green | Finished and rewards received |
| Cooldown | Gray | Repeatable quest waiting for its next run to come around |
Requirements Display
A locked quest shows a Requires: section below the description, and it lists every requirement you have not met yet, not just the first one it found. If three things are standing between you and a quest, you see all three, so there is no guessing and no second attempt that fails on a different line.
The wording covers each kind of requirement in plain language:
| Requirement | How it reads |
|---|---|
| Skill level | Requires Mining level 20 (currently 14) - your own level is shown beside the target |
| Total level | Requires Total level 50 (currently 38) |
| Combat level | Requires Combat level 25 (currently 18) |
| Permission | You do not have permission to use this |
| Another quest | Complete quest: Novice Miner |
| Achievement | Earn achievement: Trork Hunter |
| Server feature | Requires an optional feature - the quest needs something the server has switched off |
| Mastery node | Requires Acrobatics Mastery I - the node's own name, when its title is shipped; a plain Requires a mastery node otherwise |
| A choice of routes | Unlocked by: Warrior's Path or Mage's Path - any one of them opens the quest |
A prerequisite quest has to be CLAIMED
The requirements line appears in green when all requirements are met, or gray when any are unmet.
Objectives
Active quests display each objective with a progress counter (e.g., Mine 25 Iron Ore (12/25)). Completed objectives turn green. Some quests require objectives to be completed in order (sequential quests).
Actions
| Button | When Visible | What It Does |
|---|---|---|
| Accept | Available quests | Start tracking the quest |
| Claim | Ready to Claim quests | Receive your rewards (checks inventory space) |
| Abandon | In Progress quests | Cancel the quest and reset progress |
Quest Types
Auto-Accept Quests
Some quests start tracking automatically when you perform a matching action (e.g., mining stone). You don't need to accept them manually - they just appear as "In Progress" once triggered.
Repeatable Quests
A quest comes back around when its author writes a Repeat group on it, and what is inside that group decides when. The parts are independent and they all have to pass, so a daily that may also never be run more than fifty times in total is simply both settings side by side.
| Setting | What it does |
|---|---|
| Cooldown | A rolling wait, written in whole units that add up (a day, a week, half an hour). The clock starts when you collect the reward, so a quest parked finished at a character is not quietly burning its own cooldown while you are away. A quest can opt to count from the moment its last objective ticked over instead, which is what a quest belonging to a rotating offer wants so that collecting late does not eat into the next period. |
| Daily or weekly reset | A calendar allowance rather than a rolling clock: so many finishes per day or per week, anchored to the server clock in UTC, with an optional offset into the period and, for a weekly, a chosen weekday. |
| Lifetime cap | A maximum number of finishes ever. Once you have spent them the quest reads finished for good. |
| Resets other quests | Finishing this quest wipes the progress of the quests it names, which is how a weekly re-arms its dailies. |
The calendar allowance and the lifetime cap both count finishes, so a run whose reward is still waiting to be picked up has already spent its slot. Content that wants to ask "how many runs have you actually been paid for" asks that as a requirement instead.
An admin quest reset wipes the completion record along with everything else, because a reset means starting over. Abandoning a quest leaves the record alone, so a lifetime cap stays enforceable.
Sequential & Staged Quests
Some quests require objectives to be completed in a specific order. Only the current objective tracks progress - later objectives are grayed out until earlier ones are finished.
Quests can also use staged objectives - objectives grouped into stages where everything in the same stage can be done in any order, but later stages are locked until earlier stages are complete. For example, "gather iron ore and wood" (stage 1, parallel) then "forge a sword" (stage 2, unlocks after stage 1).
Objective Types
Quests can track the following actions. Objectives can also be scoped to a zone, so progress only counts while you are in a named area (see Quest Givers & Dialogue).
| Type | Example |
|---|---|
| Break blocks | Break 50 stone blocks. |
| Place blocks | Place 20 oak planks. |
| Craft items | Craft 5 iron swords. |
| Kill entities | Kill 10 zombies. |
| Deal damage | Deal 500 total damage to enemies. |
| Pick up items | Pick up 30 apples. |
| Reach a skill level | Reach level 25 in Mining. |
| Talk to an NPC | Talk to the Adventurer's Guide. |
| Catch fish | Catch 15 fish. |
| Turn in / deliver items | Turn in 10 wheat to the quest giver. |
| Complete quests | Complete 3 quests. |
| Take fall damage | Take 100 total fall damage. |
| Die | Die 5 times. |
| Gain XP | Gain 10,000 Combat XP. |
| Sprint a distance | Sprint 1,000 blocks. |
| Swim a distance | Swim 500 blocks. |
| Cast abilities | Cast Fireball 20 times. |
| Earn currency | Earn 250 bounty tokens. |
| Breed animals | Breed 4 cows. |
| Feed animals | Feed 10 chickens. |
| Harvest from animals | Harvest wool from 8 sheep. |
| Fight with a companion | Defeat 5 enemies alongside a tamed companion. |
| Complete bounties | Complete 3 hard bounties on the daily board. |
| Reach a bounty streak | Reach a bounty completion streak of 7. |
| Reach a location | Reach the mountain summit. |
| Consume items | Consume 5 healing potions. |
| Spend currency | Spend 500 bounty tokens. |
| Work a station | Complete 10 Sawmill cycles. |
| Collect station output | Collect 40 Life Essence from the Sawmill (every stack a station hands its worker; a command payout and unattended output never count). |
| Win a minigame round | Win 3 Kweebec Nightmare rounds (needs that mod installed; every party member is credited). |
| Finish a minigame round | Complete 5 Kweebec Nightmare rounds, win or lose. |
| Bring down a boss | Bring down the Scarak Brood Queen (the target is the fight's script id, never the creature's; leave it empty for any boss; every participant the fight credited completes it). |
| Stand in a boss fight to the end | Stand in 3 boss fights to the end, won or wiped (credited once per participant when the fight settles). |
| Reach a boss phase | See the Brood Queen reach her third phase (the qualifier is the phase's state name; credited once per member per phase). |
| Reach a tracked value | Reach 50 total Luck (the general form REACH_LEVEL itself runs on under the hood). |
Reach a tracked value is the general form of the familiar "reach level" objective: it watches any tracked value the server knows about (a skill level, your total level, your combat level, luck, or a value a companion mod publishes) and completes when it hits the target. "Reach Mining level 20" is the friendly way of writing one, and both read exactly the same way on screen.
Turn-In Objectives
Turn-in objectives are player-initiated - they don't tick automatically. Press the turn-in button on the quest row (or hand the items over to the character who takes them) to deliver items from your inventory. Partial turn-ins are supported: if you only have 3 of the required 10 Iron Ingots, you can turn in the 3 now and the rest later.
When a quest names a character to hand in to, the turn-in only works with that character. Otherwise the button works from the Quests page directly.
Quest Givers & Dialogue
A quest can name the character who hands it out and the one who takes it back in, and the same character can fill both roles. Because identity belongs to the placement rather than the quest, the same character can stand in two places - the Adventurer's Guide stands at world spawn and in the Forgotten Temple as one character, serving the same quests from either standing with nothing authored twice. That character's own quest screen is a two-panel view: portrait and line on the left, objectives and the Accept / Turn In / Claim buttons on the right, listing every quest authored to them whatever state it is in. Credit for a talk to a character objective comes from the conversation itself - the line you pick is what counts, not walking up or opening a page. See NPC Dialogue & Quest Givers for the full picture and Placed NPCs for the server-owner view. Server owners can also open a character's quest screen from an external dialogue mod with /mmoquestui <player> <npc_id>.
Quests can also be scoped to a zone so an objective only counts while the player is in a named area, and accepting, abandoning, or completing a quest fires the usual feedback (toast, sound). The Daily category filter has no jar-shipped content by default - it is available for a pack or owner file to use, and is separate from the Bounty Board's own daily/weekly contract rotation (see Bounty Board).
Rewards
Quest rewards are shown at the bottom of each quest row and delivered when the quest is completed (or when you click Claim). A quest can pay out any of these:
- Skill XP - a direct grant into one skill, or spread across all of them
- A boost token - a timed XP multiplier, e.g. 2x All XP for 30 minutes
- Currency - a top-up of any wallet the server has enabled
- An ability improvement - a permanent tweak to one of your abilities (more damage, a shorter cooldown, or a whole extra beat in the cast)
- A real item - handed straight into your bag, with its own icon, name, count and tooltip
- A shared loot roll - a table the server rolls on, so the same reward can differ run to run
- Gear that arrives already enhanced - a piece with its stat bonuses already stamped on it
- A native drop list - the game's own drop table, spilled where you are standing
- A console command - the escape hatch for anything else the server can do
The list is open: a companion mod can add its own kind of reward and quests can pay it out with no changes here. A reward naming a kind nothing on the server can pay is reported at startup and by /mmoconfig validate, so it is caught before a player ever clicks Claim.
- Room is checked before anything is charged. A claim that would not fit in your bag is refused up front rather than overflowing or vanishing.
- Offline grants wait for you. If a quest pays out while you are offline (an admin command, for instance) the reward is spooled to
mods/mmoskilltree/pending-rewards.json, filed under your account id, and handed over the next time you connect. Upgrading servers: the oldpending-quest-rewards.jsonis drained into it once and backed up, and if anything in there was filed under a player name rather than an account id, the startup notice names it so you can hand it over yourself. - Finishing a quest plays the quest-complete moment - the toast, its colour, and its sound - which a server owner can re-word, re-colour, broadcast server-wide, or attach a command to. See Feedback moments.
The tutorial chain also hands over a Quest Book, a companion to the Skill Menu Scroll that opens your quest log directly and is not used up.
Notification Levels
Quest progress can be verbose - every objective tick can fire a notification. Players can throttle how much they see from the Settings page in the /xp menu.
| Level | What you see |
|---|---|
| All (default) | Every objective tick, every quest state change, and all milestones |
| Milestones | Quest state changes, plus an objective's finish and the marks its moment file authors (the shipped file marks every quarter) |
| Objectives | Quest state changes, plus objective completions (not per-tick progress) |
| Quests | Quest state changes only (no objective updates) |
| None | Silent, including the "make room" notice for a reward that did not fit. Use the Quests page to check progress manually. |
The setting gates only the personal toasts. The words, colours and jingles themselves are authored moment files a server owner can change, and a sound or a server-wide banner belongs to the moment rather than to your setting.
Shortcut Commands
All quest actions are available through the Quests tab in /xp. These commands are optional shortcuts if you prefer typing over the UI. /quest is an alias over the shared library's /zigprogress quest accept|claim|abandon|status: both spellings act on the same quest log, and this one adds the MMO's own manners (a quest handed over only in conversation is refused from chat, and a claim checks for inventory room first). The named-arg form is /quest accept --questId=<questId>.
| Command | Description |
|---|---|
/quest accept <questId> | Accept a quest |
/quest claim <questId|all> | Claim rewards for completed quests |
/quest abandon <questId> | Abandon an active quest |
/quest status | View your active quests |
For Server Owners
The primary way to add or change quests is a content pack: author one file per quest under Server/ZiggfreedCommon/Quests/<YourPack>/, zip it, and drop the .zip in Mods/ (see Building the zip). mods/ziggfreedcommon/quests/ is the quick per-server override for a single quest. See the Quest Configuration guide for the current one-file-per-quest format, the requirement vocabulary, the repeat settings, and what the first start does to an older quests/ folder.
Admin commands are available via /mmoquestadmin - see the Commands page for the full reference.