Content Packs
Extend MMO Skill Tree with a data-only Hytale asset pack - no Java required
Overview
Third parties can add or override MMO Skill Tree content - quests, achievements, XP tuning, mastery tracks, currencies, dialogues, and more - without writing any Java, by shipping a standard Hytale asset pack: a .zip (or folder) of JSON dropped into the server's mods directory. MMO Skill Tree declares its own custom asset types, so the Hytale engine natively discovers, loads, and merges your pack at server start.
Who this is for
- Server owners who want to customize content beyond the admin dashboard, and keep those customizations in a portable pack they can move between servers.
- Content creators shipping quest packs, class packs, or total conversions on CurseForge.
- Translators contributing new languages (see Translation Packs).
What packs can add
Each links to its entry in the Content Type Reference:
- Quests and Achievements
- Mastery tracks and Currencies
- Abilities and Ability Improvements (AbilityMods) (Since 1.6.0)
- Gear stats on items via native
MMO_*stat modifiers (Since 1.6.0) - Quest-giver NPCs (spawn placement, appearance, role) and Dialogues (branching NPC conversations) as two distinct, independently-authorable types
- Bounty Boards and Token Shop entries, pools, and storefronts
- Power Level formula tuning (consumed by the optional MMO Mob Scaling companion mod)
- XP maps, Mob-kill XP, Luck loot, Item & Action requirements, Boost templates, Command rewards
- Translations (native Hytale
.langfiles, not an MMO-custom type)
What packs cannot add
- Custom skills - load too early and are code-backed. Owner-config only (
custom-skills.json), never pack-authorable. - Skill-tree nodes (including
SCHOOL_RESIST) - owner config only (skill-tree.jsonoverrides), even though the reward type and the damage schools it targets are otherwise pack-referenceable. - XP tokens - can be tweaked through config, but not created from pack data.
Abilities moved off this list in 1.6.0
Server/MMOSkillTree/Abilities/) - see Ability authoring.Need a new skill? That stays a config/code feature for now - see Custom Skills.
Reference packs
Real, production packs you can learn from, each demonstrating a different slice of the system:
MMO Skill Mastery Pack
20 mastery tracks, 2 currencies, mastery-point milestone rewards, quests & achievements. The reference for the template DSL.
MMO Skill Bounty Pack
Rotating Bounty Board contracts plus the Token Shop catalog and its interactable blocks. Reference for bounty boards and shop entries.
MMO Skill Quest Pack
Zone quests with quest-giver NPC roles, branching Dialogues, and per-world rules. Reference for the dialogue engine and runtime NPC handoffs.
MMO Skill Taming Pack
A feature-gated integration pack: adds Taming XP maps, quests & achievements that stay hidden unless the companion mod is installed.
MMO Skill Capes Pack
A pure-cosmetic Hytale asset pack: ships the mastery cape items, a custom rarity, and per-locale names. No gameplay logic.
Sample Content Pack
A minimal working example: a manifest, a control file, and one quest. The smallest complete pack.
The Mastery, Bounty, Quest, Taming, and Capes packs ship as companion downloads alongside the mod on CurseForge.
In-repo examples for abilities and gear stats
AbilityMod that improves an existing ability (Ability authoring) and a gear-stat pack that ships items granting MMO_* stats and a tool with a fortune-style tag stat (Gear stats). Treat them as authoring references, not installable content packs.Quick start
A content pack is just a manifest plus JSON under Server/MMOSkillTree/:
MyMmoPack.zip
├── manifest.json
└── Server/
└── MMOSkillTree/
├── Control/MyMmoPack.json (optional - per-type add/replace mode)
├── Quests/dragon_hunt.json
└── Achievements/first_blood.jsonThe manifest
Only Name is required and IncludesAssetPack must be true. No Main class is needed - this is a data-only pack.
{
"Group": "YourStudio",
"Name": "MyMmoPack",
"Version": "1.0.0",
"ServerVersion": "*",
"IncludesAssetPack": true
}| Field | Required | Notes |
|---|---|---|
Name | Yes | Unique pack name; also the key used in your Control file. |
IncludesAssetPack | Yes | Must be true so Hytale loads the bundled assets. |
Group | No | Your studio / namespace. |
Version | No | Pack version string. |
ServerVersion | No | "*" = any server version. |
Add your first quest
Per-entry types (quests, achievements, masteries, currencies, classes) use one file per entry. The asset key comes from the filename; Payload is the entry as a nested JSON object (no escaping):
// Server/MMOSkillTree/Quests/dragon_hunt.json
{
"Name": "dragon_hunt",
"Payload": {
"id": "dragon_hunt",
"displayName": "Dragon Hunt",
"category": "main",
"objectives": [
{ "id": "slay", "type": "KILL_ENTITY", "target": "*", "amount": 5 }
],
"rewards": [
{ "type": "XP", "skill": "SWORDS", "amount": 500 }
]
}
}Install and verify
- Drop the zip (or folder) into your server's mods directory - the same place MMO Skill Tree itself lives.
- Start the server.
- Look for these log lines confirming the pack loaded:
[AssetPacks] Registered MMO content asset stores
[AssetPacks] Quest pack layer applied (1 entries, mode=add) - N quests effectiveThe in-game Export as Pack tool (/mmopacks export) generates a correctly-formatted pack from your current server content - the fastest way to get a working starting point.

Where to go next
- Content Types & Merging - every pack-extensible type, how merging works, the Control file, and feature gating.
- Template Extension - the
extends/params/ overrides DSL that collapses repetitive content. - Quests, Achievements, and Masteries - full field references for the base content types.
- Dialogues - NPC conversation trees and native
Parentinheritance. - Abilities and Gear stats - the 1.6.0 ability and item-stat authoring surface.
- Shop and Schema reference - shop entries/pools/storefronts and the shared sub-schemas (cost, requirements, rewards, objectives).
- Publishing & Translations - zip-building, translation packs, cosmetic packs, and security.