Your server can look perfectly fine right up until migration day, when a missing plugin folder, mismatched Java version, or forgotten database turns a simple move into a rollback. The good news: learning how to migrate Minecraft server data is mostly about preparation, not complicated commands. Copy the right files, preserve the software stack, test before announcing the new IP, and your players may barely notice the move.
This guide covers a safe migration for Vanilla, Paper, Purpur, Forge, Fabric, and plugin-heavy community servers. It also calls out the spots that cause lost inventories, broken claims, missing mod items, and TPS problems after the new server goes live.
Start with a migration plan, not a file transfer
A Minecraft server is more than its world folder. It is a combination of the world, server software, configuration files, plugins or mods, player data, and sometimes external databases. If any of those pieces are out of sync, your players can join a server that looks familiar but has missing ranks, reset quests, or broken economy balances.
Before touching the new host, record your current setup: Minecraft version, server jar and build, Java version, RAM allocation, startup flags, installed plugins or mods, and any proxy configuration such as BungeeCord or Velocity. Take screenshots of important panel settings if your old host uses a custom control panel.
Your first decision is whether this is a straight migration or an upgrade at the same time. A straight migration keeps the same Minecraft version, server type, Java version, and content. It is the lowest-risk option. Updating from Paper 1.20.4 to 1.21, replacing plugins, or changing Forge versions can be worth doing, but treat that as a separate project after the server is stable on its new hardware.
Make a final backup and freeze changes
Automatic backups are a safety net, but do not assume the latest one includes the last few minutes of player activity. Create a fresh manual backup immediately before migration. If your server is active, schedule a short maintenance window and let players know exactly when building, trading, and inventory changes need to stop.
Then stop the server cleanly from the panel or console. Do not just force-kill it while it is saving chunks. A clean shutdown writes world and player data properly, reducing the chance of region-file corruption.
For a standard server, download or copy the complete server directory. That usually includes folders such as world, world_nether, world_the_end, plugins, mods, config, and libraries, plus files including server.properties, ops.json, whitelist.json, banned-players.json, banned-ips.json, usercache.json, and your server jar.
If you have only a few custom settings, it can be tempting to move just the world. Do not. A full copy gives you a known-good rollback point and preserves the details that are easy to forget.
Check for external databases
Some plugins store data outside their own folder. Economy, permissions, web maps, store integrations, voting tools, and cross-server systems may use MySQL or MariaDB instead of SQLite files. Copying plugins alone will not move that information.
Export those databases from the old host, then import them into the new database service. Update the plugin's connection details afterward. If the database hostname, username, or password changes, the plugin may start with a blank data set or fail to load until its config is corrected.
Also check whether you use remote services for Discord roles, payment stores, Dynmap, or backups. Those integrations may require a new server IP, port, firewall rule, or API allowlist entry.
How to migrate Minecraft server files to the new host
Set up the destination server with the same game version and server software before uploading files. For example, a Paper server should start as the same Paper build if possible, while a Forge or Fabric server needs the matching loader and Minecraft version. Starting with the wrong jar is one of the fastest ways to generate incompatible configs or crash on boot.
Use the host's file manager, SFTP access, or migration service to transfer your files. For bigger modpacks and large worlds, SFTP is usually more reliable than browser uploads, especially when you need to resume a transfer. Keep the folder structure intact. The contents of your old server's root directory should land in the new server's root directory, not inside an extra nested folder.
After upload, confirm the essentials are present:
- Every world folder, including Nether and End dimensions
pluginsand plugin configuration folders for Paper or Purpurmods,config,defaultconfigs, andkubejswhere relevant for Forge or Fabric- Player, whitelist, ban, operator, and server property files
- Resource packs, datapacks, scripts, and custom jars
Do not overwrite panel-created files blindly if your new host provides a specific startup configuration. Compare them first. The server jar name, startup command, and allocated memory must match what the panel expects.
Match Java, RAM, and startup settings
Minecraft versions have Java requirements. Modern releases generally need newer Java versions, while older modpacks can depend on Java 8 or 17. If a modded server worked on one Java version and immediately crashes after the move, check this before assuming files were damaged.
RAM should be appropriate for the actual workload, not just the number of players. A lightweight Paper SMP may run well with a modest allocation and good single-core CPU performance. A Forge pack with hundreds of mods needs more memory, but adding RAM alone will not fix poor tick performance. CPU speed, chunk generation, entity counts, and plugin efficiency still matter.
Copy your JVM flags only if you understand why they were there. Flags that helped an older Java build may be unnecessary or counterproductive on a newer runtime. Start with sensible defaults if your new host manages Java settings, then tune after you have real TPS and memory data.
This is where Minecraft-focused infrastructure matters. Fast Ryzen or EPYC cores help the main server thread keep up, while NVMe Gen4 storage reduces the pain of loading and saving chunks. Hardware will not rescue a broken plugin, but it gives a healthy server room to perform.
Never change two things at once. A migration is a hardware change only: same game version, same jar, same Java, same plugins. Save upgrades for later. If something breaks after the move, you need to know it was the move — not the update you decided to bundle in.
Run a private test before opening the doors
Start the migrated server with the whitelist enabled. Watch the console from the first boot through full world load. A few warnings can be normal, but repeated errors, missing dependency messages, failed database connections, or registry mismatches need attention before players join.
Join with a test account and check more than spawn. Travel through the Overworld, Nether, and End. Open inventories and ender chests. Test claims, ranks, homes, warps, shops, crates, quests, minigame arenas, and any commands your community uses every day. On a modded server, verify that modded blocks, machines, dimensions, and player inventories load correctly.
Then check performance under realistic conditions. Use your normal profiler or server diagnostics to inspect TPS, MSPT, memory use, and CPU behavior. Fresh hardware can make a server feel faster, but new chunk generation is still demanding. If players will explore a new map area after launch, pre-generating chunks can prevent the first few sessions from becoming a TPS test nobody asked for.
If you run a network, test proxy forwarding carefully. BungeeCord, Velocity, backend servers, firewall rules, forwarding secrets, and online-mode settings must agree. A small mismatch can cause duplicate UUID issues, failed logins, or players spawning without their expected data.
Switch the address only after the test passes
Once the private test is clean, update your domain or share the new IP and port with players. Keeping the same domain is easiest for a community because nobody needs to edit their server list. DNS changes can take time to reach everyone, so leave the old server offline after the final backup rather than letting players split activity between two worlds.
Keep the old server files and final backup for at least several days. Do not cancel the previous service the minute the new server opens. That short overlap gives you a recovery path if you discover a missing database table or a config issue during the first busy session.
For administrators moving from a host with slow storage, unclear support, or a panel that makes every change feel risky, a managed migration can be worth using. Elysium can help move the files and verify the environment, but you should still know what is being transferred and keep your own backup. Your world is too valuable to trust to a single copy.
A good migration is not exciting, and that is exactly the point. Players should log in, find their builds, keep their inventories, and get back to playing while you watch a stable TPS graph instead of emergency console errors.
Elysium transfers worlds, plugins, mods, configs, and player data onto Ryzen and NVMe Gen4 — with version checks and a private test run before your players ever see the new address. Details on the migration page, plans on the order page.