Ce guide couvre tout ce qu'il faut savoir pour lancer un serveur FiveM et le faire vivre : de la clé de licence jusqu'aux réglages avancés. Chaque section contient des exemples prêts à copier. Si vous débutez, suivez-le dans l'ordre. Si votre serveur tourne déjà, utilisez le sommaire pour aller droit au sujet qui vous intéresse.
Sur EsoterHost, le serveur officiel de Cfx.re, txAdmin et la base de données MariaDB sont installés automatiquement. Les étapes d'installation de ce guide vous servent surtout à comprendre ce qui se passe. Pour le démarrage rapide, voyez le guide FiveM : installer votre serveur avec txAdmin.
Comment fonctionne un serveur FiveM
FiveM est une modification multijoueur de GTA V développée par Cfx.re. Le serveur, appelé FXServer, ne contient pas GTA V : il fait tourner des ressources, c'est-à-dire des dossiers de scripts (Lua, JavaScript ou C#), de cartes, de véhicules ou d'interfaces. Chaque joueur doit posséder GTA V sur PC et lancer le client FiveM.
Un serveur se compose de quatre éléments :
| Élément | Rôle |
|---|---|
| FXServer (les « artefacts ») | Le programme serveur officiel de Cfx.re |
| server.cfg | Le fichier de configuration : nom, places, ressources démarrées, réglages |
| resources/ | Le dossier qui contient toutes les ressources |
| txAdmin | Le panneau web pour démarrer, surveiller et administrer le serveur |
La plupart des serveurs roleplay ajoutent une base de données MySQL ou MariaDB, utilisée par les frameworks ESX, QBCore ou Qbox pour enregistrer les joueurs, l'argent, les véhicules et les inventaires.
Prérequis
- Une copie de GTA V sur PC et le client FiveM pour vous connecter.
- Un compte Cfx.re, gratuit, sur portal.cfx.re.
- Une clé de licence liée à l'adresse IP de votre serveur, gratuite elle aussi.
- Un serveur : 2 vCPU et 4 Go de RAM suffisent pour débuter (formule Basic, par mois). Comptez plus pour un gros serveur roleplay chargé en scripts et en cartes.
La clé gratuite autorise jusqu'à 48 joueurs. Au-delà, il faut un abonnement Element Club de Cfx.re. Le détail est dans la section Plus de 48 joueurs.
Étape 1 : créer la clé de licence
- Connectez-vous sur portal.cfx.re avec votre compte Cfx.re.
- Ouvrez Server Registration Keys, puis créez une clé.
- Saisissez l'adresse IP de votre serveur, sans le port.
- Copiez la clé : elle commence par
cfxk_.
La clé se place dans le server.cfg, sur la ligne sv_licenseKey. Ne la partagez jamais : quelqu'un qui la possède peut la révoquer ou s'en servir à votre place.
Étape 2 : txAdmin
txAdmin est livré avec FXServer. Au premier lancement, il propose un assistant :
- Il vous demande un nom de serveur.
- Il vous laisse choisir un modèle (« recipe ») : un serveur de base, ESX Legacy, QBCore, Qbox ou vMenu.
- Il télécharge les ressources du modèle, crée la base de données et écrit le server.cfg.
- Il vous demande la clé de licence, puis démarre le serveur.
| Modèle | Pour quoi faire |
|---|---|
| FiveM Basic Server (CFX Default) | Un serveur simple : freeroam, courses, tests de scripts |
| ESX Legacy | Le framework roleplay historique, très documenté |
| QBCore | Un framework roleplay complet et populaire |
| Qbox | Une version modernisée de QBCore, basée sur ox_lib |
| vMenu | Un serveur libre avec un menu d'administration en jeu |
Une fois le serveur lancé, txAdmin sert à tout : redémarrages programmés, console en direct (Live Console), liste des joueurs, avertissements et bannissements, éditeur du server.cfg (menu CFG Editor) et suivi des performances.
Étape 3 : comprendre le server.cfg
Voici un server.cfg complet et commenté pour un serveur de base. Les lignes qui commencent par # sont des commentaires.
# Adresse d'écoute : txAdmin la règle pour vous sur EsoterHost
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
# Ressources de base de Cfx.re (chat, carte, apparition des joueurs…)
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap
# Vos ressources (l'ordre compte : une ressource après ses dépendances)
ensure oxmysql
ensure mon-script
# Informations affichées dans la liste des serveurs
sv_hostname "Mon serveur FiveM | Roleplay FR"
sets sv_projectName "Mon serveur FiveM"
sets sv_projectDesc "Serveur roleplay francophone, whitelist ouverte"
sets locale "fr-FR"
sets tags "roleplay, french, serious"
load_server_icon logo.png
# Places : 48 au plus avec la clé gratuite
sv_maxclients 48
# OneSync : obligatoire au-delà de 32 joueurs et pour la plupart des scripts récents
set onesync on
# Version du jeu imposée aux joueurs (contenus des mises à jour GTA Online)
sv_enforceGameBuild 3258
# Connexion à la base de données, utilisée par oxmysql
set mysql_connection_string "mysql://utilisateur:motdepasse@127.0.0.1/fivem?charset=utf8mb4"
# Droits d'administration (ACE)
add_ace group.admin command allow
add_ace group.admin command.quit deny
add_principal identifier.fivem:1234567 group.admin
# Clé de licence (portal.cfx.re), à garder secrète
sv_licenseKey "cfxk_votre_cle"Les commandes à connaître :
| Commande | Effet |
|---|---|
ensure nom | Démarre la ressource, ou la redémarre si elle tourne déjà |
start nom / stop nom | Démarre ou arrête une ressource |
set / sets | Crée une variable serveur. sets la rend visible dans la liste des serveurs |
sv_maxclients | Nombre maximal de joueurs |
sv_enforceGameBuild | Version de GTA V imposée (par exemple 3258 pour les contenus récents) |
exec fichier.cfg | Charge un autre fichier de configuration |
add_ace / add_principal | Accorde des droits à un groupe ou à un joueur |
Sur un gros serveur, découpez la configuration : un fichier resources.cfg pour les ensure, un fichier permissions.cfg pour les droits, chargés depuis server.cfg avec exec resources.cfg. C'est plus lisible et vous évitez de casser le fichier principal.
Le server.cfg est expliqué ligne par ligne dans le guide server.cfg FiveM : toutes les commandes.
Étape 4 : ajouter des ressources
Une ressource est un dossier placé dans resources/ qui contient au minimum un fichier fxmanifest.lua. Pour installer une ressource téléchargée :
- Décompressez-la et vérifiez que le dossier contient bien
fxmanifest.luaà sa racine (et pas dans un sous-dossier). - Envoyez le dossier dans
resources/avec le gestionnaire de fichiers du panel ou en SFTP. Les dossiers entre crochets, comme[standalone], servent seulement à ranger. - Lisez le fichier README : beaucoup de ressources demandent d'importer un fichier
.sqldans la base de données. - Ajoutez
ensure nom-du-dossierdans le server.cfg, après ses dépendances. - Redémarrez le serveur depuis txAdmin, ou tapez
refreshpuisensure nom-du-dossierdans la Live Console.
Voici la structure d'une ressource minimale :
resources/
└── [scripts]/
└── mon-script/
├── fxmanifest.lua
├── config.lua
├── client.lua
└── server.luafx_version 'cerulean'
game 'gta5'
lua54 'yes'
name 'mon-script'
author 'Votre nom'
description 'Ma première ressource'
version '1.0.0'
shared_script 'config.lua'
client_script 'client.lua'
server_script 'server.lua'Pour écrire vos propres scripts, suivez le guide Créer un script FiveM en Lua, et piochez dans la bibliothèque de scripts FiveM.
Étape 5 : la base de données
Les frameworks roleplay ont besoin d'une base MySQL ou MariaDB. La ressource oxmysql fait le lien entre vos scripts et la base. Elle lit la variable mysql_connection_string du server.cfg.
set mysql_connection_string "mysql://utilisateur:motdepasse@127.0.0.1/fivem?charset=utf8mb4"
ensure oxmysqlExemple d'utilisation dans un script serveur :
-- Lire l'argent d'un joueur à partir de son identifiant
local row = MySQL.single.await('SELECT money FROM users WHERE identifier = ?', { identifier })
print(row and row.money or 0)
-- Ajouter une ligne
local id = MySQL.insert.await('INSERT INTO logs (identifier, action) VALUES (?, ?)', { identifier, 'connexion' })La base MariaDB est installée dans votre serveur et déjà renseignée dans l'assistant de txAdmin. Ses identifiants sont dans la carte FiveM de l'onglet Console (Accès à txAdmin et à la base de données). Une copie complète de la base est faite avant chaque sauvegarde du panel.
Pour importer un fichier .sql fourni avec une ressource, ouvrez la base avec un outil comme HeidiSQL ou DBeaver, ou passez par la console de votre ordinateur avec un tunnel. Le plus simple reste souvent la ressource elle-même : beaucoup créent leurs tables au premier démarrage.
Étape 6 : devenir administrateur
FiveM gère les droits avec le système ACE (Access Control Entries). Un joueur est reconnu par ses identifiants : license:, fivem:, discord:, steam:.
# Groupe admin : toutes les commandes, sauf l'arrêt du serveur
add_ace group.admin command allow
add_ace group.admin command.quit deny
# Groupe modérateur : seulement quelques commandes
add_ace group.moderator command.kick allow
add_ace group.moderator command.annonce allow
# Rattacher des joueurs à des groupes
add_principal identifier.fivem:1234567 group.admin
add_principal identifier.discord:123456789012345678 group.moderatorPour trouver l'identifiant d'un joueur connecté, ouvrez la liste des joueurs dans txAdmin. Les commandes de vos scripts se protègent ensuite simplement : RegisterCommand('nom', fonction, true) réserve la commande aux joueurs qui ont le droit command.nom.
Plus de 48 joueurs : OneSync et Element Club
- OneSync synchronise les entités côté serveur. Il est nécessaire au-delà de 32 joueurs et pour la plupart des scripts modernes. Activez-le avec
set onesync on. - La clé gratuite autorise 48 joueurs. Au-delà, prenez un abonnement Element Club, palier Argentum ou plus, sur le compte qui a créé votre clé.
- Augmentez ensuite
sv_maxclientsdans le CFG Editor de txAdmin, puis redémarrez.
Si sv_maxclients dépasse 48 alors que votre clé n'a pas d'abonnement Element Club, les joueurs sont refusés à la connexion. Revenez à 48 ou vérifiez votre abonnement.
Sécurité : les bons réflexes
- Ne donnez jamais votre clé de licence, vos identifiants txAdmin ou ceux de la base de données.
- N'installez que des ressources de confiance. Une ressource peut tout faire sur votre serveur : lire la base, envoyer des données ailleurs. Lisez le code des ressources gratuites trouvées sur des forums inconnus, et méfiez-vous des fichiers obscurcis.
- Validez tout côté serveur. Un tricheur peut déclencher n'importe quel événement réseau. Un événement qui donne de l'argent ne doit jamais faire confiance au montant envoyé par le client (exemples dans le guide Créer un script FiveM en Lua).
- Gardez txAdmin à jour et changez son mot de passe de départ.
- Programmez des sauvegardes dans l'onglet Sauvegardes et tâches du panel : elles contiennent vos fichiers et une copie de la base.
Performances : garder un serveur fluide
- Tapez
resmon 1dans la console F8 du jeu pour voir le temps processeur de chaque ressource côté client. Une ressource qui dépasse régulièrement 0,5 ms mérite d'être optimisée. - Côté serveur, la commande
profiler record 500puisprofiler viewdans la Live Console mesure le coût de chaque ressource. - Évitez les boucles
while true do Wait(0)qui tournent pour rien. Le guide Optimiser un serveur FiveM détaille les techniques. - Les cartes et véhicules ajoutés (« streaming ») allongent le chargement des joueurs : regroupez-les et compressez les textures.
Mettre à jour le serveur
Les artefacts FXServer évoluent souvent. Cfx.re publie une version recommandée, testée, et des versions plus récentes. Une version trop ancienne peut empêcher les joueurs de se connecter après une mise à jour du client, ou bloquer Element Club.
Le serveur installe la version recommandée par Cfx.re au premier démarrage. Pour passer à une version plus récente, supprimez le dossier server dans le gestionnaire de fichiers puis redémarrez : la dernière version recommandée est téléchargée, vos ressources et votre base ne bougent pas.
Questions fréquentes
Mon serveur n'apparaît pas dans la liste
Attendez quelques minutes après le démarrage : la liste peut mettre jusqu'à 8 minutes à se mettre à jour. Vérifiez ensuite que la clé de licence est acceptée (la Live Console affiche « license key authentication succeeded ») et que sv_maxclients ne dépasse pas ce que votre clé autorise.
« Couldn't load resource » au démarrage
Le dossier de la ressource ne contient pas fxmanifest.lua à sa racine, ou le nom dans ensure ne correspond pas exactement au nom du dossier (les majuscules comptent).
Les joueurs restent bloqués au chargement
Une ressource plante côté client ou le streaming est trop lourd. Retirez les dernières ressources ajoutées une à une, et consultez la console F8 d'un joueur bloqué.
Puis-je installer ESX ou QBCore après coup ?
Oui, mais c'est plus simple de repartir d'un modèle txAdmin. Le guide Installer ESX Legacy ou QBCore explique les deux méthodes.
EsoterHost n'est ni approuvé, ni sponsorisé, ni affilié à Rockstar Games ou à Cfx.re. FiveM et Grand Theft Auto V sont des marques de leurs propriétaires.
