Skip to content

Multiverse: Running Several Worlds on One Minecraft Server

Run several Minecraft worlds on one server with Multiverse: create and import worlds, per-world gamerules and inventories, portals and teleport permissions.

Updated August 19, 2026
Minecraft

A vanilla Minecraft server has one world plus its Nether and End, and no way to add a second. Every "resource world that resets monthly", "creative plot world", "minigame arena" and "hub you spawn into" is the same plugin doing the work: Multiverse.

Multiverse creates, imports, loads and unloads worlds at runtime, gives each one its own game mode, difficulty, PvP setting and game rules, and teleports players between them. Its add-ons then handle the two things people always ask for next — separate inventories per world, and portals that go anywhere.

This is a different problem from running several servers behind one address. If your worlds share a player list, an economy and a plugin set, they belong on one server with Multiverse. If they need different server jars, different mod sets or genuinely different performance profiles, they want to be separate servers behind a proxy — see Minecraft Server Networks: Setting Up a Velocity Proxy. The single-world side of world handling — seeds, pre-generation, borders, resets and uploads — is in Minecraft World Management.

What to Install

Multiverse is a family. The core plugin is required; the add-ons are optional and each does one job.

Plugin What it does Current version
Multiverse-Core Creating, importing, loading and unloading worlds; per-world settings; teleporting 5.8.0
Multiverse-Inventories Separate or shared inventories, health, hunger and XP per world group 5.3.5
Multiverse-Portals Player-built portals of any shape, to any destination 5.2.3
Multiverse-NetherPortals Vanilla-style Nether and End portals linking across your own worlds 5.1.0
Multiverse-SignPortals Signs as teleporters 5.0.4

Versions checked 19 August 2026. All five support Minecraft 26.2 and run on Bukkit, Spigot, Paper and Purpur.

Keep the whole family on the same major version

Every add-on depends on Multiverse-Core, and the project's own requirement is that all sub-modules must be of the same major version. Mixing a version 5 Core with a version 4 add-on is not supported. Multiverse 5 itself requires Minecraft 1.18 or newer, and you cannot downgrade back to version 4 once you have run it.

Installation is genuinely just "drop the jars in plugins/ and start the server" — Multiverse writes its own configs on first run, and there is no zip to unpack. See How to install plugins for Minecraft Java Edition. A permissions plugin is strongly recommended; the project names LuckPerms specifically, covered in How to Set Up LuckPerms Permissions for Minecraft.

Creating a World

/mv create build normal
/mv tp build
/mv setspawn
A creative world called 'build'

/mv create <name> <environment> is the whole thing. Environment must be normal, nether or the_end. Creation runs for a few seconds and reports progress in the console.

The useful flags:

Flag Effect
--seed <seed> Generate from a specific seed
--world-type <type> normal, flat, amplified or large_biomes
--generator <name[:id]> Use a custom terrain generator from another plugin
--biome <provider[:id]> Single-biome or custom biome provider — --biome @single:plains
--no-structures No villages, temples, strongholds or other structures
--generator-settings <json> Superflat layer definition
--no-adjust-spawn Stop Multiverse relocating the spawn to a safe block
--generate-bonus-chest Bonus chest at spawn. Needs Paper 1.21.5+
--force-spawn-position <x,y,z> Pick the spawn yourself. Needs Paper 26.1+

Multiverse does not generate the terrain itself

It calls the Bukkit API and lets the server do the work. That matters when things go wrong: if another plugin is also creating worlds, or the server software behaves unusually, Multiverse can only do its best to steer the result. It is also why a world's environment and generator must be stated correctly on import — Multiverse cannot infer them.

Importing a World You Already Have

If the world folder is already on the server — a singleplayer save you uploaded, a map you downloaded, a world from an old host — you import it rather than creating it.

/mv import my_world normal
/mv import my_hell nether
Import an existing folder

You must give the correct environment, and the correct generator if one was used. Multiverse's documentation is blunt about this: get it wrong and bad things happen to your world.

What counts as the "world name" changed in Paper 26.1

