Always keep a backup of your worlds!
Latest Nukkit versions can load Bedrock Edition vanilla worlds up to version 1.21.30 out of the box. In case your world is already on a newer version or is a Java Edition world instead, you can use free Chunker tool to downgrade/convert it.
Donwgrading/converting the world
- Download Chunker from
chunker.app
- Select the world
- Select export as Bedrock Edition 1.21.30
- Wait for the world to convert
- Save the converted world
What do do with the world file
If the world is a .mcworld file like Chunker output is, extract it like a zip file. Place the contents in a new folder inside your Nukkit server's "worlds" folder. Make sure the world is not already inside a folder. There should be a file called "level.dat" and a folder called "db" directly under /worlds/worldname.
Loading the world
There are multiple options to load the world on your server. You could replace existing default world, change default level name in server.properties, add new world name in nukkit.yml or use plugin like MultiWorld. In any case the world is now loaded like any other Nukkit world.
Using nether and end dimension
Due to Nukkit handling each dimension as a separate level unlike vanilla Bedrock, you will need to duplicate the original world for each dimension you want to use from it. You can use Chunker to optimize the copies to only contain one dimension.
Missing chunks
On vanilla generated chunks are saved only if modified. This can cause parts of the world not to be available when moving to Nukkit. Missing chunks on Nukkit are generated using Nukkit's generator and the output will be different than on vanilla even with the same seed. If your goal is to generate a world on vanilla, you should probably do it on Java Edition server software using a plugin like Chunky to fully generate the selected area.
Supported features
At the moment Nukkit only has blocks up to 1.19 fully implemented. Loading vanilla entities is not supported yet.
Ask help on Discord and report any bugs on GitHub issue tracker.