Comment configurer un serveur FiveM sur Linux : artifacts, systemd et ufw

Exécutez un serveur FiveM sur Ubuntu ou Debian : téléchargez l'artifact, extrayez-le, démarrez run.sh avec txAdmin ou server.cfg, maintenez-le actif avec screen ou systemd, ouvrez les ports avec ufw.

Vous avez un VPS Linux (Ubuntu ou Debian) et vous voulez un serveur FiveM dessus. Le processus est court : obtenez les fichiers du serveur, démarrez-les, gardez-les en fonctionnement, et ouvrez les ports. Ce guide couvre chaque étape avec des commandes que vous pouvez copier.

Avant de commencer

Vous avez besoin d'une clé de licence de portal.cfx.re, consultez l'erreur de clé de licence si vous ne l'avez pas encore créée. Installez les outils que vous allez utiliser :

bash
sudo apt update
sudo apt install -y wget git xz-utils screen

Créez un utilisateur séparé, pour que le serveur ne s'exécute pas en tant que root :

bash
sudo adduser fivem
sudo su - fivem

Tout ce qui suit est fait en tant qu'utilisateur.

Télécharger l'artifact

Le programme serveur (« artifacts ») pour Linux provient de Cfx.re :

text
https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/

Ouvrez cette page, choisissez la version recommandée, et copiez le lien vers fx.tar.xz. Ensuite :

bash
mkdir -p ~/fivem/server
cd ~/fivem/server
wget https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/<build>/fx.tar.xz
tar xf fx.tar.xz
rm fx.tar.xz

Remplacez <build> par le chemin que vous avez copié. Après extraction, vous devriez voir un run.sh dans le dossier.

Obtenir les données du serveur

Les « données du serveur » c'est où votre server.cfg et vos ressources vivent. Les ressources de base Cfx.re sont sur GitHub :

bash
cd ~/fivem
git clone https://github.com/citizenfx/cfx-server-data.git server-data

Créez la config dans server-data/server.cfg :

cfg
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

sv_hostname "My FiveM server"
sv_maxclients 32
sv_licenseKey "cfxk_your_key_here"

ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap

Démarrer : txAdmin ou simple

Avec txAdmin (recommandé). Exécutez run.sh sans arguments. txAdmin démarre, imprime un PIN et une adresse web, et vous finissez la configuration dans le navigateur sur le port 40120 :

bash
cd ~/fivem/server
bash run.sh

txAdmin garde ses données dans un dossier txData, généralement dans le dossier à partir duquel vous l'avez démarré, alors démarrez-le toujours à partir du même endroit. Dans le panneau, vous pouvez utiliser une recette pour déployer un serveur de base, ou le pointer vers le dossier server-data que vous avez cloné.

Sans txAdmin. Démarrez à partir du dossier server-data et passez la config :

bash
cd ~/fivem/server-data
bash ../server/run.sh +exec server.cfg

Vous obtenez la console simple dans votre terminal. Appuyez sur Ctrl+C pour l'arrêter.

Si vous perdez votre mot de passe txAdmin plus tard, consultez txAdmin mot de passe oublié.

Le garder en fonctionnement avec screen

Le moyen rapide de garder le serveur actif après la déconnexion de SSH est screen :

bash
screen -S fivem
cd ~/fivem/server
bash run.sh

Détachez avec Ctrl+A, puis D. Le serveur continue à fonctionner. Réattachez plus tard :

bash
screen -r fivem

Cela fonctionne, mais rien ne redémarre le serveur si la machine redémarre ou si le processus meurt.

Le garder en fonctionnement avec systemd

Un service systemd démarre le serveur au boot et le redémarre après un crash. Créez le fichier en tant que root (ou avec sudo) :

bash
sudo nano /etc/systemd/system/fivem.service
ini
[Unit]
Description=FiveM server
After=network.target

[Service]
Type=simple
User=fivem
WorkingDirectory=/home/fivem/fivem/server
ExecStart=/bin/bash /home/fivem/fivem/server/run.sh
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Cela démarre txAdmin, qui gère le serveur de jeu lui-même. Ensuite, activez-le et démarrez-le :

bash
sudo systemctl daemon-reload
sudo systemctl enable fivem
sudo systemctl start fivem

Commandes utiles :

bash
sudo systemctl status fivem
sudo journalctl -u fivem -f
sudo systemctl restart fivem

La ligne journalctl affiche la sortie en direct, c'est où vous lisez le PIN txAdmin au premier démarrage.

Conseil : avec systemd il n'y a pas de console interactive. Exécutez-le avec txAdmin et utilisez la console en direct txAdmin, c'est la raison de préférer txAdmin sur Linux.

Ouvrir les ports avec ufw

bash
sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw allow 40120/tcp
sudo ufw enable

Autorisez SSH avant d'activer ufw, sinon vous vous verrouillez vous-même. La règle 40120 est pour txAdmin : si vous gérez le serveur uniquement à partir du VPS via un tunnel SSH, vous pouvez la laisser de côté. Vérifiez aussi le panneau de pare-feu de votre fournisseur d'hébergement. La vérification complète du réseau, y compris le test avec F8 connect, est dans Le serveur FiveM ne s'affiche pas : port forwarding et pare-feu.

Mise à jour plus tard

Pour mettre à jour, arrêtez le service, remplacez le contenu de ~/fivem/server par un nouvel artifact, et redémarrez-le. Votre txData et server-data restent en place. Les détails sont dans mise à jour des artifacts serveur FiveM.

Liste de contrôle

Symptôme Solution
Pas de run.sh après téléchargement Extrayez avec tar xf fx.tar.xz dans le dossier du serveur
Besoin du panneau txAdmin Exécutez bash run.sh sans arguments, ouvrez le port 40120
Démarrer sans txAdmin bash ../server/run.sh +exec server.cfg à partir de server-data
Le serveur s'arrête quand SSH se ferme Utilisez screen -S fivem ou un service systemd
Devrait démarrer au boot systemctl enable fivem
Les joueurs ne peuvent pas se connecter Autorisez 30120 tcp et udp dans ufw et dans le pare-feu de l'hôte

Réponses rapides

Comment exécuter un serveur FiveM sur Linux ?

Téléchargez l'artifact Linux depuis runtime.fivem.net, extrayez-le avec tar xf fx.tar.xz, et démarrez run.sh. Exécutez-le sans arguments pour txAdmin, ou avec +exec server.cfg pour démarrer le serveur directement.

Comment garder le serveur FiveM en fonctionnement après fermeture de SSH ?

Exécutez-le dans screen ou tmux, ou mieux, comme un service systemd qui démarre au boot et redémarre après un crash.

Dois-je exécuter FiveM en tant que root ?

Non. Créez un utilisateur normal pour cela. Cela limite les dégâts si une ressource est compromise, et txAdmin vous avertira quand il s'exécute en tant que root.

Des scripts sans ce problème

Mic PhoneUn téléphone pliable qui se déplie en tablette et se prolonge jusqu’au vrai téléphone du joueur.Voir le script →Advanced BoostingDu boosting de véhicules piloté par tablette : contrats de classe D à S+, crews et file d’attente en direct.Voir le script →Crypto MiningAchetez un entrepôt, montez vos rigs pièce par pièce et minez sur un marché qui bouge.Voir le script →

À lire aussi