Migrating a game server sounds simple until you’ve got a world people have spent weeks building, a mod list that barely behaves, and that one plugin nobody remembers installing but the whole server somehow depends on.
And then you need to move hosts.
Maybe your old host is shutting down. Maybe performance is rough. Maybe you’re moving from a paid server to something free like Gaming4Free (gaming4free.net) because, honestly, paying monthly while you’re still “testing if the server idea works” is kind of brutal.
Either way, the goal is the same.
Move the server. Keep the progress. Don’t nuke the world.
This guide is written for that exact situation. It’s not “perfect enterprise sysadmin” advice. It’s the real checklist that keeps your world, players, inventories, configs, and sanity intact.
Before you touch anything, get clear on what “progress” actually means
Different games store progress differently. So first, define what you absolutely cannot lose.
Usually it’s this:
- The world map (the big one)
- Player data (inventories, XP, ender chest, faction claims, money, etc.)
- Server config files (ports, rules, server name, difficulty)
- Plugins/mods and their data folders
- Whitelist / banlist / permissions
- Economy databases (sometimes flat files, sometimes SQLite/MySQL)
- Logs? Not required, but sometimes helpful if you’re debugging after migration
If you migrate only the world folder but forget player data, everyone spawns fresh and you’ll hear about it immediately.
The golden rule: make a real backup, then make another one
If you do nothing else, do this properly.
What a “real backup” means
A real backup is:
- Taken while the server is stopped (or at least while the world is saved and locked properly)
- Stored outside the server machine (downloaded to your PC, Google Drive, whatever)
- Verified by checking that files actually exist and are not 0KB placeholders
If your host has a backup button, great, use it. But still download your own copy. Control matters.
Quick backup checklist (works for most games)
- Stop the server
- If it’s Minecraft, run
save-allthensave-offfirst (if you can), then stop - Download the entire server directory or at least all critical folders (we’ll list them per game below)
- Zip it on your computer
- Keep it somewhere safe before you start uploading anything to the new host
It feels like overkill right up until the moment you need it.
Step 1: Identify what server type you’re running (this changes everything)
This is where people mess up migrations.
Minecraft (most common)
You might be running:
- Vanilla
- Paper / Spigot / Bukkit (plugins)
- Forge (mods)
- Fabric (mods)
- Hybrid setups (usually pain)
Each stores important data in slightly different places.
Terraria
Progress is often a mix of:
- World file(s)
- Player file(s) (sometimes stored client side, sometimes on the host depending on setup)
- Server config
FiveM
Now you’re dealing with:
server.cfgresources/- databases (often MySQL)
- framework data (ESX/QBCore, etc.)
- txAdmin data if you use it
So don’t jump ahead yet. First you find out exactly what you’re running, then you move the right pieces.
Step 2: Take note of versions, mods, and plugin lists (boring but necessary)
Before migration, write these down:
- Game server version (example: Minecraft 1.20.4)
- Server jar/type (Paper build number, Forge version, Fabric loader version)
- Plugin list or mod list (and versions)
- Java version (for Minecraft especially)
- Any external services: MySQL host, Redis, webhooks, Discord bots, etc.
Why?
Because “world moved but server won’t start” is usually a version mismatch problem. The world is fine. The server just can’t load it.
Step 3: Copy the right files (by game)
Let’s get specific.
Minecraft: what to migrate so nothing resets
At minimum, you want:
world/(or whatever your level-name is)world_nether/andworld_the_end/if separate (Paper often uses these)server.propertieswhitelist.jsonbanned-players.jsonbanned-ips.jsonops.jsonpermissions.yml(if applicable)plugins/folder (for Paper/Spigot)mods/+config/(for Forge/Fabric)datapacks/if you use them (usually inside the world folder underdatapacks/)- Any database files like
*.db(SQLite) used by economy/claims plugins
Player data locations (Minecraft):
- In a vanilla style world:
world/playerdata/ - Advancements:
world/advancements/ - Stats:
world/stats/
If those are missing, players keep the world but lose their stuff and progress.
One more Minecraft gotcha: the world name
In server.properties there’s a line like:
level-name=world
If your world folder is named something else (like MySMPWorld), you must either rename the folder to match or update level-name. Otherwise the server quietly generates a new world and you think you lost everything.
That’s the classic heart attack moment. It’s usually just a folder name mismatch.
Terraria: what to migrate
Terraria servers usually need:
- The
.wldfile (world) - The
.wld.bakfile (backup, optional but nice) serverconfig.txtor whatever config you used- Any host-specific files (depends on control panel)
Player progress note: Terraria player characters are commonly stored on the players’ own PCs (the .plr files). So your world progress is server side, but player inventories might not be. If you were using a setup that stores player data server-side, migrate those files too. If not, don’t panic if you “can’t find player files”. They may not exist on the server at all.
FiveM: what to migrate
FiveM migrations can be smooth, or they can turn into a weekend project.
At minimum:
server.cfgresources/(and make sure it includes all custom scripts)txData/if using txAdmin (optional but often important)- Any custom configuration files inside resources
- Database credentials and the database itself
Database: the real FiveM progress
Most FiveM “progress” lives in MySQL.
That includes:
- player money
- jobs
- inventory
- owned vehicles
- housing
- gangs
- everything people care about
So you need to migrate the database properly:
- If your old host provides phpMyAdmin, export the database as
.sql - Import it into the new database on the new host
- Update your connection string in
server.cfgor your framework config
If you skip this, the server will launch and look fine, but everyone will be level 1, broke, and furious.
Step 4: Move files to the new host the right way
There are a few ways to upload server files:
- Web file manager (okay for small servers, slow for big ones)
- FTP/SFTP (better)
- Direct backup restore tool (best if offered)
- Git or rsync (advanced, usually not needed for game servers)
If your server is big, upload in chunks
A large Minecraft world can be several GB. Uploading that through a browser can fail silently.
If you can:
- Zip the world folder locally
- Upload the zip
- Extract it on the server (some panels allow this)
If you’re using a hosting panel that supports easy file management and quick setup, that’s where a platform like Gaming4Free can be handy, especially for smaller communities that don’t want to pay just to keep a friends-only world online. You still need to migrate carefully, but the barrier to getting the new server running is lower.
Step 5: Verify the server starts before players join (seriously, do this)
This is where you test everything quietly before you announce the new IP.
Basic startup test
- Start server
- Watch the console for errors
- Confirm it loads the correct world (check spawn, known builds, etc.)
- Stop the server
- Fix issues
- Repeat
Minecraft sanity checks
Join the server yourself and verify:
- Your inventory exists
- Your XP level is correct
- Your ender chest items are there
- Claims, homes, warps, economy balance (if applicable)
If something is missing, do not let your players join yet. Fix first. Because the moment people join, plugins can create new player records and overwrite old ones depending on setup.
Common migration problems (and how to fix them)
“It generated a new world, my map is gone”
Almost always one of these:
level-namemismatch inserver.properties- World folder uploaded inside another folder by accident (example:
world/world/region) - Wrong server directory (you uploaded to
/home/container/worldbut server reads/home/container/server/worldor similar host-specific paths)
Fix: ensure the world folder is in the exact root where the server expects it, and the name matches.
“Players lost inventories but the world is there”
Likely causes:
- You didn’t migrate
world/playerdata/ - You started the server once without old playerdata and it generated new UUID files
- You changed online-mode settings (cracked vs premium) which changes UUID behavior
Fix:
- Restore
playerdata,advancements,stats - If you changed
online-mode, be careful. Migrating from offline-mode to online-mode (or the reverse) can cause UUID mismatches. That’s recoverable, but it’s a separate guide by itself. If you’re in that situation, pause and plan it, don’t wing it.
“Plugins aren’t working / configs reset”
Usually:
- You forgot to upload the
plugins/folder or it didn’t finish - You’re running a different server jar type now
- File permissions messed up (less common on managed hosting)
Fix: confirm your jar type matches what you used before (Paper to Paper, etc.). Upload the whole plugins folder including each plugin’s data folder.
“FiveM started but everyone lost progress”
Database didn’t migrate, or connection details changed.
Fix:
- Export old database
- Import into new database
- Update credentials and connection string
- Confirm tables exist and are populated
Step 6: Keep the old server frozen until you’re 100 percent sure
This is underrated.
Once the new server is live, don’t immediately delete the old one. Keep it stopped but intact for a few days.
Why?
Because someone will message you:
“Hey my inventory is missing” or “The server shop reset” or “My car is gone.”
And if you still have the old server data, you can compare files, re-export the database, or restore a missing plugin folder. If you deleted it already, you’re stuck guessing.
So do this instead:
- Stop old server
- Backup it again
- Keep it for 3 to 7 days as a rollback option
Extra safety moves (worth it if this server matters)
1. Take a “pre-migration snapshot” and label it clearly
Name it something obvious like:
SMP_PRE_MIGRATION_2026-11-01.zip
Not “backup-final-2.zip”. You will not remember which is which later.
2. Test the backup locally if you can
For Minecraft, you can often run the server locally on your PC, drop the world folder in, and see if it loads. You don’t need to play for hours. Just confirm it starts and shows your builds.
3. Write down DNS and connection plans
If you use a custom domain like play.yourserver.com, plan the DNS switch.
A nice way to do it:
- Lower the DNS TTL ahead of time
- Move server
- Update A record
- Wait
For small friend groups, you can just post the new IP in Discord and call it a day. Totally fine.
A simple migration checklist you can literally copy paste
Here’s the no drama list:
- Stop server
- Download full server directory backup
- Zip and store locally
- Note versions, server type, mods/plugins, Java version
- Upload world folder and player data
- Upload configs:
server.properties, whitelist/ops/bans, plugin/mod configs - For FiveM: export and import database, update credentials
- Start server, watch console
- Join and verify: world, inventory, economy, claims, mods, permissions
- Keep old server stopped but available for rollback
- Announce new IP only after verification
If you’re moving to Gaming4Free, here’s the clean way to do it
If your goal is to stop paying monthly just to host a small community server, moving to a free host can make a lot of sense. That’s basically the entire point of Gaming4Free (https://gaming4free.net). It’s for people who want a server without committing money first.
Migration wise, the flow stays the same:
- Create the new server on G4F
- Match the version (Minecraft, Terraria, FiveM)
- Upload the correct world and data folders
- Restore configs and databases
- Test privately first
- Then invite everyone over
The platform you choose doesn’t remove the need for backups. But a smoother panel and a fresh setup does remove a lot of the messy friction, especially for new server owners.
Wrap up (the calm version)
A safe migration is basically two things:
- Backups you trust
- Moving the correct data, not just “the world folder”
Do it slow. Stop the server before copying. Test before you announce. Keep the old server around for a bit.
And if you’re at the stage where paying monthly doesn’t feel worth it anymore, it’s worth looking at a free hosting option like Gaming4Free. Even if it’s just to get your community through the next month while you figure out what you want long term.
Because the server isn’t the jar file.
It’s the world people built in it.
FAQs (Frequently Asked Questions)
What is the most important step before migrating a game server?
Before migrating, clearly define what "progress" means for your server. This usually includes the world map, player data (inventories, XP, faction claims), server config files, plugins/mods and their data folders, whitelist/banlist/permissions, economy databases, and optionally logs. Identifying these ensures you don't lose critical data during migration.
How do I create a reliable backup of my game server before migration?
A real backup should be taken while the server is stopped or the world is properly saved and locked. Store the backup outside the server machine—like on your PC or cloud storage—and verify that files exist and are not empty. For Minecraft, run 'save-all' then 'save-off' before stopping the server. Download the entire server directory or critical folders, zip them on your computer, and keep them safe before uploading to the new host.
Why is it important to know my game server type before migrating?
Different game servers store progress differently and require different files for migration. For example, Minecraft has variants like Vanilla, Paper/Spigot/Bukkit (plugins), Forge/Fabric (mods), each with unique data locations. Terraria stores player data often on client PCs. FiveM involves config files, resources folders, databases, and framework data. Identifying your exact server type ensures you migrate all necessary components without losing progress.
What files should I copy when migrating a Minecraft server to retain all progress?
At minimum, copy your world folders (world/, world_nether/, world_the_end/), server.properties, whitelist and ban lists (whitelist.json, banned-players.json, etc.), ops.json, permissions files (permissions.yml), plugin folder (plugins/), mods and configs (mods/, config/), datapacks inside the world folder, and any database files like SQLite used by plugins. Also ensure player data stored in world/playerdata/, advancements in world/advancements/, and stats in world/stats/ are included to prevent loss of player inventories or progress.
How do I handle version mismatches when migrating my game server?
Before migration, document your game server version (e.g., Minecraft 1.20.4), server jar/type (Paper build number, Forge version), plugin/mod lists with versions, Java version (for Minecraft), and any external services like MySQL hosts or Discord bots. Version mismatches often cause servers not to start after migration even if the world data is intact. Matching versions across old and new hosts prevents these issues.
What should I consider when moving my Terraria game server?
For Terraria servers, migrate the .wld world file along with its backup .wld.bak if available. Include your serverconfig.txt or equivalent configuration file and any host-specific files related to your control panel setup. Note that player characters are commonly stored on players' own PCs as .plr files rather than on the server itself, so player progress may not be affected by server migration.