PocketMine-MP & Bedrock Server level.dat Editor

Supports Minecraft Bedrock Edition and Java Edition — and every server core for both, popular or obscure: Vanilla, Paper, Spigot, Purpur, Folia, Fabric, Forge, NeoForge, Mohist, Sponge, Bedrock Dedicated Server, PocketMine-MP, Nukkit, PowerNukkitX, Cloudburst, Dragonfly, Endstone, LeviLamina and the rest. Full list.

Bedrock server software — PocketMine-MP, Nukkit, PowerNukkitX, Cloudburst, Dragonfly and the official Bedrock Dedicated Server — all read the same little-endian level.dat with an 8-byte header from worlds/<World>/. Drop yours below to fix the world name after duplicating a folder, move spawn, flip game rules or check which build last wrote the world.

PocketMine-MPNukkitPowerNukkitXCloudburstBedrock Dedicated ServerDragonflyEndstoneWaterdogPE

Drop worlds/<World>/level.dat here

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · chunk dumps

The duplicated-world-name problem

Every Bedrock server admin hits this. You copy worlds/hub to worlds/hub2 to make a second arena, and the console, the world manager and every plugin that reports a world name keep calling both of them hub. The folder name changed; LevelName inside level.dat did not.

The consequences are not cosmetic. Plugins that look worlds up by their internal name — teleport pads, per-world configs, region protection — can resolve to the wrong world, and world-management commands become ambiguous. Fix it by editing the tag: drop the file above and the editor jumps straight to LevelName and opens it for editing.

  1. Stop the server. A running server rewrites level.dat on save and will undo the edit.
  2. Download worlds/<World>/level.dat over SFTP or from your panel's file manager.
  3. Drop it into the editor, change LevelName to the new name, save.
  4. Upload it back over the original, keeping the old file as a backup.
  5. Start the server and check the console line that reports loaded worlds.

Core-by-core notes

CoreWorld pathNotes
PocketMine-MP (PM5)worlds/<World>/Default world set by level-name in server.properties; that value is the folder, while LevelName is what the world calls itself.
Nukkit / PowerNukkitXworlds/<World>/Same Bedrock layout; PNX adds its own settings files alongside.
Bedrock Dedicated Serverworlds/<World>/level-name in server.properties picks the folder; the header storage version is typically 10.
Cloudburst / Dragonflyworlds/<World>/Read the same level.dat; Dragonfly may keep extra state in its own database.
WaterdogPE, Geyser—Proxies. They do not own worlds; NBT only passes through them on the wire as network NBT.

Doing it without breaking production

  • Back up the whole world folder, not just level.dat. It costs seconds and it is the only thing that makes a bad edit reversible.
  • Never edit a live file over SFTP. Download, edit, upload while the server is stopped. Editing in place while the server holds the world open is how you end up with a truncated file.
  • Copying a world for a new mode? Change LevelName immediately after copying, before the server sees it, so nothing ever caches the wrong name.
  • Check the file bar after loading. It shows the detected format and the storage version — if a Bedrock file is reported as anything but Bedrock level.dat, you grabbed the wrong file or it is corrupt.

Frequently Asked Questions

Does PocketMine-MP use the same level.dat as Bedrock?

Yes. PocketMine-MP implements the Bedrock world format, so its level.dat is little-endian NBT with the 8-byte header, byte-for-byte the same shape the vanilla Bedrock server writes.

Why do two worlds show the same name in console?

Because both were copied from one folder and share a LevelName. The folder name and the tag are independent; change the tag.

Can I rename a world without restarting the server?

No. The world is loaded in memory and rewritten on save, so an edit made while it is running is discarded. Stop, edit, start.

Does this work with Nukkit and PowerNukkitX?

Yes — same format, same file path, same procedure.

How do I convert a Bedrock world to Java?

Not with an NBT editor. Byte order is the easy part; the tag layout, block palettes and chunk storage differ completely. Use a purpose-built converter, then use this editor for the leftover metadata.

Related tools