Cobblemon Servers

Pokémon in Minecraft from scratch: the official modpack or a manual install, giving players the same mods, main.json settings, add-ons, permissions, performance, pre-generation and backups

Minecraft Game Modes

18 min readIntermediateLast updated Oct 31, 2026

Cobblemon adds Pokémon to Minecraft: catching, battling, evolving, trading, Poké Balls crafted from Apricorns, healing machines, PCs, pastures and riding. It's a mod, not a plugin, so it runs on a Fabric or NeoForge server, and every player needs it installed too, at the same version.

By the end of this guide you'll have a Cobblemon server built from the official modpack (or by hand), a pack your players install in one click, tuned spawn and shiny settings, performance mods, permissions with LuckPerms, a pre-generated world, and backups that protect everyone's Pokémon.

Time: about 1 hour, plus an overnight pre-generation.

You need:

  • A Minecraft server on our panel. The modpack install sets the loader and version for you.
  • 6–8 GB of memory for the official pack with up to 10 players; 8–10 GB for bigger packs or 20+ players. Fabric servers
  • Players with the Modrinth App, the CurseForge app or Prism Launcher (all free) to install the pack.
1

Pick the loader and Minecraft version

Cobblemon is published for Fabric and NeoForge, as separate downloads with the same features.

Fabric NeoForge
Required library Fabric API Kotlin for Forge
Performance mods Best selection (Lithium, FerriteCore, and more) Good (ModernFix, FerriteCore)
Pick it if You want the official pack, a light server, or most add-ons You want to combine Cobblemon with NeoForge-only mods (for example big tech or magic mods)

Every player must use the same loader as the server. A Fabric client can't join a NeoForge server, and the other way round.

Cobblemon targets one Minecraft version at a time, and it's often behind the newest Minecraft release. At the time of writing, the Cobblemon 1.8 releases are built for Minecraft 1.21.1. Check the Versions tab on Cobblemon's Modrinth or CurseForge page for the current one, and build the whole server on that Minecraft version. Don't update Minecraft on a Cobblemon server until Cobblemon itself supports the new version.

That Minecraft version needs a matching Java version (Java 21 for 1.21.x). The modpack installer sets it; for a manual install see Versions and Java.

3

Or install by hand

Choose this if you want a minimal server or a hand-picked mod list.

  1. On Startup, set the server to Fabric (or NeoForge) on the Minecraft version Cobblemon supports. Fabric servers, NeoForge servers

  2. Start it once so the folders are created, then stop it.

  3. Open Minecraft Plugins (it lists mods on a modded server, for your exact version and loader) and install:

    | Loader | Install | |---|---| | Fabric | Cobblemon + Fabric API | | NeoForge | Cobblemon + Kotlin for Forge |

    Cobblemon's Fabric download doesn't need a separate Kotlin mod. Install mods

  4. Add performance mods (see step 8).

  5. Start the server and check for the Done line.

With a manual install you must build the players' modpack yourself (see the next step).

4

Give players the same mods

This is the part new Cobblemon owners most often get wrong. A player can only join if they have Cobblemon and every content mod at the same versions as the server, on the same loader. Server-side-only mods (performance mods, Chunky, LuckPerms) don't need to be on their PCs.

If you used the official pack

Tell players exactly which pack and version to install:

  1. Install the Modrinth App (or the CurseForge app, or Prism Launcher).
  2. Search for Cobblemon Official Modpack [Fabric] (or NeoForge).
  3. Install the same version as the server: open the pack's versions list and pick it, rather than "latest", if the pack has updated since.
  4. Launch it, then Multiplayer → Add Server with your server address. Connect

When you update the server's pack, tell players to update theirs at the same time.

If you added mods, or installed by hand

