How to Upload Your Own World to a Minecraft Server
To upload a world to a Minecraft server, stop the server, put your world folder (the one with level.dat inside) in the server folder, and set level-name in server.properties to the same name. Start the server and it loads your world. Use a zip upload or SFTP to move the files.
What you need before you start
Uploading a world takes ten minutes, but a few checks first will save you a bad evening.
- The world folder. For a single-player world, this is one folder inside
saves. For a world from another server, it is the folder named in that server'slevel-name. - The Minecraft version it was last played on. A server must run the same version as the world or a newer one. Our guide to changing your server version explains the upgrade rules.
- A backup of the world. Copy the folder somewhere safe before you move anything. See how to back up a Minecraft server.
- A stopped server. A running server keeps rewriting its world files, and it can overwrite the ones you upload.
1. Find your world folder
Single-player worlds live in the saves folder of your Minecraft folder.
| System | Where the saves are |
|---|---|
| Windows | %appdata%\.minecraft\saves (paste it in the File Explorer address bar) |
| macOS | ~/Library/Application Support/minecraft/saves |
| Linux | ~/.minecraft/saves |
In the Minecraft launcher you can also pick the world in the Singleplayer screen, press Edit, then Open World Folder. Make sure the world is closed first.
Open the folder and look inside. A real world folder has a file called level.dat directly inside it, plus folders such as region and playerdata. If you see level.dat, you have the right folder. If you only see another folder with the world's name, go one level down.
2. Check the version
Minecraft can open an old world in a newer version, but never the other way around. Pick the server version based on the version the world was last opened in. If you are not sure, launch the world in your game, press F3 and read the version in the top left, or pick the newest version and let the server upgrade the world.
Upgrading is a one-way trip. After a newer version opens the world, an older one will refuse it. That is why you made a backup in the first step.
3. Zip the world
Zip the world folder itself, not the saves folder and not the files inside it one by one. When you open the zip, you should see the world folder (or level.dat) right at the top. Many upload tools also accept a zip where the world sits one folder down, but the safest zip is the plain one.
Large worlds can be hundreds of megabytes. Before you zip, you can delete the DIM-1 and DIM1 folders if you want a fresh Nether and End, though most people keep them.
4. Upload it
There are two normal ways. Pick the one your host or panel gives you.
Option A: a world upload button
Some control panels let you upload a world as one zip. You stop the server, choose the zip, and the panel unpacks it and puts the world in the right place. This is the easy way and it works well for worlds from single player.
Option B: SFTP or the file manager
- Stop the server and wait until it has fully stopped.
- Connect to the server's files with an SFTP app such as FileZilla or WinSCP, or open the panel's file manager.
- Rename the current
worldfolder toworld-old. On Paper and Spigot, also renameworld_netherandworld_the_end. - Upload your world folder. Rename it to
world, or keep its name and change the setting in the next step. - Open the uploaded folder and check that
level.datis directly inside.
5. Point the server at your world
The server loads exactly one world name, set in server.properties. Open the file and find this line:
level-name=worldmeans the server loads the folder calledworld.- If your folder has another name, such as
My Survival, change the line tolevel-name=My Survivaland save. - The name must match exactly, including capital letters and spaces. The setting is described with all the others in our server.properties guide.
If the name does not match, the server does not complain. It quietly creates a brand new world with the name you wrote. This is the most common mistake, and the way to spot it is a fresh spawn point that looks wrong.
6. Start the server and check
Start the server and watch the console. You should see the world load without errors. Join and check these things:
- Your builds are where you left them.
- The Nether and the End work. If they are empty, see the note below.
- Your items. Single-player inventory may not carry over the way you expect, so look before you panic.
- Operator rights. Single-player cheats do not become server operator rights. Run
op YourNamein the console. How to make yourself op covers the levels.
Nether and End: where they live
A single-player world keeps the Nether and End inside the world folder, in DIM-1 and DIM1. Paper and Spigot servers store them as separate folders, called world_nether and world_the_end. Paper moves a single-player Nether and End into place on first start, so you usually do not need to do anything. If the dimensions come up empty after the first start, restore your backup and check the version, because the cause is almost always a version problem or an interrupted first start.
Settings that do not follow the world
The world file stores the map and some game rules. Your server settings come from server.properties, not from the world. After uploading, check these:
| Setting | Why check it |
|---|---|
gamemode | Sets the mode for players who join for the first time |
difficulty | Single player may have been on a different difficulty |
level-seed | Ignored once the world exists. It only matters for a new world |
online-mode | Keep it true so player names and UUIDs match real accounts |
max-players | Single player has no player limit; servers do |
Modded and plugin worlds
A world that used mods needs the same mods on the server, or its modded blocks and items can disappear. Plugins are different: plugin data lives in the plugins folder, not the world. If you move a world from another Paper server, move the plugin data you need too. Our guide on adding plugins shows how, and the Fabric and mods guide covers mod setups.
Common errors and fixes
| What you see | Likely cause | Fix |
|---|---|---|
| A brand new world appears | level-name does not match the folder | Fix the name in server.properties and restart |
| "Failed to load level" or the server stops at startup | The world is from a newer version than the server | Use a server on the same version as the world or newer |
| The upload says there is no world in the zip | level.dat is missing, or you zipped the wrong folder | Zip the folder that contains level.dat |
| Chunks are missing or look corrupted | The files were copied while the world was open | Close the world, copy again and upload a fresh zip |
| Upload fails halfway | Not enough disk space or a cut connection | Delete old worlds and backups, then try again |
Bedrock worlds
Bedrock Edition stores worlds differently. A Bedrock world is a folder with files such as levelname.txt and a db folder, and the Bedrock Dedicated Server loads it from worlds/<level-name>. The .mcworld files you export from the game are zips, so you can unzip one into that folder. Java and Bedrock worlds do not mix, so a Bedrock world cannot go on a Java server without a converter.
How uploading a world works on Tree Host
On Tree Host, the Backups tab has a world section with Upload a world. Stop the server, choose a .zip of your world, and it is unpacked for you. Tree Host finds the folder with level.dat in it, whether that sits at the top of the zip or one folder down. If the server already had a world, it is backed up first (the backup is named "Before uploading a world") and then replaced. Zips can be up to 4 GB.
Single-player Nether and End folders are moved into place on the first start. If you would rather move files yourself, the SFTP guide shows how to upload a world with FileZilla, and the server help guide lists every tab of the dashboard.
Tree Host has not launched yet. You can try the shared demo server now, and creating your own servers opens at launch. See the plans and features for what is coming.
A quick checklist
- Back up the world before you move it.
- Stop the server before you upload.
- Zip the world folder that has
level.datinside. - Match
level-nameto the folder name exactly. - Use a server version equal to or newer than the world.
- Run
op YourNameand check your items after the first join.
Tree Host lets you upload a world as a zip and backs up the old one first, so you can undo a bad move.