Skip to content
Guide

How to Move a Game Server to a New Host

A host migration fails in one of three ways: the copy was taken while the server was still writing, the new server runs a different build, or the old server was cancelled before anyone checked the new one. This guide is the procedure that avoids all three, followed by the exact files and the one trap that matters for Minecraft, Rust, ARK, FiveM, Palworld and Valheim.

12 min read Intermediate Anti-DDoS hosting

Every game server is the same three things: a save (world, map or database), configuration (files plus launch parameters) and a build (game version, mod loader, mods). Move the first two, reproduce the third exactly, and the new host loads the world as if nothing happened. What differs between games is where the save lives and which setting silently makes the server ignore it and generate a fresh world instead — that is what the per-game sections below are for.

Jump to your game: Minecraft · Rust · ARK · FiveM · Palworld · Valheim. Moving to ESAGAMES? Our game server hosting gives you SFTP and a file manager, and support will help with the move.

Before you start

What you'll need

A quick checklist before you begin — have these ready and the rest is easy.

  • SFTP or file-manager access to the old server, and database access if the game uses one (FiveM).
  • The exact game build, mod loader or framework and mod list you run today.
  • The new server installed on that same build, started once and stopped.
  • Disk space for one compressed archive of the server on both hosts.
  • Access to your DNS zone if players connect through a domain, and a quiet maintenance window.
Step by step

The migration procedure, step by step

1

Write down the build and the launch settings

Before you stop anything, record what the new server has to reproduce: the exact game version, the mod loader or framework and every mod or plugin with its version, the ports, and the launch parameters. Many settings that decide which save gets loaded are startup parameters in the panel, not files — a Rust identity, a Valheim world name, an ARK cluster ID. Screenshot the startup page; it is not in your backup.

game version / build:
mod loader or framework + version:
mods / plugins (name + version):
launch parameters (world, identity, seed, cluster id):
ports:
save location (see your game below):
2

Prepare the new server and lower the DNS TTL

Install the same build on the new host, start it once so it creates its folders, then stop it. If players connect through a domain, lower the TTL of that DNS record (for example to 300 seconds) at least one old-TTL period before migration day, so the switch later reaches players in minutes instead of hours. Announce a maintenance window.

3

Stop the old server and make one archive

Stop the server with its normal stop command or the panel, so it writes a final save and nothing changes while you copy. Pack the save, configs and mods into a single archive: thousands of small files transfer far slower over SFTP than one file, and one file gives you a checksum to verify. Download a copy to your own computer — that copy is your rollback.

tar -czf migration.tar.gz <save folder> <config files> <mods folder>
sha256sum migration.tar.gz > migration.sha256
4

Transfer, verify and extract on the new host

Upload the archive and its checksum to the new server, check that the checksum matches, and only then extract it over the fresh default files while the new server is stopped. A mismatch means a broken transfer: upload again rather than extracting a damaged archive.

sha256sum -c migration.sha256
tar -xzf migration.tar.gz
5

Re-apply everything that is not in the files

Set the launch parameters, ports and RAM you recorded in step 1, plus anything tied to the old machine: database connection strings, license keys and hostnames. Start the server and read the console from the first line. Messages about generating or creating a new world mean it did not find your save — stop it at once, before that new world is saved over the name, and check the path for your game below.

6

Verify before any player joins

Check the things players would notice: the world with recent builds, one known player's inventory or character, admin permissions, and that every mod or plugin loaded. Then make a change, restart the server and confirm the change survived — that proves the new host writes saves where it reads them.

[ ] recent builds / bases present
[ ] a known player's inventory or character
[ ] admins and permissions work
[ ] all mods / plugins loaded, no console errors
[ ] a change survives a restart
7

Cut over the address

Point the DNS record at the new IP (and port, for a Minecraft SRV record), or publish the new IP:port if players connect directly. Update your Discord, website and server-list entries. Leave the old server stopped but untouched.

8

Keep a rollback until the new host has proven itself

If something serious shows up, start the untouched old server and point DNS back — with the low TTL that takes minutes. Progress made on the new host in the meantime is lost unless you copy it back, so decide within hours, not days. Cancel the old service only after several days of normal play, with the archive stored somewhere that is neither host.

Per game

What is different for each game

Minecraft (Java)

