mcMMO: RPG Skills and Leveling on Your Minecraft Server

mcMMO: RPG Skills and Leveling on Your Minecraft Server

mcMMO adds 14 leveled skills, super abilities, and a global power level system to vanilla Minecraft. Here is how to install it, what to tweak in the configs, how to set up parties, and how to keep it from clashing with your anti-cheat.

What mcMMO Is and Why It Has Survived 14 Years

mcMMO showed up back in 2010 and has been the de-facto RPG plugin for Paper and Spigot ever since. The idea is simple: every regular action in the game levels a skill. Mine stone, Mining grows. Chop trees, Woodcutting grows. Hit mobs with a sword, Swords grows. Once a skill hits certain thresholds, it unlocks passive bonuses (double drops, crit chance) and super abilities you trigger by right-clicking with the right tool.

In 2026 there are three relevant branches: mcMMO Classic (free GitHub fork, supports Spigot 1.13+), mcMMO paid on SpigotMC by nossr50 (newer, actively maintained), and third-party forks like mcMMO++. In practice 80% of servers run either Classic or the paid build on 1.20-1.21.

This guide covers installation, the key config files (experience.yml, skillranks.yml, advanced.yml), commands, the party system, super abilities, and balancing. Everything tested against modern Paper 1.21 and real-world issues at 100+ concurrent players.

The 14 Core Skills and What They Level Through

Each skill levels through a specific action. By default they go from 0 to 1000, and every level adds to your Power Level (the sum of every skill).

Full list:

  • Mining - mining ore and stone with a pickaxe
  • Woodcutting - chopping trees with an axe (super: Tree Feller, drops the whole tree at once)
  • Excavation - digging dirt, sand, gravel with a shovel
  • Herbalism - harvesting wheat, carrots, flowers
  • Fishing - fishing, treasures unlock at higher levels
  • Swords - hitting mobs and players with a sword
  • Axes - hitting with an axe (super: Skull Splitter, AoE damage)
  • Unarmed - bare-handed attacks (super: Berserk, breaks blocks with fists)
  • Archery - bow shots, ranged damage
  • Acrobatics - falls and dodging (passive)
  • Taming - taming wolves and ocelots, pet bonuses
  • Repair - repairing items at an anvil
  • Salvage - breaking items down to materials (separate skill in newer builds)
  • Alchemy - faster brewing and unlocking new potions

Short version: first five are gathering, next four are combat, the rest are utility. On most servers people grind Mining and Combat, the rest comes along for the ride.

Installing on Paper and Spigot

Grab the jar from official SpigotMC (paid version) or mcMMO Classic from GitHub. Drop it into plugins/, restart, and the plugin creates plugins/mcMMO/ with all configs and the data store.

Minimum requirements: Java 17+, Paper or Spigot 1.20.1 and up. On Folia the base mcMMO does not work because it uses synchronous Bukkit schedulers. Folia-compatible forks exist on GitHub but lag behind feature-wise.

Quick check after start:

/mcmmo
/mmoinfo Mining

First command prints version and status, the second shows what Mining levels through. If both work, move on to configs.

experience.yml: How Much XP Per Action

The main balancing file. Out of the box mcMMO is fairly generous, and players hit the cap quickly. On my servers I usually cut the base by 1.5x to 2x so leveling stretches across hundreds of hours instead of one weekend.

Structure of experience.yml:

Experience:
  Mining:
    Stone: 30
    Coal_Ore: 100
    Iron_Ore: 250
    Diamond_Ore: 750
    Deepslate_Diamond_Ore: 800
    Ancient_Debris: 1200
  Woodcutting:
    Oak_Log: 70
    Dark_Oak_Log: 90
    Mangrove_Log: 95
  Combat:
    Multiplier:
      Animals: 1.0
      Zombie: 2.0
      Skeleton: 2.5
      Ender_Dragon: 8.0

For a global XP multiplier, edit config.yml:

Experience_Formula:
  Multiplier:
    Global: 1.0
  Curve: EXPONENTIAL
  Exponential_Values:
    multiplier: 0.1
    base: 2000
    exponent: 1.05

Global: 0.5 halves all XP gains. On a busy 200-player server where you want progression to last six months or more, drop it to 0.3-0.4. On a 10-player private server keep it at 1.0 or push higher.

