Moving Your Game Server Without Losing a Single World File
Changing hosts is stressful. Here's how to migrate to Galaxy Nexus with zero downtime and zero lost progress.
Galaxy Nexus Team
Galaxy Nexus Hosting
Changing hosting providers is one of those things nobody does for fun. It's stressful, there's always a risk of losing something, and you usually only do it because the old host let you down.
I've migrated more servers than I care to count. Here's the exact process I follow, and the gotchas I've learned to watch for.
Step 1: Back Up Everything on the Old Server
Before touching anything, get a full backup. Not a snapshot from the control panel: a proper file-level backup you control.
Connect to your old server via SFTP or FTP. Download the entire server directory to your local machine. Pay special attention to:
world/(and anyworld_nether/,world_the_end/folders)plugins/(configs, not just the jars)banned-players.json,ops.json,whitelist.jsonserver.propertiesandbukkit.yml(you'll need your settings)
Don't Trust Panel Backups
Control panel backups are great for daily snapshots but not for migrations. They sometimes skip config files, or the restore function assumes the same server path. Always grab files directly.
Step 2: Compress and Stage
Once downloaded, zip the whole thing:
zip -r server-backup.zip /path/to/serverThen upload that single zip to a staging location: either your local machine or a cloud bucket if you're working with someone remote. The point is to have one verified archive you can reference if something goes wrong.
Step 3: Set Up the New Server on Galaxy Nexus
Deploy a new server through the Galaxy Nexus panel. Pick the same game and close to the same specs (you can adjust resources later). Let it finish installing: you want the default files to exist so the panel knows the server is ready.
Then stop the server. You don't want it generating chunks or writing logs while you're uploading.
Step 4: Upload via SFTP
This is where having a good SFTP client matters. I use FileZilla or the built-in file browser in the Galaxy Nexus panel for smaller servers, but for anything over a few gigs, use a proper SFTP client with queue management.
Connect with the credentials from your server's settings page. Delete the auto-generated world folder. Upload your real world folder.
Upload order matters:
- World folders first (largest files, longest transfer)
- Plugin configs (small but critical)
- Plugin jars (you can redownload these, but uploading is faster)
- Everything else
Running a modpack with hundreds of plugins or mods? Upload the world first, start the server to verify it loads, then upload everything else. It's easier to troubleshoot step by step than to figure out which of 300 files broke something.
Step 5: Verify File Integrity
Before starting the server, run these checks:
- Compare world folder sizes between old server and new: they should be within a few MB
- Check that
server.propertiesport matches what the panel expects (usually 25565) - Make sure your LuckPerms config transferred (if you use it, and you should)
If anything looks off, cross-check the specific file. Folder names are case-sensitive on Linux: if the old host used WORLD/ and the Galaxy Nexus panel created world/, rename the folder.
Step 6: Fire It Up
Start the server from the panel. Watch the console output for the first 30 seconds:
- Are there plugin errors? Usually means a config path changed.
- Is the world loading? You should see chunk load messages.
- Can you connect? Try joining from the game client.
The DNS Trick
If you use a domain like play.myserver.com, update the DNS record to point to your new server IP before you decommission the old one. Give it an hour to propagate. During that window, some players will connect to the old server and some to the new one; old-world progress won't carry over, so warn them ahead of time.
Common Gotchas
Permissions reset. If nobody can do anything after the move, your LuckPerms file didn't transfer, or the folder structure is different. Check plugins/LuckPerms/.
UUID changes on Bedrock. If you're running a Bedrock-compatible server (Geyser), player UUIDs might differ between installations. Keep a copy of the Geyser config from the old server: the mappings file in particular.
Plugin versions mismatch. If the old host ran an older Java version, your plugins might be on older releases. Update them before installing, not after you notice features missing.
World border resets. If you had a custom world border configured in server.properties, the new server probably defaulted to a different value. Set it back before players explore beyond it.
The whole process takes about an hour for a typical server. Most of that is upload time. Take it step by step, verify at each stage, and your players won't even notice you moved.