Logo

Migrate an existing FiveM server to VeryCloud

Migrate an existing FiveM server to VeryCloud

Move your FiveM server from another host (Zap, OVH, third-party host) to a VeryCloud VPS without data loss. Covers migrating artifacts, resources, MySQL database and txAdmin configuration.

Migrate an existing FiveM server to VeryCloud

Move your FiveM server from another host (Zap, OVH, third-party host) to a VeryCloud VPS without data loss. Covers migrating artifacts, resources, MySQL database and txAdmin configuration.

Introduction

Migrating a FiveM server can seem intimidating, but it's actually quite simple: everything lives in 2 folders (artifacts + server-data) and 1 MySQL database. This guide details the full procedure, including classic pitfalls (MySQL character sets, absolute paths in config, Cfx.re license).

Prerequisites

  • A VeryCloud VPS already ordered (Debian 12 / Ubuntu 22.04+ recommended)
  • Root access to the destination VPS
  • SSH or panel access on the old server (Zap, other host)
  • An SFTP client like FileZilla or WinSCP

Step 1: Prepare the destination VPS

First follow the FiveM + txAdmin guide to install artifacts, MariaDB and create the fivem user.

At the end of this step, you have:

  • /home/fivem/server/: FiveM artifacts
  • /home/fivem/server-data/: empty folder (will be replaced)
  • MariaDB installed and fivem user created

Step 2: Export the database from the old server

On the old server, open an SSH terminal and export the database:

mysqldump -u OLD_USER -p DATABASE_NAME > fivem-backup.sql

If you're on Zap, phpMyAdmin or a panel, use the Export → SQL feature from the interface.

Download the fivem-backup.sql file locally.

Tip: if the database is very large (>500 MB), compress it before transfer:

gzip fivem-backup.sql

Step 3: Archive the server-data folder

On the old server:

cd /path/to/server-data/..
tar -czf server-data-backup.tar.gz server-data/

Download server-data-backup.tar.gz locally.

On Zap or similar limited-access host, use SFTP to download the entire resources/, cache/, server.cfg folder, etc.

Important note: exclude the cache/ folder from transfer, it will be regenerated on startup. It can be several GB and slow things down unnecessarily.

tar -czf server-data-backup.tar.gz --exclude='server-data/cache' server-data/

Step 4: Transfer files to VeryCloud

From your local machine, use scp or SFTP to upload to the VeryCloud VPS:

scp fivem-backup.sql root@VERYCLOUD_VPS_IP:/tmp/
scp server-data-backup.tar.gz root@VERYCLOUD_VPS_IP:/tmp/

Or via FileZilla/WinSCP on SFTP port 22.

Step 5: Import the database

On the VeryCloud VPS:

sudo mysql -u root -p
CREATE DATABASE fivem CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON fivem.* TO 'fivem'@'localhost';
EXIT;

Import the dump:

sudo mysql -u root -p fivem < /tmp/fivem-backup.sql

Verify:

sudo mysql -u root -p -e "USE fivem; SHOW TABLES;"

Step 6: Restore the server-data folder

sudo su - fivem
cd ~
rm -rf server-data
tar -xzf /tmp/server-data-backup.tar.gz
chown -R fivem:fivem server-data

Step 7: Adapt the configuration

Edit server.cfg:

nano ~/server-data/server.cfg

Modify:

Cfx.re license

The old license is tied to the old IP. Get it from https://keymaster.fivem.net and update the IP in the keymaster panel (Edit button on the key).

OR create a new key with the VeryCloud VPS IP.

sv_licenseKey "your-new-cfx-key"

Absolute paths

If the old config contains absolute paths like /home/zap/..., replace them with the new paths:

grep -r "/home/zap" ~/server-data/
sed -i 's|/home/zap|/home/fivem|g' ~/server-data/server.cfg

Public listing IP

sets sv_listingHostOverride "VERYCLOUD_VPS_IP:30120"

MySQL connection

