Minecraft stores all of the information about your save inside of the world files, and when creating a world in Single Player you're given a nice GUI that gives you all of the settings that are available for the world, like the seed, world type, datapacks, ect. However, when you create a world on a server, you have to change the server's configuration files to get the same results. We're going to go over a few things you might want to change about your servers world and how it's done so that you can get your world exactly how you want it.
Spigot and it's forks use a different world format than vanilla. Vanilla worlds are contained in one "world" folder, where as Spigot worlds are split into a separate folder for each dimension, by default that's one folder each for the nether, end, and overworld. For the purposes of this article, it's important to remember that when deleting or moving Spigot worlds, you have to change all 3 folders, and the
level.dat file in the overworld folder will be the one that is used. You'll also need to convert any world that was not generated on a Spigot server to the Spigot world format. For more information on how the Spigot world format works check out our article on it here!
Using a specific seed on a New World
If you've just started your server and want to use a specific seed instead of the randomly generated one the server first gives you, then you'll need to start by stopping the server and deleting the existing world folder(s). After you've deleted the world, you'll want to open the
server.properties file and find the
level-seed property. All you need to do is paste the seed there and start your server.
A new world will be generated with the seed you provided and if you delete the world again for any reason, it'll use the same seed again.
Setting the World Type on a new World
If you're setting up a new world for your server and want to use a world type other than the default one, such as Large Biomes or Amplified, you'll need to stop the server and delete the existing world folder(s). After you've done that, you'll want to open the
server.properties file and find the
level-type property. That property can be populated with one of the values found on the Minecraft Wiki here. For example, a world with the type "Large Biome" would need the value
minecraft\:large_biomes. Making sure to escape the
: character with a
After setting the
level-type property to the value you want, you can start the server and it'll generate a new world for you. Just like with the world seed, deleting the world again will cause the new world to be generated with the same settings.
Managing Game Rules on an Existing World
Game Rules are settings that modify the game behavior and they are primarily modified from the server console or by players with Operator status. You can find an updated list of what Game Rules are available and what they do on the Minecraft Wiki, but in order to change them you'll need to run the
/gamerule command with the name of the Game Rule and the value you're changing it to.
For example, if I want to make it so that water is no longer infinite then I can run the command
/gamerule waterSourceConversion false and the change would be made instantly without the need for a server restart. Game Rules are tied to the
level.dat file, so deleting the world will reset all of the Game Rules you've set.
Changing World Difficulty on an Existing World
The World Difficulty changes how hard the game is, affecting some values like how hard some mobs hit, the effects they give, and how mobs spawn or behave. You can find more information about exactly what changes at the 4 different difficulty levels here on the TimeCraft Wiki, but in order to change the difficulty setting you just need to run the
/difficulty command with the difficulty you want to change to. For example, if I wanted to change the server to easy I'd run
/difficulty easy and it would take effect instantly without needing to restart the server. The world difficulty is also stored in the
server.properties file and changes made by the
/difficulty command will persist if the world is deleted and regenerated. You can also change the difficulty by modifying the
difficulty property in your servers
server.properties file, but you will have to restart the server for a change made there to take effect.
Define custom Generator Settings for a New SuperFlat World
SuperFlat Worlds have extra settings change the order, type, and thickness of layers that are generated, as well as what types of structures will generate. If you're using a SuperFlat world on your server, then you can use these settings to customize the world to fit your needs. There is a
generator-settings property in the
server.properties file, but there's no established generator for the format it needs, so the it's easier to upload a pre-configured world to your server.
You can configure the world using the Single Player world creation screen and then upload it to your server Using SFTP. Making sure that if you're running Spigot or any of it's forks on your server, you convert from the Vanilla world format to the Spigot one by following Our Guide.
After you've uploaded the world, you'll want to make sure that the
level-name property in the
server.properties file matches the name of the world that you uploaded. If you use the name
world when creating the world using the Minecraft Client, then you shouldn't have to change anything. After double checking that the names match, you can start your server. Any new chunks generated on the server will use the generator settings you set up when making the world with the Minecraft Client, but if you delete the world file it will go back to using the server's default settings.
Importing an existing world
You can upload a world to your server by uploading the world folder to your server's root folder using SFTP and changing the
level-name property in your servers
server.properties file to the name of your world folder. The world folder you upload should contain the regions folder and the
level.dat file directly inside of it, not within any sub-folders.
If you're running Spigot, or any of it's forks, you may need to convert your world from the Vanilla format to the Spigot one. Alternatively, if you're uploading a Spigot world to a Forge or Vanilla server, then you'll need to convert it the other way. In either case, check out our article on Spigot & Vanilla World Formats.
Switching between worlds
If you have multiple worlds you'd like to play on or switch between, there are a couple of ways to do it. They each have downsides, but they can be helpful for getting the most out of your server.
The "Vanilla" way is to change the
level-name property in your
server.properties file and restart your server. This will make the server look for any world folders with that name, or create a new one if it doesn't find any. You can switch back to old ones, or import new ones, by changing the property to the old name.
There's a plugin called MultiVerse, which has existed since essentially the dawn of Bukkit (the precursor to Spigot) that allows you to create and load multiple dimensions in a Spigot server. These extra dimensions are essentially separate worlds with shared inventories and player data. There are a ton of addons for MultiVerse that range from having separate inventories for each world, to connecting your nether portals to specific worlds. But what's important is that you can switch to and create new worlds without restarting your server. You can get MultiVerse Core here, and find the installation instructions here. There's a ton more information on their wiki about how to set it up and get things going exactly how you want it.