Minecraft Game Modes
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.
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.
Install with the official modpack (recommended)
The Cobblemon team publishes official modpacks: Cobblemon Official Modpack [Fabric] and Cobblemon Official Modpack [NeoForge], on Modrinth and CurseForge. They include Cobblemon, its library, performance mods and a set of quality-of-life mods (recipe viewer, minimap, world map), so players get a polished game with one install.
- Open your server and choose Modpacks.
- Choose the Modrinth (or CurseForge) source and search for
Cobblemon Official. - Choose Install on Cobblemon Official Modpack [Fabric] (or NeoForge) and pick the newest version. Write the version number down; players need the same one.
- The panel downloads the server files, sets the loader and Minecraft version, and starts the server.
- Watch the Console. The first start takes a few minutes. It's ready when you see
Done (...)! For help, type "help".
Check it worked
In the console:
list
It should answer with the player count. Then look in Files → mods: you should see a cobblemon jar and fabric-api (Fabric) or kotlinforforge (NeoForge).
Other Cobblemon packs
Larger community packs (for example COBBLEVERSE or Stellar Cobblemon) add dozens of Cobblemon add-ons: trainers, gyms, legendaries, raids, new structures. They're more content but need more memory (often 8–10 GB) and are harder to customise. The install steps are the same. Read the pack's page for its recommended memory and any server notes.
Or install by hand
Choose this if you want a minimal server or a hand-picked mod list.
On Startup, set the server to Fabric (or NeoForge) on the Minecraft version Cobblemon supports. Fabric servers, NeoForge servers
Start it once so the folders are created, then stop it.
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
Add performance mods (see step 8).
Start the server and check for the
Doneline.
With a manual install you must build the players' modpack yourself (see the next step).
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:
- Install the Modrinth App (or the CurseForge app, or Prism Launcher).
- Search for Cobblemon Official Modpack [Fabric] (or NeoForge).
- 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.
- 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:
- In the Modrinth App or Prism Launcher, create a new instance with the same Minecraft version and loader.
- 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.
- Export it: the Modrinth App exports a
.mrpack; Prism can export Modrinth or CurseForge formats. - 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.
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.
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.
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.
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:
- Lower
pokemonPerChunkto0.7, andmaximumSpawnsPerPassto5. - Raise
ticksBetweenSpawnAttemptsto40.0. - Lower
simulation-distanceto4. - Check pastures:
/spark profiler start, wait 5 minutes,/spark profiler stop, and look forPastureBlockEntityor 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
Install Chunky from Minecraft Plugins (the Fabric or NeoForge mod).
Set a world border and match Chunky to it:
worldborder center 0 0 worldborder set 10000 chunky world minecraft:overworld chunky worldborder chunky startThen the Nether (
chunky world minecraft:the_nether,chunky radius 625,chunky start) and the End.Run it overnight with nobody online, after a backup. Progress survives restarts;
chunky pauseandchunky continuework any time.
Restarts
Modded servers slowly use more memory. Schedule a restart every 12–24 hours with a warning. Schedules
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
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.
Updating Cobblemon and the pack
- Read the Cobblemon changelog (and the pack's). Look for "breaking" changes or world-data notes.
- Check every add-on you use has a version for the new Cobblemon. If one doesn't, wait, or plan to remove it.
- Lock a backup.
- Update the server: on Modpacks, install the new pack version (this replaces the mods), or update each mod on Minecraft Plugins. Your
configfolder and world stay, but check yourmain.jsonchanges survived. - Start and watch the console.
- Join with an updated client, check your party and PC are intact.
- Tell players the new pack version, and when they must update.
Running the server long-term
- Events: shiny-rate weekends (lower
shinyRatefor 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
Donein the console. - [ ] Players' pack ready: same pack and version, or your own exported pack, with install steps posted.
- [ ]
main.jsontuned: 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.

