Skip to content
Back to Guides
8 min read

Understanding Your World's File Structure

Know what lives inside your world folder so you can back up, transfer, and troubleshoot it safely.

By Lodgichost Team · Last updated: August 19, 2026

Every Minecraft world is a folder of binary files the game reads on startup and rewrites as players play. Knowing what each file does turns confusing problems into simple ones: a player with an empty inventory points at playerdata, an empty Nether points at DIM-1, and a world that ignores your seed points at level.dat. You will also navigate this structure whenever you migrate a server, restore a backup, or install anything that touches world data. This guide maps the folder layout, how region file names map to coordinates, how dimensions nest, and which configuration files live just outside the world folder.

The World Folder at a Glance

The server directory holds the server jar, server.properties, and a subfolder for the world, named by the level-name setting, which defaults to world. Everything the game needs to render and save your game sits inside it. Browse it from the portal file manager or over SFTP and you will see the same layout on nearly every server.

A typical fresh world folder:
world/
├── region/
│   ├── r.0.0.mca
│   ├── r.0.1.mca
│   └── r.-1.0.mca
├── DIM-1/
├── DIM1/
├── playerdata/
├── stats/
├── advancements/
├── level.dat
├── level.dat_old
└── session.lock

Region Files and Chunk Coordinates

Terrain is stored in region files, each covering a 32 by 32 block of chunks, 512 by 512 blocks, and named r.<regionX>.<regionZ>.mca. The name comes from block coordinates divided by 512: r.0.0.mca spans x 0 to 511 and z 0 to 511, while r.0.-1.mca reaches into negative z. To find a region from block coordinates, divide by 512; from chunk coordinates, divide by 32. Unexplored terrain simply has no region file yet.

  • r.0.0.mca stores all chunks containing blocks x 0 to 511 and z 0 to 511.
  • r.-1.0.mca and r.0.-1.mca hold the neighbouring negative-coordinate strips.
  • A missing region file is normal; the area generates on first visit.
  • Region files are compressed, so active regions run to megabytes while empty ones stay tiny.

Nether, End, and Custom Dimensions

Each dimension has its own folder with region files and level.dat. The Nether lives in DIM-1 and the End in DIM1, names taken from dimension ids -1 and 1. With a custom level-name, Minecraft appends _nether and _the_end, so a world called overworld becomes overworld_nether and overworld_the_end. The Nether is scaled one to eight, so its region grid covers a smaller physical footprint. Deleting a dimension folder resets that dimension, so back it up before editing.

  • DIM-1 is the Nether; DIM1 is the End.
  • level-name=overworld produces overworld, overworld_nether, and overworld_the_end.
  • Nether scaling makes its region grid one-eighth the physical size of the overworld's.

Player Data, Stats, and Advancements

playerdata holds one <uuid>.dat per player with inventory, equipment, position, and health, keyed by Mojang UUID rather than username, so a name change never orphans the file. stats records blocks broken, mobs killed, and distance travelled; advancements tracks achievements on Java. The game writes these on logout and on scheduled autosaves. Copying a player's .dat moves their inventory; deleting one resets their progress.

  • Run /save-all before inspecting or copying player files.
  • A changed hotbar usually means playerdata was overwritten by an old backup.
  • Stats and advancements are per-server unless copied across too.

level.dat, session.lock, and the Configs Around It

level.dat is one compressed NBT file with the seed, time, weather, spawn, gamerules, and persistent data; level.dat_old is the rotated safety copy from the previous save. session.lock marks the folder as open, which is why the portal pauses the server for backups. Outside the folder, server.properties sets level-name, seed, gamemode, and view distance, while ops.json, whitelist.json, and banned-players.json handle access, and logs keeps console history.

  • The level-name key decides which folder is the playable world.
  • Edit ops.json and whitelist.json through the op and whitelist commands, not by hand.
  • Back up the whole folder; region files alone lose playerdata, stats, and the seed.

Troubleshooting

  • Server generates a brand-new world: level-name changed or the folder was renamed; check the name in server.properties matches byte for byte.
  • Player spawns with an empty inventory: their playerdata uuid.dat is missing or stale; restore the right file from the portal backups.
  • The Nether appears reset: DIM-1 was deleted or moved; restore it from a recent backup before anyone builds there again.
  • World fails to start with chunk errors: restore the last clean backup; never hand-edit binary region files.

FAQ

Why is there no overworld folder?

The main dimension lives in the folder named by level-name, which defaults to world. Unchanged, the overworld is literally the world folder, and world_nether and world_the_end hold the others.

Can I delete region files to free space?

You can, but each file is 512 by 512 blocks of terrain; deleting one erases every build inside permanently and the area regenerates fresh. Back up first.

What is the difference between DIM-1 and DIM1?

DIM-1 is the Nether with dimension id -1, and DIM1 is the End with id 1. The near-identical names come from the integer ids, so keep them straight.

Do stats and advancements matter for backups?

Yes. They are small JSON files, but players notice when playtime and achievements vanish. A full folder backup includes them; region files alone do not.

How do I move my world to another server?

Stop the server, zip the whole world folder plus server.properties, upload via SFTP, set level-name, and start. The Import an Existing Minecraft World guide covers this step by step.

Related Guides

This site uses cookies to improve your experience. Learn more.