Configuration

Server owner guide to customization

Admin UI

The fastest way to configure common settings is via /mmoadmin:

Admin configuration page showing general settings, boost stacking limits, and action buttons
  • Disable XP in Creative - Toggle whether creative mode players gain XP
  • Skill Permissions - Toggle permission-based skill access
  • Item Rewards - Enable/disable item rewards at milestones
  • Boost Stacking Limits - Configure max multiplier, active boost caps, and stack mode
  • Allow Skill Tree Reset - Toggle whether players can respec their reward choices
  • Max Levels - Set a default max level for all skills (shipped default: 200) and override it per-skill. XP stops being awarded once a skill reaches its cap
  • Milestone Announcements - Run commands when players reach configurable level milestones (e.g., broadcast achievements with /say)
  • Award Boost - Grant boost permissions or tokens to players
  • Mob Kill XP - Configure per-mob XP values and weapon scaling for kill-only combat mode
  • Edit XP Maps - Visually edit XP values per skill
  • Edit Rewards - Visual editor for command rewards per skill and level
  • Edit Skill Tree - Customize skill tree reward tiers, levels, and choices
  • Edit Tokens - Browse and modify XP token and boost token values

Changes made via /mmoadmin are saved immediately to the config files.

Two different numbers: content cap vs. configurable ceiling

The shipped skill tree is designed and tuned through level 100 - every default reward tier and node stops there. The defaultMaxLevel a fresh server actually ships with is 200 (CustomSkillsConfig.DEFAULT_MAX_LEVEL), leaving headroom above the designed content for a server owner who wants to author further tiers. There is no hard-coded upper limit above 200 either - defaultMaxLevel and per-skill overrides only floor-clamp to 1.

In-Game Help Guide

Every admin page has a ? button that opens a contextual help card for that specific feature. Each card has an Overview, How It Works, Examples, and Tips section, plus a link to the full online docs. The help content is localized through the standard language files so translated servers get a fully localized guide.

Config Files

All configs are located in mods/mmoskilltree/ (30 files plus the quests/, achievements/, and optional localization/ folders):

