In short: install Multiverse-Core, create a world with /mv create creative normal --world-type flat and go there with /mv tp creative. To keep creative items out of survival, add Multiverse-Inventories. Keep in mind that all worlds of one server share its plugins and one main thread: a game mode with its own plugins or a heavy load is better off as a separate server behind a proxy.
Why a server needs several worlds
- A spawn apart from survival. A small, built world nobody griefs or digs up, from which players head out into the big world.
- Creative and building. A flat world for builds and tests, with another game mode and its own inventories.
- A resource world. You can regenerate it (
/mv regen) without touching the main world and players' builds. - Arenas and events. A world with its own difficulty, game rules and spawn.
Installing Multiverse-Core
Multiverse-Core is a free, open-source plugin (BSD-3-Clause license). The current line is Multiverse 5: on Modrinth, recent versions target 1.21.11 and 26.x on Paper, Spigot and Purpur. Folia isn't among its platforms. Download the jar, drop it into plugins/ and restart the server — see how to install a plugin. /mv list shows the worlds Multiverse already knows about.
Most Multiverse commands work from the console. Each command has its own permission — multiverse.core.create, multiverse.core.import, multiverse.core.delete and so on. Grant them through a permissions plugin such as LuckPerms, not through OP.
Creating a new world
/mv create creative normal --world-type flat
/mv create resources normal --seed 12345 --no-structures
/mv create arena_nether nether
/mv listThe first two arguments are required: the world name and the environment — normal (an overworld), nether or the_end. Flags set the rest:
| Flag | What it sets |
|---|---|
--seed <seed> | The generation seed; random without the flag |
--world-type <type> | normal, flat, large_biomes or amplified. Only applies to the normal environment |
--generator <plugin> | A generator from another plugin, sometimes with an id after a colon |
--generator-settings <json> | Layers and biome of a flat world |
--biome <provider> | One biome for the whole world, e.g. @single:desert |
--no-structures | No villages, strongholds or other structures |
--generate-bonus-chest | A bonus chest at spawn |
Importing an existing world
To add a downloaded map or a world from another server, put its folder on the server and run /mv import <name> <environment>. The world must be saved by the same Minecraft version as the server. Don't rename the folder — give the world a display name with the alias property instead.
- Paper 1.21.x and older: the world folder sits in the server root, and the command takes its name:
/mv import spawn normal. - Paper 26.1 and newer: worlds live in
<level-name>/dimensions/<namespace>/<key>/, and the command takes the namespaced key, such asminecraft:the_netherormyserver:spawnfor the folderworld/dimensions/myserver/spawn/.
Teleporting and managing worlds
| Command | What it does |
|---|---|
/mv tp creative | Take yourself to the creative world |
/mv tp Steve creative | Send another player |
/mv setspawn | Make the spot you stand on the world's spawn |
/mv spawn | Go back to the current world's spawn |
/mv info creative | The world's properties |
/mv modify creative set gamemode creative | Change a property: game mode, difficulty (difficulty), hunger (hunger), flight (allow-flight), player limit (player-limit), display name (alias) |
/mv unload creative | Unload the world from memory without deleting files |
/mv delete creative | Delete the world and its folder — confirmed with /mv confirm |
On Paper every world has its own game rules: Multiverse changes them with /mv gamerule, and the rules themselves are covered in game rules. Nether and End portals for new worlds are linked by the Multiverse-NetherPortals add-on, which pairs names like world ↔ world_nether automatically.
World types and generators
| Type | What you get |
|---|---|
normal | A standard world with hills, valleys and water |
flat | A flat world with no terrain; --generator-settings sets the layers |
large_biomes | Like normal, but with larger biomes |
amplified | Like normal, but with a raised world-generation height |
Generator plugins do the rest. The Multiverse docs list open-source generators that work with it: Terra (worlds built to your own spec without Java), TerraformGenerator (an enhanced vanilla feel), VoidGen (an empty world) and CleanroomGenerator (a flat world for building). Put the generator in plugins/, check that Multiverse sees it with /mv generators, and pass its name to --generator. An empty world also works without plugins: a flat world with the the_void biome and a single layer of air.
A new world is generated on the fly as players explore it, and that loads the server. Give it a world border and pre-generate it — see world pre-generation.
Separate inventories per world
To stop the creative world from becoming a free item store for survival, you need Multiverse-Inventories, an add-on to Multiverse-Core. Worlds are put into groups, and inside a group players share what you choose: inventory, ender chest, experience, health, hunger, potion effects. Worlds outside any group get their own inventories.
/mv list --raw
/mvinv create-group smpgroup smp,smp_nether,smp_the_end all
/mvinv info defaultOn install the plugin creates a default group of the server's standard worlds that share everything. Add a new world that should share the main inventory to it: /mvinv add-worlds default <world>. The docs advise making a backup and setting up groups before players enter those worlds — otherwise existing player data may be overwritten.
Another world or a separate server
Multiverse-Inventories advertises multi-gamemode servers "without Velocity or Bungee". But worlds on one server share its resources: Paper ticks every chunk of every world on one main thread, so lag in one world is felt by players in all the others.
| Another world on the server | A separate server behind Velocity | |
|---|---|---|
| Plugins | Shared by every world | Its own set on each server |
| Load | One main thread for all worlds | Each server is its own process, possibly on another machine |
| Crashes and restarts | Hit every world at once | Hit one game mode |
| Inventories | Needs Multiverse-Inventories | Each server keeps its own player data |
| Setup | One plugin | A proxy, player-info forwarding, a firewall |
The rule of thumb: a spawn, a creative world, a resource world and a small arena live happily as worlds of one server. A separate game mode with its own plugins, economy and player base — say, minigames next to survival — is better moved to its own server. How such a network works is in Minecraft server network; step-by-step setup is in setting up Velocity.
One anticheat for every world
An anticheat is a plugin of the server, not of a world: it sees players wherever Multiverse sends them. DGuard — the best anticheat for a modern Minecraft server — is installed once per server and checks combat, movement, packets, inventory, building and world actions in every world at once: KillAura in the arena, Nuker in the resource world, Fly at spawn. In the panel it's one server with one key, and the plan depends on online players and the number of servers, not worlds — see pricing.
If a game mode moves to its own server behind Velocity, DGuard goes there too, with its own key. DGuard runs on Paper and Leaf 1.21–26.3; like Multiverse, it doesn't support Folia.
FAQ
How do I add a second world to a Minecraft server?
Install the Multiverse-Core plugin and run /mv create <name> normal. Add --world-type flat for a flat world, or use the nether or the_end environment for a Nether or End.
How do I go to another world on a server?
With /mv tp <world>; for another player, /mv tp <player> <world>. /mv list shows the worlds.
How do I give each world its own inventory?
With Multiverse-Inventories: group worlds with /mvinv create-group and pick what players share inside the group. Worlds outside any group get their own inventories.
Does each world need its own anticheat?
No. An anticheat plugin checks players in every world of its server. A separate install and key are only needed for a separate server, such as a game mode behind Velocity.
Sources
- Multiverse-Core on Modrinth
- Multiverse: basic usage (create, import, tp, delete)
- Multiverse: commands and permissions
- Multiverse: world properties
- Multiverse: customising world creation
- Multiverse: custom generator plugins
- Multiverse-Inventories: world groups
- Multiverse-NetherPortals
- Minecraft Wiki: server.properties (level-name, level-type)
- Folia: README (Paper as one region for all worlds)
- DGuard, the best anticheat for a modern Minecraft server: checks compared with GrimAC, Vulcan, Polar, Intave and Matrix
- DGuard: installation, requirements and troubleshooting
- DGuard: supported Paper and Leaf versions