Every time Mojang ships a new Minecraft version, the same question lands in your server chat within minutes: "When are we updating?" The excitement is fair. New blocks, mobs and structures are a big part of why people keep playing. But a rushed upgrade can damage a world your community spent months building, or leave you with a server full of half-broken plugins. This guide walks through upgrading step by step without ever closing your way back, and shows how ViaVersion lets players on different versions share one server.

The one rule to remember: worlds only move forward

When Minecraft opens a world in a newer version for the first time, it converts the chunks to the new format. That conversion is one-way. Opening an upgraded world in an older version is not officially supported, and trying it can wipe blocks, empty chests or stop the server from starting at all. So the heart of any upgrade plan is a complete backup taken before the upgrade, one you have actually checked you can restore. If your fallback idea is "we'll just go back to the old version", that backup is the only thing you can go back to.

1. Don't rush: wait for your software and plugins

On release day, server software such as Paper or Purpur often has no stable build for the new version yet. Early builds are usually marked experimental. For a community server, waiting a few days for a stable build causes far fewer headaches than being first. If you are unsure which server software suits you, our guide comparing Paper, Purpur and Spigot covers the differences.

Next, take stock of your plugins. The plugins console command lists what is installed. For each one, check:

  • Does the download page offer a build for the new version, and does the description say which versions are supported?
  • Is the plugin still maintained? Something untouched for a year will very likely break.
  • Does it depend on other plugins? Many require Vault or ProtocolLib, and those need to be current too.

Widely used plugins such as LuckPerms, CoreProtect and WorldEdit tend to update quickly. Small projects maintained by a single developer can lag behind. If a plugin your server can't live without isn't ready, postponing the upgrade is usually the smart call.

2. Take a full backup and test the restore

Even with automatic backups running, take a manual one right before the upgrade and give it an obvious name such as "before-version-upgrade". Make sure it contains:

  • All world folders (world, world_nether, world_the_end and any extra worlds)
  • The plugins folder, including every plugin's configuration and data files
  • server.properties, bukkit.yml, spigot.yml and any other configuration files your software uses
  • The whitelist, ban lists and operator list

Stopping the server before you copy anything prevents files from being captured halfway through a write. Our automatic backup guide covers creating and restoring backups in more detail.

3. Rehearse on a copy

Rather than upgrading a busy community server directly, restore the backup onto a separate server and run the upgrade there first. During the rehearsal, look for:

  1. Does the server start cleanly, or does the console show red errors and "could not load plugin" warnings?
  2. Do every plugin's commands work? Are permissions, economy balances and protected regions intact?
  3. Walk through older areas: are builds, chests, signs and map walls still in one piece?
  4. Are new chunks generating properly at the edge of the map?

Write down every problem you hit. On upgrade day, that list becomes your checklist of what to do and in which order.

4. The real upgrade

If the preparation is done, the upgrade itself is short. Announce it to players ahead of time, stop the server, take one last backup, switch the server software to the new version and drop the updated plugin files into plugins. You can change software and version from the panel and replace plugin files with the file manager.

On first start the server begins converting the world. By default only the chunks players visit get converted, which can cause brief stutters when people wander into old areas during the first days. On Paper and its forks, starting the server once with the --forceUpgrade launch flag converts the entire world up front. On a big map that takes a while, but afterwards players never feel the conversion. Remember to remove the flag once it finishes.

Worth knowing: new structures and biomes only appear in newly generated chunks. Areas that were already explored stay exactly as they were. Point players toward unexplored parts of the map, expand the world border, or pre-generate a fresh region so the new content is easy to reach.

5. Your rollback plan

Even a careful upgrade can surprise you. Decide in advance where the line is, for example: "If we find a critical bug within the first few hours, we restore the backup." Rolling back means putting the old server version back and restoring the pre-upgrade backup. Downgrading the software alone is not enough; never open a converted world with the older version.

A rollback erases everything players did after the upgrade. Be upfront about this in the first hours, and ask people to hold off on big builds until things settle. It makes a possible rollback much less painful.

Letting old and new clients play together with ViaVersion

After an upgrade, some players won't update right away, often because of their mods or simple habit. Or the reverse happens: your server stays on one version while players move ahead. ViaVersion bridges that gap.

PluginWhat it doesViaVersionLets clients newer than the server connect.ViaBackwardsInstalled alongside ViaVersion; lets clients older than the server connect.ViaRewindInstalled on top of ViaBackwards; covers very old clients (1.7 and 1.8).

Setup is simple: put the plugin files in plugins and restart. ViaBackwards and ViaRewind both need ViaVersion installed to work. To see which version each player joined with, run /viaversion list in game or in the console. Settings live in plugins/ViaVersion/config.yml, and the defaults suit most servers.

Limits you should know about

  • An older client doesn't know about newer blocks and items. ViaBackwards shows the closest older equivalent, so things won't look exactly the same.
  • Combat, movement and some interactions differ between versions. On PvP servers in particular, players on older clients can have a noticeably different experience.
  • ViaVersion is a bridge, not a permanent home. Encourage players to move to the server's version over time.

Bringing Bedrock players in is a separate topic; see our guide on joining Java and Bedrock with Geyser.

Quick checklist

  1. Wait for a stable software build.
  2. Confirm your plugins support the new version.
  3. Stop the server and take a complete backup.
  4. Rehearse on a copy first.
  5. Announce, upgrade and watch the console.
  6. Set your rollback threshold ahead of time.
  7. Use ViaVersion if players on other versions need to join.

Follow these steps and an upgrade stops being something your players dread and becomes routine maintenance. When the next version arrives, reuse the same list and refine it with whatever the last rehearsal taught you.