DGuard

Multiple worlds on one server: Multiverse-Core

A vanilla server runs one world from level-name, along with its Nether and End. The Multiverse-Core plugin adds as many worlds as you like to the same Paper server: a spawn, a creative world, an arena, a resource world. Here are the commands, world types and generators, separate inventories, and the signs that you need a separate server behind Velocity instead of another world.

The DGuard team8 min read

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

console or chat (with a slash)
/mv create creative normal --world-type flat
/mv create resources normal --seed 12345 --no-structures
/mv create arena_nether nether
/mv list

The first two arguments are required: the world name and the environment — normal (an overworld), nether or the_end. Flags set the rest:

FlagWhat 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-structuresNo villages, strongholds or other structures
--generate-bonus-chestA bonus chest at spawn
From the Multiverse-Core documentation

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 as minecraft:the_nether or myserver:spawn for the folder world/dimensions/myserver/spawn/.

Teleporting and managing worlds

CommandWhat it does
/mv tp creativeTake yourself to the creative world
/mv tp Steve creativeSend another player
/mv setspawnMake the spot you stand on the world's spawn
/mv spawnGo back to the current world's spawn
/mv info creativeThe world's properties
/mv modify creative set gamemode creativeChange a property: game mode, difficulty (difficulty), hunger (hunger), flight (allow-flight), player limit (player-limit), display name (alias)
/mv unload creativeUnload the world from memory without deleting files
/mv delete creativeDelete 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

TypeWhat you get
normalA standard world with hills, valleys and water
flatA flat world with no terrain; --generator-settings sets the layers
large_biomesLike normal, but with larger biomes
amplifiedLike normal, but with a raised world-generation height
Descriptions from the Minecraft Wiki (server.properties, level-type)

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.

a survival group and a separate creative world
/mv list --raw
/mvinv create-group smpgroup smp,smp_nether,smp_the_end all
/mvinv info default

On 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 serverA separate server behind Velocity
PluginsShared by every worldIts own set on each server
LoadOne main thread for all worldsEach server is its own process, possibly on another machine
Crashes and restartsHit every world at onceHit one game mode
InventoriesNeeds Multiverse-InventoriesEach server keeps its own player data
SetupOne pluginA 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

All sections

Run the best anticheat for modern Minecraft

DGuard catches all 47 kinds of cheats in our comparison — the closest rival, Intave, has 27. Full protection on every plan, free up to 30 players online.