skillranks.yml: When Abilities Unlock

Every passive and super ability is tied to ranks. By default rank I unlocks at level 100, rank II at 200, all the way to rank VIII at 800. On smaller servers that takes too long. Edit skillranks.yml:

Mining:
  Double_Drops:
    Standard:
      Rank_1: 50
      Rank_2: 150
      Rank_3: 300
      Rank_4: 500
      Rank_5: 750
      Rank_6: 1000
  Super_Breaker:
    Standard:
      Rank_1: 100
      Rank_2: 250
      Rank_3: 500

Reload after editing: /mcmmo reload. Players keep their levels but gain access to new ranks based on the updated thresholds.

Super Abilities: How They Work

Super abilities are temporary boosts triggered by right-clicking with the matching tool, when the player has the skill level and the mcmmo.ability.<skill> permission. Each has its own cooldown (240 seconds by default).

What they do:

  • Super Breaker (Mining, pickaxe) - 4x ore mining speed with guaranteed double drops
  • Tree Feller (Woodcutting, axe) - drops a whole tree in one click
  • Giga Drill Breaker (Excavation, shovel) - 4x dig speed plus double drops
  • Berserk (Unarmed, fists) - breaks leaves and webs with fists, +50% damage
  • Skull Splitter (Axes, axe) - AoE damage on hit
  • Serrated Strikes (Swords, sword) - bleed in an area
  • Blast Mining (Mining, dynamite) - empowered TNT explosions
  • Green Terra (Herbalism, hoe) - triple drops from plants

Edit ability duration and cooldown in advanced.yml:

Skills:
  Mining:
    SuperBreaker:
      Length:
        IncreaseLevel: 50
      Cooldown:
        Standard: 240

Player and Admin Commands

Core player commands:

  • /mcstats - your full skill table and Power Level
  • /mctop <skill> - top 10 in a chosen skill
  • /mctop power - top by total Power Level
  • /mcrank - your rank in each skill
  • /inspect <player> - view another player's stats
  • /mcability - toggle super-ability activation (right-click)
  • /skillreset <skill> - reset a single skill (permission required)

Admin:

  • /mmoedit <player> <skill> <level> - set a level directly
  • /addxp <player> <skill> <amount> - grant XP
  • /mcmmo reload - reload all configs
  • /mmodebug - debug mode, shows what's being calculated for the player
  • /mcconvert database <yaml|sql> - migrate flatfile to MySQL or back

Permissions go through LuckPerms or another permissions plugin. Baseline for the default group:

/lp group default permission set mcmmo.commands.mcstats true
/lp group default permission set mcmmo.commands.mctop true
/lp group default permission set mcmmo.commands.party true
/lp group default permission set mcmmo.ability.* true

Party System: Group Leveling

mcMMO ships with built-in groups. Create a party, invite friends, and while you are nearby (75 blocks default) some XP is shared between members. Useful for co-op grinding and group PvP.

Party commands:

/party create <name> [password]   # create a party
/party invite <player>            # invite
/party accept                     # accept
/party kick <player>              # kick
/party leave                      # leave
/party chat                       # toggle party chat
/p <message>                      # send to party chat
/party share xp on                # share XP
/party share item on              # share drops

A note on share: with share xp on, each member gets a reduced cut, not the full amount. Sharing only fires when everyone is in range. Range is set in config.yml:

Party:
  Sharing:
    Range: 75
    ExpShare:
      enabled: true
    ItemShare:
      enabled: true

Storage: Flatfile or MySQL

By default mcMMO writes player data to plugins/mcMMO/flatfileStuff/mcmmo.users (one big file). Fine for small servers, but at 100+ concurrent players the file takes seconds to load and stalls saves.

When to switch to MySQL or MariaDB:

  • consistently above 50 concurrent players
  • the data file grows past 50 MB (thousands of accounts)
  • a network of servers with BungeeCord or Velocity sharing progression
  • visible lag on /mcstats or player join

MySQL config in config.yml:

MySQL:
  Enabled: true
  Database:
    Host: 127.0.0.1
    Port: 3306
    Name: mcmmo
    Username: mcmmo_user
    Password: "***"
    TablePrefix: "mcmmo_"
  MaxConnections:
    Normal: 30
    Misc: 5

