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, classes, 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:

What packs cannot add

  • Custom skills and active abilities — these load too early and are code-backed (planned for a future release).
  • XP tokens — can be tweaked through config, but not created from pack data.

Need a new skill? That stays a config/code feature for now — see Custom Skills.

Reference packs

Six real, production packs you can learn from — each demonstrates a different slice of the system:

Mastery Pack

20 mastery tracks, 2 currencies, mastery-point milestone rewards, quests & achievements. The reference for the template DSL.

Classes Pack

Three classes (Adventurer, Warrior, Hunter) on a shared class template. Reference for ClassDefinition.

Translations Pack

8 community languages as native .lang files. Open-source on GitHub — fork it to contribute a language.

Taming Pack

A feature-gated integration pack — adds Taming XP maps, quests & achievements that stay hidden unless the companion mod is installed.

Capes Pack

A pure-cosmetic Hytale asset pack — ships the 20 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, Classes, Translations, Taming, and Capes packs ship as companion downloads alongside the mod on CurseForge.

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.json

The 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
}
FieldRequiredNotes
NameYesUnique pack name; also the key used in your Control file.
IncludesAssetPackYesMust be true so Hytale loads the bundled assets.
GroupNoYour studio / namespace.
VersionNoPack version string.
ServerVersionNo"*" = 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

  1. Drop the zip (or folder) into your server's mods directory — the same place MMO Skill Tree itself lives.
  2. Start the server.
  3. 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 effective

The 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