Make your own pack so players get exactly your list:

  1. In the Modrinth App or Prism Launcher, create a new instance with the same Minecraft version and loader.
  2. Add Cobblemon, its library, and every content mod you put on the server (same versions). Add client-side extras you'd like players to have, such as a minimap, Sodium, JEI or EMI.
  3. Export it: the Modrinth App exports a .mrpack; Prism can export Modrinth or CurseForge formats.
  4. Share the file on your Discord or website. Players import it in their launcher.

Keep a simple text list of mods and versions on your Discord too, so players who build their own setup can check.

5

Core settings: server.properties

In Files, open server.properties. server.properties explained

Setting Value Why
online-mode true Checks every player's Microsoft account. Never false on a server players join directly.
white-list + enforce-whitelist true for private servers Only listed friends can join. Add them with whitelist add Name. Players
difficulty normal Cobblemon is fine with hostile mobs on.
view-distance 8 Pokémon models are many entities; keep view distance moderate.
simulation-distance 5 Pokémon spawn and act in simulated chunks; this has a big effect on CPU.
spawn-protection 0 if you use a claims mod, otherwise 16
allow-flight true Flying on ridden Pokémon can otherwise get players kicked for "flying".

Restart after saving.

6

Tune Cobblemon: config/cobblemon/main.json

Cobblemon's settings are in config/cobblemon/main.json, created on first start. Stop the server before editing, because Cobblemon can rewrite the file when it stops. It's JSON: keep the quotes, commas and braces exactly as they are, and change only the values.

Spawning

Key Default Suggested What it does
enableSpawning true true Turns natural Pokémon spawning on or off.
pokemonPerChunk 1.0 1.0; 0.7 on busy servers How many Pokémon are allowed per chunk around players. The main dial for both spawn density and lag.
maximumSpawnsPerPass 8 8; 4–6 on busy servers The most Pokémon spawned in one spawn attempt.
ticksBetweenSpawnAttempts 20.0 20.0; 40.0 on busy servers How often spawning runs (20 ticks = 1 second). Higher means fewer, cheaper attempts.
minimumSpawningZoneDistanceFromPlayer 16.0 default Pokémon don't spawn closer than this to a player.
maximumSpawningZoneDistanceFromPlayer 64.0 default, or 48.0 with low view distance Pokémon don't spawn further than this.
minimumDistanceBetweenEntities 8.0 default Space between new spawns and existing entities.
savePokemonToWorld true true Wild Pokémon are kept when chunks unload.
exportSpawnConfig false true once, if you want to edit spawn rules Writes the full spawn configuration out so you can change individual spawns.

Despawning is controlled by despawnerNearDistance (32), despawnerFarDistance (96), despawnerMinAgeTicks (600) and despawnerMaxAgeTicks (3600). Lowering the far distance and max age clears unwanted wild Pokémon sooner.

Shinies, levels and experience

Key Default What it does
shinyRate 8192.0 Shiny odds are 1 in this number. 4096 is the modern main-series rate; 2048 for a generous server; 0 turns shinies off.
maxPokemonLevel 100 Highest level (1–1000).
experienceMultiplier 2.0 Extra EXP on top of the base formula. Raise it for faster levelling.
experienceShareMultiplier 0.5 EXP given to Pokémon holding an Exp. Share.
luckyEggMultiplier 1.5 EXP bonus for a Lucky Egg.
allowExperienceFromPvP true Whether player-vs-player battles give EXP.
teraTypeRate 20.0 Chance (1 in this) for a wild Pokémon to have an off-type Tera type.

Storage, battles and healing

Key Default What it does
defaultBoxCount 40 PC boxes per player.
storageFormat nbt How party and PC data is saved: nbt, json or mongodb. Leave nbt unless you know you need MongoDB. Don't change it on a live server.
pokemonSaveIntervalSeconds 30 How often party and PC data is saved.
defaultFleeDistance 32.0 How far a player must run to flee a wild battle.
battleWildMaxDistance / battlePvPMaxDistance 12.0 / 32.0 Maximum distance to start a battle.
tradeMaxDistance 12.0 Maximum distance to start a trade.
defaultFaintTimer 300 Seconds before a fainted Pokémon recovers on its own.
infiniteHealerCharge false Healing machines never run out.
defaultPasturedPokemonLimit 16 Pokémon per Pasture block.
pastureMaxPerChunk 4.0 Pastured Pokémon allowed per chunk. Keep it low: pastures are a common lag source.