Look for resources that connect to MySQL (oxmysql, mysql-async, ghmattimysql). The connection is usually defined in:

grep -r "mysql_connection_string\|set mysql" ~/server-data/server.cfg

Adapt:

set mysql_connection_string "server=localhost;database=fivem;userid=fivem;password=SecurePassword!"

Step 8: First startup

Launch txAdmin:

~/server/run.sh

Log in to the txAdmin panel (http://IP:40120) with your existing credentials or create a new account.

Start the server. Inspect the logs: everything should load without errors. If a resource crashes, you'll see the error in the live console.

Step 9: Test from the client

Launch GTA V → FiveM → F8 →:

connect VERYCLOUD_VPS_IP:30120

Check:

  • Successful connection
  • Your data is there (characters, inventory, money, vehicles)
  • Resources work (commands, scripts)

Step 10: Migrate DNS and switch over

If you have a domain pointing to your FiveM server, update the DNS records at your registrar:

A     fivem.your-domain.com    →   VERYCLOUD_VPS_IP

TTL: 300 seconds during migration (for fast propagation).

Once migrated and stable, communicate the new IP / new name to your community.

Step 11: Configure systemd service

For automatic startup (see FiveM + txAdmin guide step 10):

sudo systemctl enable --now fivem

Don't delete the old server immediately. Keep it on standby for at least 7 days:

  • Lets you recover data in case of problems
  • Lets you compare if something doesn't work like before
  • Additional safety backup

After a week without issues, you can cancel.

Troubleshooting

Badly encoded characters (é, è, à...)

Import was done with wrong charset. Re-create the database and import with:

mysql -u root -p --default-character-set=utf8mb4 fivem < /tmp/fivem-backup.sql

Resource refuses to start

Compare resource versions with the old server. Often: the installed version isn't the same. Inspect the fxmanifest.lua and check dependencies.

"Couldn't find resource X"

The [local]/ folder or a resource folder wasn't transferred properly. Re-compare directory trees between old and new server:

diff <(ssh old-server "ls /path/server-data/resources") <(ls ~/server-data/resources)

Players can't connect but server is running

Check that ports 30120 (TCP+UDP) are properly open in:

  • UFW: sudo ufw status
  • Netrix (VeryCloud customer area)
  • server.cfg: endpoint_add_tcp "0.0.0.0:30120" and endpoint_add_udp "0.0.0.0:30120"

Migration from Zap-Hosting (special case)

Zap often uses a forked version of artifacts and a /games/.../ path. To recover the server-data folder from Zap:

  1. Go to Zap Panel → Manage → SFTP/Backup
  2. Download the full archive
  3. Unzip locally, identify the resources/, server.cfg folders, and the MySQL database exported from Zap's phpMyAdmin

Useful commands

# Check size of each resource (useful for diagnosis)
du -sh ~/server-data/resources/* | sort -h

# Count tables in the database
sudo mysql -u root -p -e "USE fivem; SHOW TABLES;" | wc -l

# Backup everything at once before final migration
tar -czf full-backup.tar.gz ~/server-data /etc/mysql
mysqldump -u root -p --all-databases | gzip > all-databases.sql.gz

# Check that port 30120 responds
nc -zvu VERYCLOUD_VPS_IP 30120

Conclusion

Migration is done, your community plays on a VeryCloud VPS with optimal performance and French technical support. For a fully managed migration by VeryCloud teams, open a support ticket: we offer a free migration service on Gaming VPS and Dedicated plans.

Resources

  • VeryCloud guide — Install FiveM + txAdmin: /docs/article/fivem-txadmin-install
  • VeryCloud guide — Diagnose a FiveM crash: /docs/article/fivem-debug-crash
  • Official FiveM documentation: https://docs.fivem.net
  • Cfx.re Keymaster: https://keymaster.fivem.net

Join our Discord community server

For any questions, suggestions, or just to chat with the community, join us on Discord!

900+Members