Louer un VPS et y installer FiveM soi-même, c'est une heure de travail et beaucoup de liberté : vos ressources, vos réglages, vos outils. Ce guide reprend la procédure complète sur un serveur Linux nu, du premier apt update au serveur qui redémarre tout seul, avec les pièges qui font perdre une soirée.
1. Ce qu'il vous faut
Un serveur FiveM tient sur une machine modeste, mais il est exigeant sur un point précis : la fréquence du processeur. La logique du jeu tourne sur un seul thread, donc un processeur rapide sert plus qu'un processeur à beaucoup de cœurs.
Le minimum pour démarrer : 2 vCPU, 4 Go de RAM et 20 Go de disque, sur un VPS Linux en Debian 12 ou Ubuntu 22.04. Pour un serveur roleplay complet avec un framework et une base de données, comptez plutôt 8 Go. Notre calculateur vous donne la taille selon votre nombre de joueurs.Il vous faut aussi un accès SSH root au VPS, un compte Cfx.re pour la clé de licence, et une trentaine de minutes.
Ce guide part d'un VPS nu, avec un accès root. Si vous préférez un panneau web qui installe et supervise le serveur à votre place, regardez plutôt le VPS Ptérodactyl ou nos serveurs FiveM gérés. Le résultat en jeu est identique : ce qui change, c'est qui administre la machine.
2. Préparer le VPS
Connectez-vous en SSH, mettez le système à jour et installez les quelques paquets nécessaires.
apt update && apt upgrade -y
apt install -y curl xz-utils git screen
Ne faites jamais tourner FXServer en root. Le serveur exécute des scripts tiers : une ressource malveillante aurait les pleins pouvoirs sur la machine. Créez un utilisateur dédié, sans droits d'administration.
adduser --disabled-password --gecos "" fivem
mkdir -p /home/fivem/server /home/fivem/server-data
chown -R fivem:fivem /home/fivem
Tout le reste de ce guide se fait avec cet utilisateur. Pour basculer dessus :
su - fivem
3. Installer les artefacts FiveM
Les artefacts sont le serveur lui-même (FXServer). Ils se téléchargent depuis le site officiel de Cfx.re, à l'adresse runtime.fivem.net/artifacts/fivem/build_proot_linux/master/. Prenez une build récente et marquée comme recommandée : les toutes dernières peuvent contenir des régressions.
Copiez le lien de l'archive fx.tar.xz depuis cette page, puis téléchargez-la dans le dossier du serveur. Dans la commande ci-dessous, XXXX correspond au numéro de la build que vous avez choisie : remplacez-le par la valeur exacte du lien copié.
cd /home/fivem/server
wget https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/XXXX/fx.tar.xz
tar xf fx.tar.xz
rm fx.tar.xz
Récupérez ensuite les ressources de base, maintenues par Cfx.re. Elles contiennent le strict nécessaire pour démarrer, sur lequel viendront s'ajouter vos scripts.
cd /home/fivem
git clone https://github.com/citizenfx/cfx-server-data.git server-data
Vous avez maintenant deux dossiers : server pour le moteur, server-data pour vos ressources et votre configuration. Les garder séparés rend les mises à jour beaucoup plus simples, comme expliqué plus bas.
4. Obtenir la clé Cfx.re
Un serveur FiveM refuse de démarrer sans clé de licence. Elle est gratuite et s'obtient depuis le portail Cfx.re, avec le compte que vous utilisez déjà en jeu.
Connectez-vous sur portal.cfx.re, ouvrez la section des clés de serveur, générez une nouvelle clé en indiquant l'adresse IP de votre VPS, et conservez-la de côté. Une clé correspond à un serveur : n'utilisez pas la même sur deux machines en même temps.
Elle ne doit jamais apparaître dans une capture d'écran, un dépôt Git public ou un message d'aide sur un forum. Si elle fuite, révoquez-la depuis le portail et générez-en une nouvelle : cela prend dix secondes.
5. Écrire le server.cfg
Le fichier server.cfg se place dans server-data. C'est lui que FXServer lit au démarrage : identité du serveur, ports, licence, ressources à charger, administrateurs.
Voici une configuration minimale mais complète, à adapter :
# Réseau : laissez 0.0.0.0 pour écouter sur toutes les interfaces
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
# Identité affichée dans la liste des serveurs
sv_hostname "Mon serveur RP"
sets locale "fr-FR"
sets tags "roleplay, france"
# Ressources de base
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap
# Joueurs et synchronisation
sv_maxclients 48
set onesync legacy
# Licence et sécurité
sv_licenseKey "VOTRE_CLE_CFX"
rcon_password "un-mot-de-passe-long-et-unique"
# Administrateur (remplacez par votre identifiant)
add_ace group.admin command allow
add_principal identifier.fivem:VOTRE_ID group.admin
Quelques points qui font perdre du temps à tout le monde :
sv_maxclients plafonne à 48 joueurs sans OneSync. Au-delà, il faut activer OneSync, avecset onesync on pour le mode Infinity, qui ne synchronise que ce qui entoure chaque joueur. Legacy convient jusqu'à 64 et accepte les scripts anciens.
rcon_password ne doit jamais rester vide ni valoir « changeme » : c'est un accès console complet à votre serveur.
Si vous ne voulez pas écrire ce fichier à la main, notre générateur de server.cfg produit un fichier commenté à partir d'un formulaire.
6. Premier lancement et txAdmin
Deux façons de démarrer. La première, directe, exécute votre configuration :
cd /home/fivem/server
bash run.sh +exec /home/fivem/server-data/server.cfg
La seconde passe par txAdmin, l'interface web livrée avec les artefacts. Lancée sans argument, elle ouvre un panneau sur le port 40120 qui crée le serveur, gère les redémarrages, les bans et les sauvegardes.
cd /home/fivem/server
bash run.sh
La console affiche alors un lien contenant un code à usage unique. Ouvrez http://IP_DU_VPS:40120 dans votre navigateur, créez le compte administrateur avec un mot de passe solide, puis laissez-vous guider : txAdmin sait pointer vers un dossier server-data existant.
txAdmin fait gagner du temps sur les redémarrages planifiés, les logs et les bans. La ligne de commande reste utile pour comprendre ce qui se passe et pour scripter. Les deux fonctionnent sur la même installation, vous n'avez pas à choisir définitivement.
7. La base de données, si vous utilisez un framework
ESX et QBCore stockent les personnages, l'inventaire et l'économie dans une base MySQL. Sur un VPS, on installe MariaDB à côté du serveur de jeu.
apt install -y mariadb-server
mysql_secure_installation
Créez ensuite une base et un utilisateur dédiés, plutôt que d'utiliser root :
CREATE DATABASE fivem CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'fivem'@'localhost' IDENTIFIED BY 'un-mot-de-passe-long';
GRANT ALL PRIVILEGES ON fivem.* TO 'fivem'@'localhost';
FLUSH PRIVILEGES;
Puis indiquez la connexion dans le server.cfg, avant les ressources qui en dépendent :
set mysql_connection_string "mysql://fivem:un-mot-de-passe-long@localhost/fivem?charset=utf8mb4"
Laissez MariaDB écouter uniquement en local. Une base exposée sur Internet est trouvée en quelques heures par les robots de scan.
8. Faire redémarrer le serveur tout seul
Tant que vous lancez le serveur à la main, il s'arrête dès que vous fermez la session SSH, et il ne revient pas après un redémarrage de la machine. Un service systemd règle les deux.
Créez le fichier /etc/systemd/system/fivem.service :
[Unit]
Description=Serveur FiveM
After=network.target mariadb.service
[Service]
Type=simple
User=fivem
WorkingDirectory=/home/fivem/server
ExecStart=/bin/bash /home/fivem/server/run.sh +exec /home/fivem/server-data/server.cfg
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Puis activez-le :
systemctl daemon-reload
systemctl enable --now fivem
systemctl status fivem
Les journaux se lisent avec journalctl -u fivem -f. Si vous utilisez txAdmin pour piloter le serveur, faites plutôt tourner txAdmin en service et laissez-le gérer le processus de jeu : n'ayez pas deux gestionnaires qui se battent pour la même instance.
9. Vérifier que tout fonctionne
Trois contrôles, dans cet ordre.
Le serveur écoute. Sur le VPS :ss -tulpn | grep 30120
Vous devez voir une ligne en TCP et une en UDP. S'il en manque une, revoyez les endpoint_add de votre server.cfg.
connect IP_DU_VPS:30120
Le serveur apparaît dans la liste. Cela peut prendre quelques minutes après le premier démarrage. Si la connexion directe marche mais que le serveur reste invisible, c'est presque toujours l'UDP filtré en sortie, ou une licence utilisée par une autre machine.
10. Mettre à jour les artefacts
Cfx.re publie de nouvelles builds régulièrement. La mise à jour consiste à remplacer le contenu du dossier server, jamais celui de server-data. Là encore, XXXX est à remplacer par le numéro de la build visée.
systemctl stop fivem
mv /home/fivem/server /home/fivem/server.old
mkdir /home/fivem/server && cd /home/fivem/server
wget https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/XXXX/fx.tar.xz
tar xf fx.tar.xz && rm fx.tar.xz
chown -R fivem:fivem /home/fivem/server
systemctl start fivem
Gardez l'ancien dossier quelques jours : si la nouvelle build casse une ressource, le retour en arrière prend une minute. Nos repères sur le choix d'une build sont détaillés dans quel build d'artefacts choisir.
11. Sauvegarder
Deux choses à sauvegarder : votre dossier server-data, qui contient la configuration et les ressources, et la base de données, qui contient vos joueurs.
# base de données
mysqldump -u fivem -p fivem > /home/fivem/backups/fivem-$(date +%F).sql
# ressources et configuration
tar czf /home/fivem/backups/server-data-$(date +%F).tar.gz /home/fivem/server-data
Programmez-le avec cron, et surtout copiez ces archives ailleurs que sur le VPS. Une sauvegarde qui vit sur la machine qu'elle protège ne protège de rien.
12. Sécuriser le serveur
Les bases, dans l'ordre d'importance : un utilisateur dédié sans droits root, une authentification SSH par clé plutôt que par mot de passe, un mot de passe RCON long, txAdmin restreint à votre IP, et les mises à jour système appliquées.
Côté réseau, un serveur de jeu public est une cible : les attaques par déni de service sur les serveurs FiveM sont fréquentes, souvent lancées par des joueurs mécontents. Nos VPS incluent une protection Anti-DDoS de 200 Tbps sans surcoût, et il existe aussi l'option d'un filtrage dédié FiveM.
Enfin, méfiez-vous des ressources téléchargées sur des sites de partage : un script obfusqué peut tout aussi bien voler vos données de joueurs que miner de la cryptomonnaie sur votre machine.
13. Les problèmes les plus fréquents
« Invalid license key » : la clé est utilisée ailleurs, révoquée, ou liée à une autre IP. Régénérez-la depuis le portail Cfx.re. Le serveur démarre puis s'arrête aussitôt : regardez les dernières lignes dejournalctl -u fivem -n 50. Neuf fois sur dix, c'est une ressource manquante dans un ensure, ou une erreur de syntaxe dans le server.cfg.
Personne ne peut se connecter alors que le serveur tourne : le trafic UDP n'arrive pas. Vérifiez que le port 30120 est bien joignable en UDP, et pas seulement en TCP.
Le port est déjà utilisé : une instance précédente tourne encore. systemctl stop fivem puis vérifiez avec ss -tulpn | grep 30120.
Le serveur rame aux heures de pointe : ce n'est presque jamais la RAM. Lancez resmon dans la console pour trouver les ressources qui consomment, la méthode est détaillée dans serveur FiveM qui lag.
D'autres cas classiques sont recensés dans notre guide des erreurs de démarrage FiveM.
En résumé
Installer FiveM sur un VPS tient en cinq gestes : préparer un utilisateur dédié, poser les artefacts, coller la clé Cfx.re dans un server.cfg propre, lancer par txAdmin ou en ligne de commande, puis confier le redémarrage à systemd. Le reste, base de données, sauvegardes et sécurité, se construit ensuite.
Si vous voulez commencer sans monter tout cela vous-même, nos VPS avec panel Pterodactyl font l'installation à votre place, sur la même infrastructure.
Questions fréquentes
Quelle configuration de VPS pour un serveur FiveM ?
Faut-il payer une licence pour héberger FiveM ?
Peut-on installer FiveM sur un VPS Windows ?
Quelle différence entre installer soi-même et un serveur géré ?
À lire ensuite
Pterodactyl : erreurs SteamCMD à l'installation
Egg Pterodactyl bloqué à l'installation ? Erreurs SteamCMD 0x202, 0x402, 0x602 et No subscription, image ghcr.io/parkervcp/steamcmd, nœud ARM ou MTU
Pterodactyl : plusieurs serveurs par machine
Conteneurs Docker, eggs, gestion multi-utilisateurs, dimensionnement… Le guide pour héberger et revendre plusieurs serveurs de jeux avec Pterodactyl.
Serveur FiveM qui ne démarre pas : solutions
Les erreurs de démarrage les plus fréquentes d'un serveur FiveM et leur solution : licence refusée, port occupé, connexion impossible, ressources en échec.