Move: the world folder named by level-name in server.properties (default world/); on Paper, Spigot or Bukkit before 26.1 also world_nether/ and world_the_end/. Plus server.properties, ops.json, whitelist.json, banned-players.json, banned-ips.json, and plugins/ with bukkit.yml, spigot.yml and config/ on Paper, or mods/ and config/ on Fabric/Forge.
Trap: keep online-mode unchanged. Offline players get a UUID derived from their name, and player data is stored per UUID, so flipping it makes every inventory look empty. Never load a world on an older Minecraft version than it was saved with. 26.1 restructured the world folder, so copy it whole instead of picking subfolders.
Address: Java players on a domain follow the _minecraft._tcp SRV record; Bedrock does not read SRV.
Minecraft server hosting

Rust

Move: the whole server/<identity>/ folder: the map .sav and .map, player.blueprints.*.db and the other player databases, and cfg/ (server.cfg, users.cfg with owners and moderators, bans.cfg). Plus oxide/ or carbon/ with plugins, config, data and lang.
Trap: the save is named proceduralmap.<size>.<seed>.<protocol>.sav. The new server needs the same +server.identity, server.seed and server.worldsize (or the same server.levelurl for a custom map), or it quietly generates a fresh map. The protocol must match too, so a mid-wipe move has to happen before the monthly forced wipe on the first Thursday.
Easiest: move on wipe day and carry only cfg, plugins and, if you keep them, blueprints.
Rust server hosting

ARK: Survival Ascended & Evolved

Move: ShooterGame/Saved/SavedArks/ with the map .ark, player .arkprofile and tribe .arktribe files (ASA keeps them in a per-map subfolder such as TheIsland_WP/), plus GameUserSettings.ini and Game.ini from ShooterGame/Saved/Config/WindowsServer/ or LinuxServer/.
Trap: ASA (server app 2430930) and ASE (376030) saves are not interchangeable. Load the same mods in the same order: ActiveMods in GameUserSettings.ini, or -mods= with CurseForge project IDs on ASA.
Clusters: copy the cluster folder too (default ShooterGame/Saved/clusters/, or wherever -ClusterDirOverride points) and start every map with the same -clusterid. Without it, uploaded characters, dinos and items are gone.
ARK server hosting

FiveM

Move: three separate things. The server-data folder (server.cfg and resources/); the MySQL/MariaDB database, exported with mysqldump, which holds every ESX or QBCore character, bank balance and inventory; and the txData/ folder with txAdmin's admins, profile settings and its own player and ban records. By default txData sits in the parent folder of the artifacts on Windows, and beside run.sh on Linux.
Trap: after importing the dump, point set mysql_connection_string "mysql://user:password@host:3306/database" at the new database (use set, never setr, which sends the password to clients). A string still aimed at the old host looks fine until the old host is cancelled.
Also: run the same FXServer artifact build, open your sv_licenseKey in the Cfx.re Portal and update it if it is tied to the old IP, and open port 30120 TCP and UDP.
FiveM server hosting

Palworld

Move: the world folder Pal/Saved/SaveGames/0/<world ID>/ in full (Level.sav, LevelMeta.sav, the Players/ folder and WorldOption.sav if present), plus PalWorldSettings.ini from Pal/Saved/Config/LinuxServer/ or WindowsServer/.
Trap: do not copy GameUserSettings.ini. Instead set DedicatedServerName= in the new server's own file to the uploaded folder's ID, character for character. If it does not match, the server does not error; it creates a brand-new world.
Settings ignored? A WorldOption.sav inside the world folder takes priority over PalWorldSettings.ini, so edit or remove it rather than the ini.
Palworld server hosting

Valheim

Move: from worlds_local/ in the save directory (~/.config/unity3d/IronGate/Valheim/ on Linux, %USERPROFILE%\AppData\LocalLow\IronGate\Valheim\ on Windows, or your -savedir path): since Valheim 1.0 (9 September 2026) each world is a folder named after the world, and you copy the whole folder; older builds use the <world>.db + <world>.fwl pair, and you need both. Also adminlist.txt, permittedlist.txt and bannedlist.txt, which sit beside worlds_local, not inside it. Modded: BepInEx/plugins and BepInEx/config.
Trap: a 1.0 server converts an older world on first load and takes a backup first. Let it finish, and check every BepInEx mod has a 1.0-compatible release. Keep the same -world, -password and -crossplay flags.
Characters are stored on each player's PC, so nothing to move for them.
Valheim server hosting

Troubleshooting

Common problems & fixes

Hit a snag? These are the issues people run into most — and how to solve them.

The server started with a brand-new world