After enabling MySQL, run /mcconvert database sql and the plugin moves everything from flatfile to the database. Back up mcmmo.users before the migration.

Anti-Cheat Compatibility

This is where it gets messy. Super abilities like Acrobatics dodge and Berserk trigger typical anti-cheat checks for vertical movement and reach. Matrix, Vulcan, NoCheatPlus all complain by default about dodge spins and fist hits on blocks.

What to do:

  1. Add mcMMO to anti-cheat exceptions: in NCP that is compatibility-mcmmo: true in config.yml, in Vulcan there is a dedicated mcMMOSupport module
  2. Grant nocheatplus.checks.fight.fastheal and similar permissions to players with high Acrobatics
  3. Re-test after every major anti-cheat update because rules change often

If your anti-cheat flags high-mcMMO-level players for no obvious reason, look at KillAura or Velocity modules. Check anti-cheat logs for [mcMMO] entries and disable the offending module temporarily.

Performance on Bigger Servers

mcMMO is light on average: most operations are counter increments and level checks. But three spots actually lag a 200+ player server:

  1. Tree Feller on huge trees (especially Dark Oak) drops 50-200 blocks at once and can stall TPS for 2-3 seconds. In advanced.yml lower MaximumBlocksBroken to 100-150
  2. /mctop queries against the DB can take a second when you have thousands of players. Use the Paper flag paper.global-config.misc.lag-compensate-block-breaking: true
  3. Flatfile saves with 1000+ players and a 100 MB mcmmo.users cause autosave hitches. Solution: MySQL.

Short version: under 50 players, do not worry about it. Up to 200, tweak advanced.yml. Above that, MySQL plus tuning.

FAQ

Does mcMMO work on Folia?

The base version does not, because it uses synchronous Bukkit scheduler calls. Folia-compatible forks exist (search mcMMO Folia on GitHub) but they trail behind in features and may miss newer skills. If you are on Folia, double-check whether you actually need mcMMO or a lighter RPG plugin will do.

How do I reset every player's levels?

/mcconvert database is not for that. To reset everyone, stop the server, delete flatfileStuff/mcmmo.users (or drop the MySQL tables mcmmo_users, mcmmo_skills, mcmmo_experience), and start again. Players begin at level 0. Back up first. For a single player use /skillreset <player> all.

mcMMO vs Heroes vs RPGSkills - which should I pick?

mcMMO is simple, installs in five minutes, skills tied to vanilla actions. Heroes is heavier, with classes and spells instead of abstract skills, requires writing skill configs. RPGSkills (or AuraSkills, its successor) is in the middle and supports custom skills via GUI. If you want to launch an RPG server quickly without overthinking it, mcMMO is the best pick.

Can I disable a single skill?

Yes. In config.yml:

Skills:
  Acrobatics:
    Enabled: false
  Alchemy:
    Enabled: false

After /mcmmo reload the skill disappears from /mcstats. Existing levels stay in the database and come back if you re-enable it.

How do I set up an XP bonus for a VIP group?

Through permissions. mcMMO has nodes like mcmmo.bypass.cooldown and mcmmo.<skill>.xpgain, but a real multiplier is easier via mcmmo.commands.addxp and a custom wrapper, or through MultiBoost or another booster plugin. There is no direct vip.xp.multiplier in mcMMO core.

Can I add a custom skill?

Out of the box, no. Three options: write an addon against the mcMMO API (Java and Bukkit knowledge needed), fork the source and patch it in, or use a plugin like AuraSkills that is built around YAML-defined custom skills.

What's Next

After installation and basic config, I usually do three things. First, drop the global XP multiplier to 0.5 so leveling stays interesting instead of finishing in a week. Second, put top commands somewhere visible (/mctop via scoreboard or a wrapper plugin), it really motivates players. Third, test every super ability with the anti-cheat enabled, because debugging it after the first complaint is much harder.

And remember: mcMMO shines when paired with economy and events. Pure leveling for its own sake gets boring. Leveling tied to perks or income gives players a goal.


Protect Your Server from DDoS Attacks

Free protection with 5-minute setup. 1 TB bandwidth included.

Try for Free


Related Articles