Troubleshooting
Common issues and solutions
Not Gaining XP
Check Creative Mode
disableXpInCreative is true by default. If you're in creative mode, you won't gain XP.
Solution: Switch to survival mode, or disable the setting:
/mmoconfig creative --args=falseCheck Permissions
If permissions are enabled, ensure you have mmoskilltree.skill.* or the specific skill permission.
Check if permissions are enabled:
/mmoadminCheck Placed Block Tracking
You cannot gain XP, or quest and achievement progress, from blocks you placed yourself (anti-exploit feature). The ledger that remembers which blocks were player-placed is ZiggfreedCommon's runtime store, mods/ziggfreedcommon/placed-blocks.json; you don't edit it directly. XP and quest/achievement progress read the same ledger, so a place-then-break credits nothing anywhere.
The two knobs live in skill-config.json:
trackPlacedBlocks- turn tracking off entirelyplacedItemExpireMinutes- how long a placed item (a crop, a fruit) stays remembered
A placed block is remembered until it is broken, whoever breaks it, and earns nobody credit.strictPlacedBlockCheck and placedBlockExpireMinutes retired in 1.6.1; a file still carrying either gets one boot notice and drops them on the next save.
Solutions:
- Break blocks placed by other players or world generation
- Building a mine, a farm or a quarry FOR your players? Give the builder
mmoskilltree.placedblocks.exempt(OP and creative placements are exempt already): their placements are never recorded, so players who mine them earn normally - Disable tracking: set
trackPlacedBlocks: falseinskill-config.json
If you just upgraded from before 1.6.0, the old mods/mmoskilltree/placed-blocks.json was renamed to .legacy at first boot with one warning, and 1.6.1 retires the library's own mods/ziggfreedcommon/placed-blocks.json the same way: a placement is one bit on the chunk the block sits in, saved and loaded with it, so there is no file left to scan or grow. Blocks placed before either upgrade are forgotten once; everything placed afterwards is guarded as before.
"My abilities.json edits do nothing"
abilities.json (the old JSON-blob ability-override format) was retired. On first boot after upgrading, the mod moves the legacy file (never reads it) to a timestamped file under mods/mmoskilltree/backup/ and logs a startup warning.
Current ability configuration is split across two places:
ability-settings.json- server-wide ability toggle and dodge/counterattack timingability-overrides.json- per-ability owner tuning (partial overlays onto the folded ability, defaults < pack < owner)
Full ability bodies live as pack-authorable Server/MMOSkillTree/Abilities/*.json assets. After editing ability-overrides.json, run /mmoability reload to re-fold and re-validate live.
Shared Library (ZiggfreedCommon) Issues
A shop, board, or currency name shows as a raw key like board.grade.hard
A shelf or band name resolves in four rungs: what the content itself authors, then a board.grade.* / shop.category.* key any installed mod or pack ships in its own .lang file, then the shared library's neutral default in ziggfreedcommon.commerce.lang, then the raw name printed as-is. Seeing the raw key means no rung answered: the band or shelf is one nobody has named yet.
Solutions:
- Simplest: author the board's
Gradestext or the storefront'sCategoriestext directly on the asset, and no key is needed at all - Or write the key in your own mod or pack's
.langfile - the filename becomes its namespace, and the library asks each installed mod before falling back to its own default, soboard.grade.hardinmmoskilltree.langresolves - Or override the library's own wording by shipping
ziggfreedcommon.commerce.lang
My old bounty-board.json / token-shop.json / currencies.json / spawn-hub.json / quest-givers.json changes stopped applying
These owner files were retired in 1.6.0. Each one was renamed to .legacy at first boot with a single startup warning; none of them are read anymore.
The replacements are shared-library assets under Server/ZiggfreedCommon/, with your edits now belonging in the corresponding owner file under mods/ziggfreedcommon/:
boards.json,shops.json,shop-pools.json,currencies.json,npc-placements.json
Run /mmomigrate for a plain-language report of what moved and what still needs your hand.
A pack installs but its shop or board is empty
A content pack that still ships the old Server/MMOSkillTree/{Currencies,Shops,ShopPools, ShopEntries,ShopTemplates,BountyBoards} folders is loading into stubs that only report, never populate the live shop or board. The boot log names every such file and whichServer/ZiggfreedCommon/ folder to move it to. Run the pack through the web Migration Converter to convert it automatically.
My plugin no longer compiles against the achievement listener
The achievement listener registry was removed in 1.6.0, not deprecated; a plugin that listened for achievements needs a small change to subscribe to ZiggfreedCommon's native events instead. Full before-and-after: Native events.
The server refuses to start, naming a ZiggfreedCommon version
The required companion jar is older than this mod needs. UpdateZiggfreedCommon.jar in your server's mods folder to the version the startup message names; it loads before MMO Skill Tree does, so a stale copy fails the boot up front with a plain message instead of a cryptic class error mid-load.
Pressing use on a station block does nothing
Work stations need both the standalone RPG Stations companion mod and the MMO Skill Stations Pack content pack installed alongside MMO Skill Tree. Without either one, MMO Skill Tree shows nothing station-related at all - the block itself does not error, it simply has nothing to hand the press off to. See Work Stations.
An NPC is missing, or standing in the wrong place
Run /mmonpc list in that world: it names every placement that targets the world, whether it is actually standing, and the reason for anything that isn't. /mmonpc enable puts a disabled placement back, and /mmonpc reconcile forces a fresh sweep, everywhere or in one world. /mmonpc list --arg1=structures lists the structure-marker sightings a placement can anchor to, /mmonpc list --arg1=markers scans for the marker entities actually live right now (the two disagreeing tells you which side an anchoring problem is on; a marker only exists while its chunk is loaded), and /mmonpc list --arg1=channels shows which mod claimed each press-F destination, which tells a typo apart from a missing mod.
I just upgraded from 1.5.x and something stopped applying
1.6.0 retires a batch of owner files outright (see the sections above and Upgrading to 1.6.0 for the full list). Run /mmomigrate for one plain-language report of everything on your server that still speaks a retired format, then /mmomigrate --action=owner --confirm=yes to convert what can be converted safely (it backs up first). Content packs are never rewritten in game; run those through the web Migration Converter instead.
Content Pack Not Loading
Content packs are discovered at server start only. If a pack's content doesn't appear:
- Confirm the pack zip (or unzipped folder) is in the server's mods directory and its manifest has
"IncludesAssetPack": true - Restart the server - dropping a new zipped pack in while the server is running does not load it
- An unzipped pack's file monitor auto-refreshes on save for live edits during development, but a brand-new pack still needs one restart to register
- Check the server log at startup for pack load / validation errors
- Run
/mmoconfig validateto surface content audit findings across all domains
Safe Live-Reload Paths
Never use /plugin reload on this mod
/plugin reload MMOSkillTree (or /plugin reload Ziggfreed:MMOSkillTree) is unsafe and crashes the running world. It re-registers the mod's ECS component types at new indices, which the running world cannot recover from. On a Hytale Update 6 (0.6.x) server it reaches even further: plugin unloading cascades through dependents, so unloading ZiggfreedCommon takes MMO Skill Tree and every other mod depending on it down with it, and a /plugin reload of the MMO now touches more than the one jar you named. For what a restart or a crash actually costs you, see Server Operations.Use one of these instead, depending on what you changed:
/mmoconfig reload- reloads override configs- Wallets, storefronts, and boards are shared-library assets; they reload with the asset stores, alongside their
mods/ziggfreedcommon/owner files (no separate reload command needed) /mmoquestadmin reload- re-reads the MMO's own owner quest files and pack layers;/zigprogress reloadfolds and republishes the shared quest and achievement assets/mmoability reload- re-folds the ability catalog from current pack state plus a freshability-overrides.jsonread, and re-validates- The pack file-monitor (unzipped packs only) auto-refreshes on save
- A full restart for jar-bundled content, or a brand-new zipped pack drop
Config Changes Not Saving
- Use
/mmoconfig reloadto reload from file - Check file permissions on the config directory
- Ensure valid JSON syntax in config files
Commands Blocked
If commands say "no permission":
- If permissions are enabled, you need
mmoskilltree.command.*permissions - Admin commands require OP or
mmoskilltree.adminpermission
LuckPerms: OP Not Working
If you're using LuckPerms and "Enable Permissions" is OFF in /mmoadmin, you need the wildcard permission to act as OP:
/lp user <player> permission set * trueAlternatively, turn "Enable Permissions" ON and grant mmoskilltree.admin instead.
Rewards Not Appearing
- Skill tree rewards require manual claiming via
/skilltree - Item rewards require manual claiming via
/xp→ Rewards tab - Check if you meet the level requirement
Wrong Stat Bonuses After Update
Run /mmoconfig reload - stats are auto-recalculated on config version changes.
If issues persist, players can reset their skill tree and reclaim rewards.
Language Issues
Missing Translations
The mod's own text falls back to English, key by key, so you will never see a raw key from its own UI. Content-authored text is different on purpose: a conversation line, a shop or board name (see above), or a custom skill name from a pack shows its raw key when nothing has translated it, so a missing translation can be found and fixed instead of silently swallowed - or, before 1.6.0, dropping the player to the loading screen. See Localization.
Getting Help
- Discord: Join Server
- Issues: Report bugs on CurseForge or Discord
- Config Questions: Use
/mmoconfig diffto see your changes
Backing up and restoring configuration and player data is covered once, on Server Operations: Backup & Recovery.
Fixed in Earlier Releases
Update to the latest version if you still see any of these:
- A crash on multi-world servers when opening a leaderboard, from dungeons, temples, and other world instances
- An "Entity contains component type" crash when multiple XP events fired in the same tick
- An "Assert not in thread" error from accessing player data across world threads (leaderboard)