The level-type setting in your Minecraft server’s server.properties file decides how the entire world is shaped: rolling vanilla terrain, a pancake-flat creative canvas, towering amplified mountains, or a single endless biome. Changing it is a one-line edit, but there is a catch that trips up almost everyone the first time: editing the value alone does nothing to an already-generated world. You have to regenerate the level for the new type to take hold. This guide walks through every valid level type, the modern minecraft:-prefixed syntax versus the old bare names, custom superflat configuration with generator-settings, how the world seed interacts with all of this, and the exact regeneration steps so you do not lose work by accident.
What level-type actually controls
level-type is a single key in server.properties, the plain-text configuration file that Minecraft Java Edition reads once at startup. The format is key=value, one entry per line, no quotes. The default value is minecraft:normal, which produces the standard overworld generation most players expect.
The level type is a world-generation preset. It tells the server which algorithm to use the moment a chunk is created for the first time. Because of that, it only affects brand-new chunks. The terrain you have already explored is frozen in the region files on disk, so flipping the value does not retroactively reshape an existing map. We come back to that critical point below, but keep it in mind as you read.
The five built-in level types
Modern Minecraft Java Edition ships with five world-generation presets. Since version 1.19, the server expects the namespaced minecraft: prefix on each one. Here is what each does:
| Value (1.19+) | Legacy name (pre-1.19) | What you get |
|---|---|---|
minecraft:normal | default | Standard overworld: biomes, caves, oceans, mountains. The default. |
minecraft:flat | flat | Superflat — layered slabs of blocks, no terrain features. Great for creative builds and minigames. |
minecraft:large_biomes | largeBiomes | Same generation as normal but biomes are scaled up roughly 4x, so each is much larger. |
minecraft:amplified | amplified | Exaggerated, extreme terrain with massive peaks and overhangs. Demanding on CPU. |
minecraft:single_biome_surface | (buffet, older snapshots) | One biome stretched across the whole world. Configured via generator-settings. |
You can also point level-type at a custom world-generation preset supplied by a datapack, using that datapack’s namespaced ID. That is an advanced route most servers will never need, but it is the same mechanism — the bundled presets are simply the ones Mojang ships in the game.
normal vs large_biomes vs amplified at a glance
If you want a recognizable survival world, stay on minecraft:normal. Choose minecraft:large_biomes when you want sprawling deserts and forests that take a long walk to cross — it is identical generation logic, just zoomed out. Reach for minecraft:amplified only if your hardware can handle it: the dramatic terrain means far more blocks per chunk to generate and render, which raises CPU and memory pressure noticeably. On a small box, amplified worlds can cause lag spikes during exploration.
Modern minecraft: prefix vs legacy bare names
This is the single most common reason a level-type change “does not work.” Before version 1.19, the value was a bare keyword: default, flat, largeBiomes, amplified. From 1.19 onward, Minecraft uses the namespaced form with the minecraft: prefix and a slightly different naming scheme (note normal instead of default, and the snake_case large_biomes).
On a current server, write the prefixed value:
level-type=minecraft:flat
On an older server (pre-1.19), the bare name is what works:
level-type=flat
If you put a bare name into a 1.19+ server, or a prefixed name into a very old one, the server typically falls back to normal generation and you end up scratching your head over a flat-looking-not-flat world. Always match the syntax to your server version. When in doubt, use the prefixed form — that is the correct value for every modern build and for the calendar-versioned releases that followed the 1.21 line.
Step-by-step: changing the level type
- Stop the server completely.
server.propertiesis only read at startup, so editing it while the server runs accomplishes nothing until a restart — and a clean stop avoids the file being overwritten on shutdown. - Open
server.propertiesin your control panel’s file editor or via SFTP. - Find the
level-typeline and set your chosen value, for examplelevel-type=minecraft:amplified. - If you are switching to or from a generated world, plan to regenerate (see the next section) — otherwise the change will only apply to chunks you have never visited.
- Save the file and start the server.
Most managed hosts surface server.properties directly in the panel so you do not need to touch SFTP at all. If you are setting up from scratch, our Minecraft server documentation walks through where each file lives and how to edit it safely.
The catch: you must regenerate the world
Here is the part the brief flags as the number-one gotcha, and it deserves its own section. level-type is applied only when a world is generated. If you already have a world folder full of explored terrain, changing the value and restarting will leave your existing area exactly as it was. New chunks at the far edges of the map will use the new type, producing an ugly seam where flat meets normal, or amplified meets flat. To get a fully new world in the new type, you must delete (or move aside) the existing world data so the server generates fresh.
By default the world folders are named world (overworld), world_nether, and world_the_end — the names follow the level-name value in server.properties. To regenerate:
- Stop the server.
- Back up the existing world folders first if there is any chance you want them later. Download them or rename them rather than deleting outright.
- Delete the
world,world_nether, andworld_the_endfolders (or just rename them to something likeworld_old). - Confirm your
level-type(and anylevel-seedorgenerator-settings) values are correct. - Start the server. It will generate a brand-new world using the new level type.
A neat trick if you do not want to delete anything: change level-name to a new value, for example level-name=world_flat. The server cannot find a world by that name, so it creates one from scratch using your current level-type — and your old world stays untouched on disk under its original name. You can switch back later by pointing level-name at the old folder.
If juggling several worlds with different level types on one server sounds appealing, that is exactly what the Multiverse plugin is for. Instead of swapping level-name by hand, you can keep a flat creative world, a normal survival world, and a custom map live at once and teleport between them. See our walkthrough on running multiple worlds with the Multiverse plugin for the full setup.
Custom superflat worlds with generator-settings
Setting level-type=minecraft:flat gives you the default superflat layout: a layer of bedrock, two layers of dirt, and a layer of grass, on a plains biome. But you do not have to accept that. The generator-settings key lets you define your own layer stack, biome, and structures. It is paired with the flat level type and is ignored by the other types.
The cleanest way to author the value is to build the preset in the single-player Customize screen (when creating a superflat world), copy the preset code, and paste it into generator-settings on the server. Modern versions use a JSON object for this key. For example, a thicker superflat with extra stone layers and a desert biome looks conceptually like this:
level-type=minecraft:flat
generator-settings={"layers":[{"block":"minecraft:bedrock","height":1},{"block":"minecraft:stone","height":10},{"block":"minecraft:sand","height":2}],"biome":"minecraft:desert"}
The exact JSON keys and accepted block IDs depend on your game version, so the safe workflow is always: generate the preset in the client’s flat-world customizer for your version, then copy that string into the server file rather than hand-writing it. Remember that, like the level type itself, generator-settings only takes effect on world generation — change it, then regenerate the world.
The single_biome_surface type works similarly: it reads a biome from generator-settings and stretches that one biome across the entire normal-style terrain, giving you, say, an endless jungle or an all-mushroom-fields world.
How level-seed interacts with level-type
The level-seed key sets the seed for world generation. The level type and the seed work together but answer different questions: the type chooses the generation algorithm, and the seed chooses the specific random layout that algorithm produces. A given seed will produce a different-looking world under minecraft:normal than under minecraft:large_biomes, because the underlying algorithm differs even though the random input is the same.
If you want a reproducible world — for example to share a specific spawn area or to recreate a known map — set both keys before generating:
level-type=minecraft:large_biomes
level-seed=192837465
Both keys are read at generation time. Changing level-seed on an existing world does nothing to already-generated chunks for the same reason level-type does not — the layout is already committed to disk. Leave level-seed blank to let the server pick a random seed. For superflat worlds, the seed has little visible effect since the terrain is uniform, but it still influences things like slime-chunk locations.
Performance and gameplay considerations
Level type has a real impact on server load. minecraft:amplified is the heaviest because each chunk contains dramatically more terrain to generate, store, and stream to players. If you run amplified on constrained hardware, pair it with a sensible view-distance (the default is 10 chunks, valid range 3–32) and simulation-distance to keep CPU and bandwidth in check. Superflat worlds are the lightest, which is part of why they are popular for minigame and build servers.
For survival servers that want big, immersive landscapes without the cost of amplified, minecraft:large_biomes is a strong middle ground. If you are choosing a world type for a fresh community server and want headroom for whatever you pick, a well-provisioned host matters — our low-latency Minecraft hosting plans are sized to handle amplified and heavily-modded generation without the lag a budget box introduces.
Frequently asked questions
Why did changing level-type not change my world?
Because level-type is applied only when a world is first generated. Your existing world folder already contains generated chunks, so the server keeps using them and ignores the new type for that area. Only never-before-visited chunks at the map’s edge will use the new value. To get a fully new-type world, back up and delete (or rename) the world, world_nether, and world_the_end folders, or change level-name to a new name so the server generates fresh.
What is the difference between minecraft:flat and the legacy “flat” value?
They mean the same world type but apply to different versions. From Minecraft Java 1.19 onward, the server expects the namespaced form level-type=minecraft:flat. On pre-1.19 servers, the bare keyword level-type=flat is correct. Using the wrong form for your version usually causes the server to fall back to normal generation. If you are on any current release, always use the minecraft: prefix.
How do I make a custom superflat world on my server?
Set level-type=minecraft:flat and then define your layers in the generator-settings key. The most reliable method is to build the preset in single-player using the flat-world Customize screen for your exact game version, copy the generated preset string, and paste it into generator-settings in server.properties. Then regenerate the world so the new generation settings take effect. Hand-writing the JSON works too, but copying from the client avoids version-specific syntax mistakes.
Can I keep my world and just change the level type?
Not for the area you have already explored — generated terrain is permanent. What you can do is keep your old world while generating a new one in a different type by changing level-name to a fresh name (for example world_amplified). The server creates a new world under that name and leaves the original folder intact, so you can switch back later. For running several world types simultaneously, use the Multiverse plugin instead of swapping names.
Does the level seed work with every level type?
Yes. level-seed sets the random input for generation regardless of the level type, but the same seed produces different results under different types because each type uses a different algorithm. Set both level-type and level-seed before the world is generated for a reproducible map. On superflat worlds the seed has little visible effect on terrain, since the layout is uniform, though it still affects features like slime chunks.
Which level type is best for performance?
Superflat (minecraft:flat) is the lightest because there is minimal terrain to generate and render. minecraft:normal and minecraft:large_biomes are comparable mid-weight options. minecraft:amplified is by far the heaviest — its extreme terrain demands much more CPU, memory, and bandwidth, so reserve it for capable hardware and consider trimming view-distance and simulation-distance to compensate. While you are tuning generation, it is worth tightening the rest of your config too, from enabling Paper’s anti-Xray to controlling mob and animal spawns on flat or minigame maps.
Free Minecraft Tools
Speed up your server with our free Minecraft tools:
Ready to play?
Run your own Minecraft server with XGamingServer
Spin up an always-on Minecraft server your friends can join in minutes — no port-forwarding, no tech headaches.






