Migrating a Minecraft world between versions safely
Migrating a Minecraft world between versions safely
A new Minecraft version drops. Your players want it. Your world is two years deep with established bases, custom datapacks, and a working economy plugin. The upgrade is not "click update and go."
This article is what we've learned migrating real worlds across version boundaries, with the specific failure modes that catch people.
The first rule: don't do this in production
Take a backup. Restore the backup to a separate test server. Upgrade the test server. Confirm the world loads and plays correctly. Then, only then, do the upgrade on the live server.
The cost of testing is hours. The cost of "I upgraded and the chunks at our base became visual chaos" can be your community.
You can do this for free with any cheap second host, or with a local install.
Why version upgrades break things
Minecraft changes block formats, biome formats, and entity formats across major versions. The game converts old data to the new format when it loads a chunk. The conversion is mostly automatic and mostly correct. The "mostly" is where problems live.
Common breakage areas:
- New biomes. When a new biome is added (e.g., 1.18's terrain rewrite, 1.20's cherry grove), the boundary between pre-upgrade chunks and post-upgrade chunks shows as a visible seam.
- Removed or renamed blocks. Datapacks or command-block builds that reference old block names break.
- Changed worldgen. New chunks generate with the new algorithm. Old chunks keep their old generation. Walking from old to new shows a wall.
- Entity changes. Some entities get reclassified, renamed, or split. Plugins that target specific entity types may need updates.
- Plugin / mod compatibility. Plugins built for the old version may simply not load on the new version.
The terrain seam, visualized
There is no "merge old and new worldgen smoothly" tool. The seams are a property of the data, not a bug to fix.
A pre-upgrade audit
Before upgrading, list:
- Plugin versions. Are all plugins available for the target version?
- Mod versions. Same question. For modded servers this is often the blocker.
- Datapacks. Will they break? Reference removed blocks?
- Custom commands or command blocks. Same.
- Custom resource packs. Will their conventions still apply?
- Active world borders. Will new world gen extend outside them?
- Player exploration boundaries. Where have players actually been? New chunks beyond that boundary will generate with new worldgen.
This list takes 30 minutes and saves hours.
Mitigations for the seam
- Pre-generate the world before the upgrade so post-upgrade exploration is rare. (See the Chunky article.)
- Set a world border that contains current explored area, preventing seam discovery.
- Run a "new frontier" world alongside the old one for the new content. Old world remains untouched. New worldgen lives in a separate dimension or world.
- Accept the seams. Many communities treat upgrade seams as "the time we updated." Lore-friendly.
Specific version concerns
Pre-1.13 to 1.13+ ("the flattening").
The block ID system changed entirely. Almost all worlds survive but plugins / datapacks / command-blocks referencing old IDs need rewriting. If you're still on pre-1.13, the upgrade is non-trivial and you should budget significant time.
1.17 to 1.18 ("caves and cliffs part 2").
The biggest worldgen rewrite in years. Old chunks keep old terrain. Y-axis extended (depth and height). Plan for seams and for adjusting builds at the new lower/upper limits.
1.20 to 1.21+.
Generally smoother. Watch for changes to redstone components (some had behavior tweaks).
Major Forge / NeoForge mod ecosystem upgrades.
For modded servers, "Minecraft version upgrade" often means "modpack rewrite." Mods don't usually skip versions, and many won't be available for the new version for months. Modded upgrades require way more patience than vanilla.
A safe upgrade workflow
Vanilla DataFixerUpper
Minecraft includes a system called DataFixerUpper (DFU) that automatically converts old world data to the new format on load. Most of the time it works silently.
When it doesn't:
- Very old worlds (pre-1.8) may take hours to convert.
- Some custom blocks added by mods don't have DFU rules; they may become air after upgrade.
- DFU can occasionally truncate data; rare but it happens.
If you're upgrading from a very old version (1.7, 1.10), consider an intermediate upgrade: bring the world up to 1.16 or 1.18 first, confirm health, then bring it to current.
Plugins to be careful about
The most plugin-fragile across upgrades:
- NMS-dependent plugins (mob disguises, custom monsters, low-level packet manipulators).
- Anti-cheat plugins that hook deep into movement physics.
- WorldEdit and WorldGuard can usually be updated but config formats sometimes shift.
- Economy plugins with custom database schemas.
For each, check the plugin's changelog before upgrading. The author often lists "what changed across MC versions" notes.
Mods are different
For modded servers, "version upgrade" is essentially "build a new modpack and migrate the world." The world may or may not be portable, depending on the mods involved.
Critical points:
- Many content mods (those adding blocks / items) lose data if the mod is removed. If a removed mod's blocks were in the world, they become air or "missing block" placeholders.
- Some packs ship a "world migration" tool or have notes from the pack author.
- For major version jumps (1.16 → 1.20), expect to either keep the old pack on a frozen server or start fresh.
When not to upgrade
Honestly, you don't have to. Some long-running communities have stayed on 1.16 or 1.19 for years because:
- The plugins they love aren't on newer versions.
- Their players don't care about new features.
- Stability is worth more than novelty.
The pressure to upgrade is mostly social, not technical. If your server is healthy and players are happy, "we're on the latest version" is not a goal in itself.
Conclusion
Upgrades are routine if you test first and brutal if you don't. The recipe: snapshot, test on a clone, fix problems there, then mechanically repeat on production. Don't combine an upgrade with any other change. Don't upgrade during peak play hours. And accept that some worldgen seams are inherent and not something you can fix.
Hosting your game server with AndroHost means we handle most of what's in this post for you automatically: tier sizing, SRV records, off-site backups, DDoS protection.
Keep reading
CPU vs GPU, a plain-English guide to how chips do math
What CPUs and GPUs actually do when they crunch numbers, why the differences matter, and how to pick the right chip for a workload.
Using your AndroHost database with plugins like LuckPerms
Every paid AndroHost server includes a real MariaDB database for plugins that need one. Here is how to set it up and connect.
Adding voice chat to your Minecraft server (Simple Voice Chat plugin)
The most requested addon for Minecraft community servers in 2026 is Simple Voice Chat (SVC) — the plugin that gives proximity-based voice (you hear players based on distance, like real life, like in DayZ or Rust). It works on Paper, Purp...