It did not find your save. Stop it before it saves, then check the name or path setting for your game: level-name (Minecraft), identity, seed and world size (Rust), DedicatedServerName (Palworld), -world (Valheim), or map and mods (ARK).

The world is there but player inventories or characters are empty

Minecraft: online-mode was changed, so player UUIDs no longer match. Palworld: the Players folder was not copied. FiveM: the database was not imported or mysql_connection_string still points at the old one.

Mods or plugins fail to load after the move

The build differs. Match the game version, the mod loader or framework (Paper vs Fabric, Oxide vs Carbon, the FXServer artifact) and each mod version, then update deliberately once the server is stable.

Players cannot connect to the new server

Check the ports are open on the new host: Minecraft 25565 TCP, Rust 28015 UDP, ARK 7777 UDP (ASE also 7778 UDP and the 27015 query port), FiveM 30120 TCP and UDP, Palworld 8211, Valheim 2456-2457 UDP. If they use a domain, the old DNS answer may still be cached until the TTL expires.

ARK cluster transfers show nothing

The cluster folder did not come across, or the maps do not share it. Copy it, point every map at it with -ClusterDirOverride if it moved, and start all maps with the same -clusterid.

The archive checksum does not match after upload

The transfer was interrupted or corrupted. Upload the archive again and extract only after sha256sum -c reports OK.

Skip the setup — host it with ESAGAMES

Switching to ESAGAMES? Our game server hosting gives you SFTP, a file manager and one-click installs of the exact build you run today, with DDoS protection on a low-latency Frankfurt network — and support that helps you move the save.

Game Hosting hosting
FAQ

Frequently asked questions

Can I move a game server to another host without losing the save?

Yes. Stop the server so the save is complete, archive the save, configs and mods, install the identical build on the new host, extract the archive there and verify before players join. Keep the old server stopped but untouched until the new one has run normally for several days, so you can always roll back.

Where is the save for each game?

Minecraft: the world folder named by level-name. Rust: server/<identity>/. ARK: ShooterGame/Saved/SavedArks/. FiveM: the MySQL database plus txData/. Palworld: Pal/Saved/SaveGames/0/<world ID>/. Valheim: the world in worlds_local/ (a folder since 1.0, a .db + .fwl pair before). The per-game sections list the configs and traps for each.

Why did the new server create a fresh world instead of loading mine?

The server looked for the save under a name or path that does not match what you uploaded, and generated a new world instead of failing. The setting to check is level-name for Minecraft, identity plus seed, world size and protocol for Rust, the map and mods for ARK, DedicatedServerName for Palworld and -world for Valheim. Stop the server before the fresh world is saved over the name.

Can I move a save to a different game version or edition?

Only in the directions the game supports. Minecraft worlds must not be loaded on an older version. ARK: Survival Ascended and Survival Evolved saves are not interchangeable. A Rust save only loads on the same protocol, so it cannot cross a forced wipe. A Valheim 1.0 server converts an older world on first load. When in doubt, match the old build exactly and update after the move.

Is moving the resources folder enough for a FiveM server?

No. Resources are only the scripts; characters, money, jobs and inventories live in the MySQL or MariaDB database, and txAdmin admins and bans live in txData. Export and import the database, copy txData, and point mysql_connection_string at the new database.

Should I migrate a Rust server on wipe day?

If you can, yes. On wipe day the map and usually blueprints reset anyway, so you only move cfg and your Oxide or Carbon folder, and there is no seed, world size or protocol to match. Moving mid-wipe works too, but it has to happen before the next forced wipe.

Do players need a new address after the move?

Players who connect by IP need the new IP:port. Players who use a domain only need your DNS record updated, and if you lowered the TTL beforehand the change reaches them within minutes. For Minecraft Java a domain can also carry the port through an SRV record.

How long does a migration take?

Mostly as long as the archive takes to upload, plus one full test with a restart. A Palworld or Valheim world is quick to move; a large ARK cluster or modded Minecraft world takes longer. Time the upload of your archive before migration day and set the maintenance window from that.

How do I roll back if the new server has problems?

Start the untouched old server and point DNS back to it. This is why you stop the old server instead of deleting it and why the TTL is lowered in advance. Anything played on the new server in the meantime is lost unless you copy it back, so decide quickly.

Will ESAGAMES help me move my server?

Yes. Migration is a routine support request: tell us the game and where it is hosted now, and we will help you move the files and check that the save loads before you switch players over.

More guides

Keep reading

Ready to launch?

Protected, low-latency game hosting in Frankfurt — online in minutes with 24/7 support.