On Spigot and older Paper, pass the folder name as it appears in the server root — my_world. On Paper 26.1 and later, worlds live under <level-name>/dimensions/<namespace>/<key>/, and you pass the namespaced key instead — minecraft:the_nether, or myplugin:pvp_arena. Following an older guide on a current Paper server will fail to find the world. The 26.1 save-format change is covered in Minecraft World Management.

Two rules that save real pain:

  • The world must have been generated on the same Minecraft version as the server. A save last opened on a newer client will not import cleanly.
  • Do not rename the world folder to get a nicer name. Set an alias instead: /mv modify my_world set alias "&aFern World". Aliases can carry colour codes and show up in /mv list, /mv who and chat plugins.

Per-World Settings

Every world gets its own settings, changed live with /mv modify [world] set <property> <value>. They are stored in worlds.yml, which you normally should not edit by hand.

/mv modify build set gamemode creative
/mv modify build set difficulty peaceful
/mv modify build set pvp false
/mv modify build set allow-flight true
A peaceful creative world
Property What it controls
alias Display name, with colour and style codes
gamemode Forced game mode on entry
difficulty Per-world difficulty
pvp Player versus player combat
allow-flight Flight outside creative mode
auto-load Whether the world loads at server start
respawn-world Which world players respawn into after dying here
bed-respawn / anchor-respawn Whether beds and respawn anchors set a spawn point
scale Coordinate scale used when travelling between worlds by portal
player-limit Maximum players allowed in this world
world-blacklist Worlds you cannot reach this one from
entity-spawn-config Which mobs spawn, and at what rate
keep-spawn-in-memory Whether the spawn chunks stay loaded
adjust-spawn Whether Multiverse moves an unsafe spawn to a safe block
hunger / auto-heal Whether hunger drains and health regenerates
portal-form Which portal types may form here
world-visibility Whether the world appears in /mv list
allow-advancement-grant Whether actions here grant advancements. Paper only

Mob spawning has its own command in Multiverse 5:

/mv entity-spawn-config modify monster set spawn false
No hostile mobs in the build world

Per-world game rules

This is the one people most often assume is impossible in vanilla. It is not — game rules are stored in the world save, so each world already has its own — but Multiverse gives you a clean way to read and write them without switching worlds:

/mv gamerule set advance_time false hub
/mv gamerule list hub
/mv gamerule reset advance_time hub
Fixed daylight in the hub

Note that these are the vanilla game rule names for your server version, and they changed. Java Edition 1.21.11 moved every game rule into a registry and renamed them from camelCase to snake_case, and several were not straight renames — doDaylightCycle became advance_time, disableRaids became raids with its value inverted, and doInsomnia became spawn_phantoms. A find-and-replace on an older guide will not get you there. /mv gamerule list shows the names your server actually accepts, and the full mapping is in Minecraft Server Commands.

Moving Players Around

/mv tp <destination>, or /mvtp, teleports. A destination is more than a world name:

Prefix Destination Example
w: A world's spawn (the prefix is optional) /mvtp w:build
a: A named anchor /mvtp a:market
e: Exact coordinates, with optional pitch and yaw /mvtp e:build:70,64,0:90:90
pl: Another player /mvtp pl:Steve
p: A Multiverse portal /mvtp p:hubgate
b: A bed spawn /mvtp b:playerbed

Exact destinations accept relative coordinates (~,~1,~), and e:@here sets a destination to exactly where you are standing, including which way you are looking.

Anchors are named saved locations: /mv anchor set market at your feet, then a:market anywhere a destination is accepted. /mv anchor list and /mv anchor delete manage them.

Teleport permissions changed in Multiverse 5

Permissions are multiverse.teleport.self.<destination-id> and multiverse.teleport.other.<destination-id> — for example multiverse.teleport.self.w for world destinations. Multiverse 5 adds a finer layer: multiverse.teleport.self.w.<worldname>. Whether both are required is set by use-finer-teleport-permissions in config.yml, and the default differs by history: true for a fresh install, false when migrating from Multiverse 4. If teleports stopped working right after an upgrade, this is the first thing to check. Even with the other permission, you can only send a player somewhere you are allowed to go yourself.

