How to Upload a Custom World to a Minecraft Server
You have a world file on your computer and a group of friends who want to play in it together. Opening it in singleplayer is easy, but getting it onto a server is where most people get stuck: the server keeps generating a fresh random world, or it starts up and nobody can see the map you uploaded. This guide shows how to upload a custom world to a Minecraft server, whether it runs on your own PC, on Aternos, on a paid hosting panel, or on Bedrock Dedicated Server.
The examples assume a world you made on Map2Minecraft, but the steps are the same for any downloaded world.
First: Match the World to the Server Edition
Java and Bedrock worlds are stored in completely different formats. A Java world is a folder with a level.dat file and a region folder. A Bedrock world has a levelname.txt file and a db folder. A Java server cannot read a Bedrock world, and the reverse is also true. If you upload the wrong one, the server usually ignores it and generates a new world instead.
When you generate a world you pick Java or Bedrock before it builds, so download the edition your server runs. If you are not sure which you need, our Java vs Bedrock guide covers the differences.
Also check the version. A server can open a world saved by the same or an older version of Minecraft and will upgrade it on first load. Running a world on an older server than the one it was made for can fail or lose blocks, so keep your server on a current release.
Uploading to a Self-Hosted Java Server
If you run the official server jar, Paper, Spigot or Fabric on your own machine, the world is just a folder next to the server files.
- Stop the server. Never swap the world while it is running; the server will overwrite your files when it next saves.
- Back up the old world. Rename the existing
worldfolder to something likeworld-oldif you might want it back. - Extract your download. Unzip the Java
.zip. You should get one folder withlevel.datdirectly inside it. - Copy the folder into the server directory. Put it in the same folder as
server.properties. - Point the server at it. Open
server.propertiesand setlevel-nameto the exact folder name. For example, if the folder is calledtokyo, the line readslevel-name=tokyo. Alternatively, rename your folder toworld, which is the default. - Start the server and join. You should spawn inside your map.
On Paper and Spigot, the Nether and End live in separate folders such as world_nether and world_the_end. A generated real-world map only contains an overworld, so you do not need to provide those; the server creates them the first time someone uses a portal.
Uploading to Aternos
Aternos has a built-in uploader, so you do not need FTP.
- Open your server in the Aternos dashboard and go to the Worlds page.
- Click Upload and choose the world as a
.ziparchive (or as a folder). - Once it finishes, select the uploaded world on the Worlds page so the server uses it, then start the server.
The most common Aternos error is a zip with the wrong nesting. The archive should contain one world folder with level.dat inside it. If you re-zipped the world yourself and ended up with a folder inside a folder inside a folder, flatten it so there is only one level, then upload again.
Uploading to a Paid Host (Panel or SFTP)
Most paid Minecraft hosts give you a web control panel with a file manager, and many also offer SFTP access. Exact menus vary, but the process is always the same:
- Stop the server from the panel.
- Open the file manager (or connect with an SFTP client like FileZilla or WinSCP using the details in your panel).
- Upload your world folder to the server's root directory. For large worlds, uploading the zip and using the panel's Unarchive or Extract option is much faster than uploading thousands of small region files one by one.
- Set
level-nameinserver.propertiesto the folder name. Some panels expose this as a "World name" field in the settings instead; changing it there does the same thing. - Start the server.
Some hosts also have a one-click "upload world" or "import world" tool. If yours does, it is doing these exact steps for you.
Uploading to Bedrock Dedicated Server
Bedrock Dedicated Server (BDS) stores worlds in a worlds folder, and the active one is chosen by level-name in its own server.properties. The default is Bedrock level.
- Stop the server.
- Your Bedrock download is a
.mcworldfile, which is a zip archive with a different extension. Rename it to.zip(or open it with 7-Zip) and extract it. - Create a folder inside
worlds, for exampleworlds/seoul, and put the extracted contents in it, so thatlevelname.txtand thedbfolder sit directly insideworlds/seoul. - Set
level-name=seoulinserver.properties. - Start the server. Players on Windows, phones and consoles can now join it, though consoles need extra steps to connect to a custom server.
Bedrock hosting panels follow the same idea: upload the extracted world into the worlds directory and set the level name.
What About Realms?
Realms is not a server you upload files to directly. On Java, you open the Realm's configuration and replace its world with one from your singleplayer list, so import the world into singleplayer first using our import guide. On Bedrock, you import the .mcworld on a phone or PC, then replace the Realm's world from that device. This is also the usual route for getting a custom world onto a console.
Troubleshooting
The server generated a new world instead of mine
Either level-name does not match the folder name exactly (it is case-sensitive on Linux hosts), or level.dat is one folder too deep. Open the folder named in level-name; level.dat must be right there.
Players spawn somewhere odd
Set the spawn where you want it: stand on the spot as an operator and run /setworldspawn. On Java you may also want /gamerule spawnRadius 0 so everyone lands on the same block instead of being scattered.
Players wander off the edge of the map
A generated world covers the box you drew. Past its edge the world carries on as flat ground, with none of the map on it. To keep everyone in the mapped area, use a world border: /worldborder center <x> <z> on the map's centre, then /worldborder set <width> slightly smaller than the map.
The server lags when people fly around
City worlds have a lot of blocks. Lower view-distance in server.properties, and consider pre-generating or simply letting the map load once before a big session.
Pick a Place Worth Sharing
Shared servers work best in places everyone recognises: your town, your school, a city you visited together. Draw a box around it, pick a size and edition, look around in the 3D preview, and download. If you need ideas, start with our list of the best real cities to play in Minecraft.
Real city maps to try





