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 old quests/_defaults/default-quests.json echo 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 quest hides the tracker for you alone, /mmohud show quest brings it back (all covers 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|toggle and /mmoconfig questhud --args=TOP|BOTTOM|CENTER|<offsetX>|<offsetY>, or from the admin dashboard; the position lives in hud-layout.json and nothing saved there moves on upgrade.

Quest States

Each quest displays a color-coded status label:

StatusColorMeaning
AvailableOrangeReady to accept - click the Accept button to start tracking
LockedGrayRequirements not met (see below)
In ProgressBlueActively tracking objectives
Ready to ClaimGoldAll objectives complete - click Claim to receive rewards
CompletedGreenFinished and rewards received
CooldownGrayRepeatable 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:

RequirementHow it reads
Skill levelRequires Mining level 20 (currently 14) - your own level is shown beside the target
Total levelRequires Total level 50 (currently 38)
Combat levelRequires Combat level 25 (currently 18)
PermissionYou do not have permission to use this
Another questComplete quest: Novice Miner
AchievementEarn achievement: Trork Hunter
Server featureRequires an optional feature - the quest needs something the server has switched off
Mastery nodeRequires Acrobatics Mastery I - the node's own name, when its title is shipped; a plain Requires a mastery node otherwise
A choice of routesUnlocked by: Warrior's Path or Mage's Path - any one of them opens the quest

A prerequisite quest has to be CLAIMED

A quest that asks you to complete another one means the reward was actually collected. A quest sitting finished but waiting for you to pick up its reward at a character does not satisfy it yet. Collect the reward and the next quest opens.

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

ButtonWhen VisibleWhat It Does
AcceptAvailable questsStart tracking the quest
ClaimReady to Claim questsReceive your rewards (checks inventory space)
AbandonIn Progress questsCancel 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.

SettingWhat it does
CooldownA 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 resetA 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 capA maximum number of finishes ever. Once you have spent them the quest reads finished for good.
Resets other questsFinishing 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).

TypeExample
Break blocksBreak 50 stone blocks.
Place blocksPlace 20 oak planks.
Craft itemsCraft 5 iron swords.
Kill entitiesKill 10 zombies.
Deal damageDeal 500 total damage to enemies.
Pick up itemsPick up 30 apples.
Reach a skill levelReach level 25 in Mining.
Talk to an NPCTalk to the Adventurer's Guide.
Catch fishCatch 15 fish.
Turn in / deliver itemsTurn in 10 wheat to the quest giver.
Complete questsComplete 3 quests.
Take fall damageTake 100 total fall damage.
DieDie 5 times.
Gain XPGain 10,000 Combat XP.
Sprint a distanceSprint 1,000 blocks.
Swim a distanceSwim 500 blocks.
Cast abilitiesCast Fireball 20 times.
Earn currencyEarn 250 bounty tokens.
Breed animalsBreed 4 cows.
Feed animalsFeed 10 chickens.
Harvest from animalsHarvest wool from 8 sheep.
Fight with a companionDefeat 5 enemies alongside a tamed companion.
Complete bountiesComplete 3 hard bounties on the daily board.
Reach a bounty streakReach a bounty completion streak of 7.
Reach a locationReach the mountain summit.
Consume itemsConsume 5 healing potions.
Spend currencySpend 500 bounty tokens.
Work a stationComplete 10 Sawmill cycles.
Collect station outputCollect 40 Life Essence from the Sawmill (every stack a station hands its worker; a command payout and unattended output never count).
Win a minigame roundWin 3 Kweebec Nightmare rounds (needs that mod installed; every party member is credited).
Finish a minigame roundComplete 5 Kweebec Nightmare rounds, win or lose.
Bring down a bossBring 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 endStand in 3 boss fights to the end, won or wiped (credited once per participant when the fight settles).
Reach a boss phaseSee the Brood Queen reach her third phase (the qualifier is the phase's state name; credited once per member per phase).
Reach a tracked valueReach 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 old pending-quest-rewards.json is 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.

LevelWhat you see
All (default)Every objective tick, every quest state change, and all milestones
MilestonesQuest state changes, plus an objective's finish and the marks its moment file authors (the shipped file marks every quarter)
ObjectivesQuest state changes, plus objective completions (not per-tick progress)
QuestsQuest state changes only (no objective updates)
NoneSilent, 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>.

CommandDescription
/quest accept <questId>Accept a quest
/quest claim <questId|all>Claim rewards for completed quests
/quest abandon <questId>Abandon an active quest
/quest statusView 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.