Separate Inventories: Multiverse-Inventories

By default all your worlds share one inventory, which is fine until someone carries a creative-world diamond block into survival.

Multiverse-Inventories works on groups and shares. A group is a set of worlds; a share is a kind of data those worlds have in common. Worlds inside a group share what the group's shares list; worlds in different groups keep that data separate.

Configure this before players visit the worlds involved

The project's own warning is unambiguous: incorrect configuration can lose player inventory data, and changing groups after players already have data in those worlds can overwrite it. Take a backup from the Backups tab first — see How to create a backup.

On install you get one group called default, containing the server's default overworld, Nether and End, sharing everything. That mimics vanilla behaviour, where the three dimensions share your inventory. Every world you create or import afterwards gets its own separate inventory automatically.

/mv list --raw
/mvinv create-group smpgroup smp,smp_nether,smp_the_end all
/mvinv info smpgroup
Give a set of SMP worlds their own shared inventory

/mv list --raw gives you the real world names rather than aliases, which is what the group command needs. If you only want to bolt one more world onto the existing default group, do not create a group — use /mvinv add-worlds default <world>.

Shares can be much finer than all:

Grouped share Includes
all Everything below, including the optional shares
inventory Inventory contents, armour, ender chest, off-hand
experience XP progress, total XP and level
health Health, max health, air, fall distance, fire ticks
hunger Food level, saturation, exhaustion
stats Health, hunger, XP and potion effects together

Individual shares include inventory_contents, armor_contents, ender_chest, off_hand, hit_points, food_level, potion_effects, bed_spawn and more. Five optional shares — economy, last_location, recipes, advancements and game_statistics — do nothing until switched on with /mvinv toggle <name>, even if a group lists them.

last_location is the one worth knowing about: it returns a player to where they left off in a world group rather than to its spawn, and it is the standard setup for a hub world. It also overrides teleports into a world that does not share it with the previous world, so read the docs before enabling it network-wide.

Portals

Multiverse-Portals builds portals of any shape out of any block — or out of nothing at all, since destroying the frame afterwards leaves an invisible portal.

/mvp wand
/mvp create hubgate w:survival
Build a portal from a hub to the survival world

Get the wand with /mvp wand, then left-click one corner and right-click the other. If WorldEdit is installed, Multiverse-Portals detects it and you select with //wand instead — see Minecraft WorldEdit: Selections, Brushes and Schematics. Portal destinations use the same prefixes as /mvtp, so w:survival goes to a world's spawn, e:survival:100,64,-30 to exact coordinates, and p:othergate to another portal.

To change a destination later, select the portal (/mvp select hubgate) and run /mvp modify destination p:othergate. /mvp remove hubgate deletes it — note that any portal pointing at it is then broken.

Portals are permission-gated by default

Only players with multiverse.portal.access.<portalname> can use a portal. A portal that "does nothing" for normal players almost always means the permission was never granted. If you want every portal open to everyone, /mvp config enforce-portal-access false. Vehicles and mobs are also blocked by default: /mvp config teleport-vehicles true and /mvp config teleport-entities true (both need a full restart), plus /mvp modify <portal> teleport-non-players true on each portal.

Multiverse-NetherPortals is the different one. It makes ordinary vanilla Nether and End portals link to your worlds rather than to the server's default Nether — so survival gets its own Nether, and resource gets a different one, using nothing but obsidian and flint and steel. Most servers running several overworlds want this rather than Portals.

Loading, Unloading and Deleting

Three commands look similar and do very different things. Getting them confused is how people delete a world they meant to keep.

Command Unloads from server Removes from Multiverse config Deletes the folder
/mv unload <world> Yes No No
/mv remove <world> Yes Yes No
/mv delete <world> Yes Yes Yes

/mv unload is the useful one day to day: a rarely used world sitting unloaded costs nothing. /mv load <world> brings it back.

/mv delete is irreversible and asks for confirmation — you get 30 seconds to run /mv confirm <otp> with the one-time code it gives you. If players are still in the world, all three commands error out unless you add --remove-players [destination], which evacuates them first.