Start the server and check the console for a JSON error. If Cobblemon can't read the file it says so; fix the line it names. To confirm a value took effect, test it in game (for example, a raised experienceMultiplier shows in battle EXP).

Starters

Players pick a starter the first time they join. To change the list, set exportStarterConfig to true, start the server once, and edit config/cobblemon/starters.json. Set it back to false afterwards.

7

Add-ons

Cobblemon has a large add-on scene. Check every add-on's page for: the Cobblemon version it supports (add-ons often lag behind a Cobblemon update), the loader, and the Environment box, which tells you whether players need it.

Server-side only (players don't need them)

Add-on What it does
Cobblemon Capture XP Gives your team EXP when you catch a Pokémon, like the main games.
Cobblemon: SafePastures Stops pastured Pokémon being hurt, so players can decorate pastures safely.
Cobblemon Spawn Notification Announces shiny and legendary spawns in chat.
Cobblemon Unchained Naturally spawning hidden abilities and boosted odds after repeated KOs or catches.

Some of these need Cobblemon Tim Core as a library; install it if the console asks.

Content add-ons (players need them too)

Add-on What it does
Cobblemon: Mega Showdown Mega Evolution, Z-Moves, Terastallization and Dynamax.
Radical Cobblemon Trainers (+ its API) Over 1,500 NPC trainers to battle across the world.
CobbleDollars Money and merchants built for Cobblemon. A good economy for Fabric servers.
Cobbreeding Breeding before it's in Cobblemon itself.
Cobblemon Fight or Flight Reborn Wild Pokémon flee or attack depending on species.
Cobblemon Raid Dens Raid battles.
Legendary Monuments Special ways to find legendaries and mythicals.
SimpleTMs or TMCraft TMs and TRs.

Add content add-ons to your players' pack at the same time as the server, and back up before you add them: removing a content mod later can delete the items and blocks it added from the world.

Claims and protection

On Fabric and NeoForge, players can protect their bases with Open Parties and Claims (chunk claims and parties, with in-game maps). Players don't need it installed to be protected, but they need it to see and manage claims easily, so add it to the pack.

8

Performance

Cobblemon adds a lot of entities (every wild and sent-out Pokémon is one), so performance mods and sensible spawn settings matter.

Performance mods (Fabric)

The official pack already includes some of these. Add any missing ones from Minecraft Plugins, choosing builds for your exact Minecraft version:

Mod What it does Note
Lithium Optimises game logic without changing behaviour. Safe.
FerriteCore Cuts memory use. Safe.
ModernFix Faster start-up and lower memory with many mods. Safe.
Krypton Lighter networking. Safe.
ScalableLux Faster lighting. Alpha builds on some versions; test first.
C2ME Faster chunk generation using more cores. On Minecraft 1.21.1 only alpha builds exist. Skip it, or use it only during pre-generation on a backed-up server.
spark Profiler. Essential for finding lag.

On NeoForge, ModernFix and FerriteCore are the main ones.

Memory

Server Memory
Cobblemon + Fabric API + performance mods, up to 10 players 4–6 GB
Official modpack, up to 10 players 6–8 GB
Big community packs, or 20+ players 8–12 GB

If the console shows OutOfMemoryError, the server needs a bigger plan, fewer mods or fewer players.

Lower the spawn load on busy servers

Most Cobblemon lag is the number of Pokémon entities. If TPS drops when many players are spread out:

  1. Lower pokemonPerChunk to 0.7, and maximumSpawnsPerPass to 5.
  2. Raise ticksBetweenSpawnAttempts to 40.0.
  3. Lower simulation-distance to 4.
  4. Check pastures: /spark profiler start, wait 5 minutes, /spark profiler stop, and look for PastureBlockEntity or a specific player's base.

Change one thing at a time and measure with /spark tps. Fix lag

Pre-generate the world

Pokémon spawning and new terrain generation at the same time is the heaviest load a Cobblemon server sees. Pre-generate before players arrive. Pre-generate

  1. Install Chunky from Minecraft Plugins (the Fabric or NeoForge mod).

  2. Set a world border and match Chunky to it:

    worldborder center 0 0
    worldborder set 10000
    chunky world minecraft:overworld
    chunky worldborder
    chunky start
    
  3. Then the Nether (chunky world minecraft:the_nether, chunky radius 625, chunky start) and the End.

  4. Run it overnight with nobody online, after a backup. Progress survives restarts; chunky pause and chunky continue work any time.

Restarts

Modded servers slowly use more memory. Schedule a restart every 12–24 hours with a warning. Schedules

9

Permissions with LuckPerms (Fabric)

Without a permissions mod, Cobblemon's commands follow Minecraft's op levels: most admin commands need op level 2. Install LuckPerms (Fabric) from Minecraft Plugins to give exact permissions instead. On Fabric, LuckPerms needs Fabric API, which you already have. LuckPerms also exists for NeoForge.

Cobblemon's permission nodes are cobblemon.command.<name>. Useful ones:

Node Command Default
cobblemon.command.pc /pc opens your PC from anywhere op level 2
cobblemon.command.healpokemon.self Heal your own party op level 2
cobblemon.command.healpokemon.other Heal someone else's party op level 2
cobblemon.command.givepokemon.self / .other Give a Pokémon op level 2
cobblemon.command.spawnpokemon Spawn a wild Pokémon op level 2
cobblemon.command.pokemonedit.self / .other Edit a Pokémon op level 2
cobblemon.command.levelup.self / .other Level up a Pokémon op level 2
cobblemon.command.stopbattle Stop a stuck battle op level 2
cobblemon.command.takepokemon Take a Pokémon from a player op level 2
cobblemon.command.openstarterscreen Re-open the starter screen for a player op level 2

Set up groups in the Console:

lp group default permission set cobblemon.command.pc true
lp creategroup helper
lp group helper permission set cobblemon.command.healpokemon.other true
lp group helper permission set cobblemon.command.stopbattle true
lp group helper permission set cobblemon.command.openstarterscreen true
lp user HelperName parent add helper
lp creategroup admin
lp group admin permission set cobblemon.* true
lp group admin permission set luckperms.* true
lp user YourName parent add admin

Giving everyone /pc is a popular quality-of-life choice; leave it out if you want players to walk to PC blocks. Helpers with stopbattle can rescue players stuck in a glitched battle. Use tab-complete in game to see every Cobblemon command available to you.

Check it worked: join as a normal player and run /pc. It should open (if you gave the node). /lp user Name permission check cobblemon.command.pc shows where a permission comes from.

To share LuckPerms between several servers, store it in a database. Databases

10

Backups

Players care about their Pokémon more than anything else on the server. Losing a shiny hunt is how communities end.

Where the data is: Cobblemon saves every player's party and PC inside the world folder (with the default nbt storage), alongside normal player data. A backup of the world folder protects them. If you switched to mongodb, the data is in that database instead and is not in panel backups.

Schedule it on Schedules: Backup schedules

Schedule Cron (UTC) Tasks
Backup every 6 hours 0 */6 * * * Send Command → save-all; Create Backup with offset 15, ignoring logs, crash-reports
Daily restart 0 9 * * * say Restart in 5 minutes → say Restart in 1 minute (offset 240) → Restart (offset 60)

Cobblemon saves party and PC data every pokemonSaveIntervalSeconds (30 seconds), so a backup right after save-all has everything.

Before every update of Cobblemon, the modpack, or any content add-on: make a manual backup and lock it. Updates can change data formats, and a locked backup is the only way back.

11

Updating Cobblemon and the pack

  1. Read the Cobblemon changelog (and the pack's). Look for "breaking" changes or world-data notes.
  2. Check every add-on you use has a version for the new Cobblemon. If one doesn't, wait, or plan to remove it.
  3. Lock a backup.
  4. Update the server: on Modpacks, install the new pack version (this replaces the mods), or update each mod on Minecraft Plugins. Your config folder and world stay, but check your main.json changes survived.
  5. Start and watch the console.
  6. Join with an updated client, check your party and PC are intact.
  7. Tell players the new pack version, and when they must update.
12

Running the server long-term

  • Events: shiny-rate weekends (lower shinyRate for a weekend, restart, announce), legendary hunts, gym battles run by staff or with Radical Cobblemon Trainers.
  • Economy: CobbleDollars merchants, or a player-run market.
  • Rules: what's allowed with Pokémon in PvP, whether trading for real money is banned (it should be), and claim etiquette.
  • Seasons: new worlds on a big Cobblemon update are common, but players' Pokémon live in the world. If you reset, say clearly whether parties and PCs carry over (normally they don't) well in advance.

Common problems

Problem Cause and fix
Players can't join: mod mismatch, registry mismatch, missing mods Different Cobblemon or add-on versions, or a content mod missing on one side. Share the exact pack and version.
Incompatible FML modloader or can't connect at all Player is on the wrong loader (Fabric vs NeoForge) or wrong Minecraft version.
Crash on start mentioning Kotlin NeoForge: Kotlin for Forge missing or the wrong version. Fabric: Fabric API missing.
Crash mentioning net.minecraft.client A client-only mod is on the server. Delete the jar the crash report names.
Crash after adding an add-on It's for a different Cobblemon or Minecraft version. Remove it and check its versions list.
main.json changes didn't apply The server was running while you edited (it rewrote the file), or the JSON is broken. Stop the server, edit, start, check the console.
No Pokémon spawning enableSpawning is false, pokemonPerChunk is 0, or a mob-cap or spawn mod is interfering.
Far too many Pokémon, lag Lower pokemonPerChunk and maximumSpawnsPerPass; raise ticksBetweenSpawnAttempts; lower simulation distance.
Lag near one base Pastures or farms. Profile with spark; lower pastureMaxPerChunk.
Lag when exploring New terrain generating. Pre-generate with Chunky and set a border.
/pc says no permission Give cobblemon.command.pc, or the player needs op level 2.
A player is stuck in a battle A staff member with cobblemon.command.stopbattle ends it.
Pokémon missing after a restore The world came from an older backup, or data is in MongoDB (not in panel backups).
OutOfMemoryError Not enough memory for the pack. Use a bigger plan or fewer mods.

Launch checklist

  • [ ] Loader and Minecraft version match Cobblemon's current release.
  • [ ] Server installed from the official pack (version noted) or by hand with Fabric API / Kotlin for Forge.
  • [ ] No client-only mods on the server; clean start with Done in the console.
  • [ ] Players' pack ready: same pack and version, or your own exported pack, with install steps posted.
  • [ ] main.json tuned: spawn density, shiny rate, EXP; tested in game.
  • [ ] Add-ons checked for the right Cobblemon version; content add-ons in the players' pack.
  • [ ] Performance mods installed; TPS steady with a few players spread out.
  • [ ] World border set and world pre-generated.
  • [ ] LuckPerms groups for players, helpers and admins.
  • [ ] Whitelist on (private server) or online-mode=true (always).
  • [ ] Backups every 6 hours, daily restart, a locked pre-launch backup.

Going further

  • Fabric servers: loader setup and client-only mods in depth.
  • Install mods and modpacks: the Modpacks page and fixing mod errors.
  • Voice chat: proximity voice for a more social server.
  • Cobblemon's wiki (wiki.cobblemon.com) for spawn configs, datapacks and every command.