FilePurposeType
skill-config.jsonCore settings: leveling formula, default language, permissions, placed-block tracking, combat-XP mode + blacklist, boost-stacking limits, damage cap, dodge timing. Detailed guideTraditional
database.jsonPlayer-data backend selector + tunables (ecs default | postgres | mysql): pool, flush, connection timeout, dbDownPolicy; holds no credentials.Standalone
ability-settings.jsonServer-wide ability toggle plus dodge/counterattack timing (dodge window, armed-slot duration). Detailed guideOverride
ability-overrides.jsonPer-ability owner tuning layer over the pack-authorable Server/MMOSkillTree/Abilities/*.json assets; a partial body (e.g. just Cooldown) overlays per-leaf onto the folded ability instead of replacing it wholesale. Replaced the retired abilities.json. Detailed guideOverride
power-level.jsonOwner overlay for the Power Level formula (pillar weights, clamp range, per-mode COMBAT_ONLY/BALANCED/COMPLETIONIST tuning) over the jar-bundled defaults; folds defaults < pack < owner per leaf.Override
mastery.jsonAbility-mastery node definitions: costs, stat bonuses, and respec rules. Detailed guideOverride
currencies.jsonCurrency definitions (item-backed or counter-backed balances) and their display. Detailed guideOverride
combat-text.jsonColored floating combat text (red crit, gold level-up): master and per-event toggles plus a configurable color per event.Override
feedback.jsonSound + optional camera-shake cues per moment (crit, finisher, kill, level-up, bounty); combat sounds ship off by default.Override
bounty-board.jsonBounty board schedules: rotation, selection, slot / difficulty mix, reroll cost, per-board and global on/off, per-difficulty combat-level gate.Override
token-shop.jsonToken Shop catalog + global on/off; offers ship in a content pack with cost, reward, and optional gates.Override
spawn-hub.jsonThe Adventurer's Guide hub NPC at world spawn: toggle, role, offset / facing, and the worlds list it spawns in.Override
quest-givers.jsonQuest-giver NPCs: placement (beside the world-spawn guide, on zone discovery, or by hand), role, and the dialogue or quest list each opens.Override
dialogues.jsonBranching NPC dialogue trees: progress-aware greetings, option branches, conditions, and actions; drives TALK_TO_NPC objectives.Override
world-rules.jsonPer-world rules matched by name (four wildcard forms: Foo_* prefix, *_Foo suffix, *Foo* contains, bare *, needed for instanced worlds that carry both a prefix and a random suffix): XP multiplier, combined abilities + HUD toggle, weapon-combat toggle, per-world disabled skills, and the StatBonusesEnabled switch (strips/restores persistent stat rewards on world entry/exit, independent of the combat-time-only CombatBonusesEnabled).Override
xp-maps.jsonXP per block / item / weapon for each skill. Detailed guideOverride
luck-loot.jsonLuck bonus loot tables for bonus resources when gathering.Override
skill-tree.jsonMilestone levels, reward choices, multi-select tiers, and ability-unlock placement. Detailed guideOverride
command-rewards.jsonItem rewards and commands granted at skill milestones. Detailed guideOverride
mob-kill-xp.jsonPer-mob base XP for kill-only combat mode. Detailed guideOverride
mob-drop-commands.jsonOpt-in command-based mob drops (dropList key) with chance, delay, and notifications; ships with zero default pools, off by default since 1.5.0. Detailed guideOverride
xp-tokens.jsonXP token amounts, boost multipliers / durations, and enable / disable. Detailed guideOverride
item-requirements.jsonSkill-level requirements for items, weapons, and blocks. Detailed guideOverride
action-requirements.jsonTool-type requirements for blocks and weapon-type requirements for mobs. Detailed guideOverride
boost-templates.jsonPermission-based boost definitions (multiplier, duration, cooldown). Detailed guideOverride
custom-skills.jsonCustom skill definitions and built-in skill enable / disable. Detailed guideOverride
elite-mobs.jsonINERT since 1.5.0: the built-in Elite Mobs system was removed entirely (MMOSkillTreePlugin setup() reads nothing from this file); a legacy copy left on disk from an older install does nothing. Mob difficulty now comes from the separate, optional MMO Mob Scaling companion mod. Kept in this list only so an admin who finds the file on disk knows it is dead, not because the mod still reads it.Override
white-label.jsonServer branding (name, description, logo) on UI pages.Override
reward-icons.jsonPer-skill / per-target / per-reward-type icon overrides.Override
integrations.jsonEnable / disable / prioritize mod integrations (auto-generated). Detailed guideOverride
quests/Per-quest definition files: objectives, rewards, categories, prerequisites. Detailed guideFolder
achievements/Per-achievement definition files: criteria, milestones, server-first claims. Detailed guideFolder
localization/All display text in any language (overrides the jar-bundled .lang files). Detailed guideFolder

Config Types

Override-Based Configs

Most config files (ability-settings.json, ability-overrides.json, power-level.json, mastery.json, currencies.json, combat-text.json, feedback.json, bounty-board.json, token-shop.json, spawn-hub.json, quest-givers.json, dialogues.json, world-rules.json, xp-maps.json, luck-loot.json, skill-tree.json, command-rewards.json, mob-kill-xp.json, mob-drop-commands.json, xp-tokens.json, item-requirements.json, action-requirements.json, boost-templates.json, custom-skills.json, elite-mobs.json, white-label.json, reward-icons.json, integrations.json) use an override system:

  • Files store only your customizations, not all defaults
  • Your changes are preserved across mod updates
  • New defaults are added automatically
  • Use /mmoconfig diff to see what you've changed
  • Use /mmoconfig trim to remove redundant entries

Traditional Configs

Other configs store all values and may be regenerated on version updates. Your old config is backed up automatically.

Quick Config Examples

# Set diamond ore to 150 XP
/mmoconfig mining --args=Ore_Diamond_|150

# All ores give 25 XP (wildcard pattern)
/mmoconfig mining --args=Ore_|25

# Disable a default pattern
/mmoconfig disable --args=mining|Wood_Log

# View your customizations
/mmoconfig diff --args=mining

# Remove a customization (revert to default)
/mmoconfig remove --args=mining|Ore_Diamond_

# Harder early game
/mmoconfig basexp --args=400

# Easier endgame
/mmoconfig scale --args=150

Detailed Guides

  • XP Values Configuration - Customize XP per block, item, and weapon
  • Leveling Formula - Understand and tune the XP curve
  • Anti-Exploit Features - Placed block tracking, entity blacklist
  • Skill Tree - Customize reward tiers, choices, and combat targeting
  • Command Rewards - Customize item rewards at skill milestones
  • Mob Kill XP - Configure per-mob XP values and weapon scaling for kill-only combat mode
  • Mob Drop Commands - Trigger console commands or native item drops on mob kills, gated by chance and delay
  • Quests - Create quests with objectives, prerequisites, and rewards
  • XP Tokens - Configure consumable XP tokens and boost tokens
  • Achievements - Player achievement system with points, meta-chains, and server-first claims
  • Power Level - Multi-pillar power formula for the optional MMO Mob Scaling companion mod

Notification Tuning

Combat can produce a lot of floating notifications - damage numbers, XP gains, crits, defense blocks, combo finishers. Two knobs control the noise level:

  • Notification batching - notificationBatchMs in skill-config.json (100–5000ms, default 1000) aggregates same-type notifications into one combined number.
  • Per-type toggles - players can silence individual notification channels (critical hits, lifesteal, defense blocks, fall damage, combo damage) from the Settings page, while keeping everything else on.

Reference Files

The mods/mmoskilltree/_reference/ folder contains read-only files showing all default values:

  • defaults-xp-maps.json - All default XP values
  • defaults-luck-loot.json - All default luck loot entries
  • defaults-skill-tree.json - All default skill tree tiers and reward choices
  • defaults-command-rewards.json - All default item rewards per skill and level
  • defaults-mob-kill-xp.json - All default mob kill XP values
  • defaults-xp-tokens.json - All default XP token definitions

Hot Reload

Most config changes can be applied without restart:

  • /mmoconfig reload - Reload all configs from files
  • /mmoconfig reloadlang - Reload language files
  • /mmoconfig reloaddefaults - Reset to built-in defaults

Backup & Recovery

  • Configs auto-backup when mod updates (look for *_backup.json)
  • Player data is stored in the world's entity data (ECS components) by default, unless database.json selects a postgres or mysql backend instead - in that case player data lives in that shared database and should be backed up there, not with the world save.
  • Leaderboard cache in leaderboard-cache.json