Two more worth knowing:

  • /mv regen <world> wipes and regenerates a world in place — the resource-world reset. --seed gives it new terrain, --reset-gamerules, --reset-world-config and --reset-world-border clear the rest.
  • /mv clone <world> <newname> copies a world and its configuration, which is the safe way to test something destructive.

The Cost of Extra Worlds

Each loaded world is more memory and more chunks being ticked, so a resource world is a real cost rather than a free feature. Two practical consequences:

Remember too that most other plugins are per-world in ways you have to configure. WorldGuard's __global__ region and every region ID are per-world, so protecting the overworld protects nothing else — see Minecraft WorldGuard: Region Protection Explained. LuckPerms scopes permissions with a world= context. EssentialsX can gate /home between worlds with world-home-permissions — see EssentialsX Setup: Homes, Warps, Kits and Economy.

Common Issues

  • /mv import says the world does not exist. On Paper 26.1+ you must pass the namespaced key, not the folder name. On Spigot the folder name must match exactly, capitalisation included.
  • An imported world generates strange terrain at its edges. The environment or generator given at import did not match how the world was made. There is no clean fix except regenerating the affected chunks.
  • Teleport commands stopped working after upgrading to Multiverse 5. use-finer-teleport-permissions — grant the .<worldname> nodes or set it to false.
  • Players keep their inventory between worlds. Those worlds are in the same Inventories group, or Multiverse-Inventories is not installed. /mvinv info <group> shows the truth.
  • Players lost items after a group change. Existing per-world data was overwritten. This is why the backup comes first.
  • A portal does nothing. The player lacks multiverse.portal.access.<name>, or the portal's destination points at a portal that has been removed.
  • Mobs and boats will not go through a portal. Both config options plus the per-portal teleport-non-players are needed, and the config options need a restart.
  • A world will not load at boot. auto-load is false, or the folder is missing. /mv load <world> reports which.
  • Gamerule names are rejected. Java Edition 1.21.11 renamed them all. Run /mv gamerule list to see what this server accepts.

FAQ

Do I need Multiverse if I only want a separate Nether?

No — vanilla already gives every server one Nether and one End. You need Multiverse when you want a second overworld, or a Nether attached to a second overworld, which is what Multiverse-NetherPortals handles.

Can players have different inventories in creative and survival worlds?

Yes, and that is the main reason to install Multiverse-Inventories. Put the survival worlds in one group and leave the creative world out of it; the creative world then keeps its own inventory automatically.

Does Multiverse work on Fabric or Forge?

No. It is a Bukkit-family plugin — Paper, Spigot or Purpur. A modded server needs a different world-management mod.

Is Multiverse the same as running a network?

No. Multiverse gives one server several worlds. A network is several servers behind a proxy, which is a different piece of infrastructure with its own security requirements — see Minecraft Server Networks: Setting Up a Velocity Proxy.

How do I reset a resource world every month?

/mv regen <world> --seed regenerates it with fresh terrain. Evacuate players first with --remove-players, and put the command on a schedule — see Minecraft Scheduled Restarts and Server Automation.

Will upgrading from Multiverse 4 lose my data?

The project says no: configs migrate automatically, and existing worlds, portals and inventory data keep working with no reimporting or relinking. Take a backup anyway, note that you cannot downgrade afterwards, and check the command and permission changes described above.

Where do I set which world players join on first login?

/mv config first-spawn-override true and /mv config first-spawn-location <world>. For a world players return to on every login, use enable-join-destination and join-destination instead.

Primary sources used for this guide (all checked 19 August 2026): the official Multiverse documentationCore installation, Core basic usage, Core command reference, world properties, destinations, the MV5 upgrade guide, Inventories basic usage, the Inventories shares list and Portals basic usage; and the Multiverse projects on Modrinth for current versions and supported Minecraft versions — Core, Inventories, Portals, NetherPortals and SignPortals.


Made with 💜 by GameServerKings

Need a Minecraft server?

Deploy an instantly-provisioned Minecraft server on high-clock hardware — DDoS protected, no contracts, cancel anytime.

From $4.80 /month