Comment installer ESX ou QBCore sur votre serveur FiveM

ESX vs QBCore : Lequel choisir ?

ESX Legacy

Avantages :

  • Communauté très large et établie
  • Énormément de scripts disponibles
  • Documentation complète
  • Stable et éprouvé
  • Facile pour les débutants

Inconvénients :

  • Code parfois ancien
  • Moins optimisé que QBCore
  • Structure plus rigide

QBCore

Avantages :

  • Code moderne et optimisé
  • Meilleure performance
  • Structure modulaire
  • Mises à jour fréquentes
  • Très personnalisable

Inconvénients :

  • Communauté plus petite
  • Moins de scripts disponibles
  • Courbe d'apprentissage plus élevée

Prérequis

  • Serveur FiveM fonctionnel
  • txAdmin installé (recommandé)
  • Accès FTP ou au gestionnaire de fichiers
  • Base de données MySQL/MariaDB
  • Connaissances de base en FiveM

Partie 1 : Installer ESX Legacy

Étape 1 : Télécharger ESX Legacy

  1. Rendez-vous sur https://github.com/esx-framework/esx_core
  2. Cliquez sur Code puis Download ZIP
  3. Extrayez le fichier ZIP sur votre ordinateur

Étape 2 : Préparer la base de données

Créer la base de données

  1. Connectez-vous à votre panel de gestion
  2. Accédez à Bases de données ou MySQL
  3. Créez une nouvelle base de données :
    • Nom : esx_legacy
    • Utilisateur : Créez un utilisateur avec tous les privilèges
    • Mot de passe : Notez-le précieusement

Importer le fichier SQL

  1. Ouvrez phpMyAdmin ou votre gestionnaire MySQL
  2. Sélectionnez la base de données esx_legacy
  3. Cliquez sur Importer
  4. Importez le fichier esx_core.sql (dans le dossier téléchargé)

Étape 3 : Installer les fichiers

Structure des dossiers

Dans votre dossier resources, créez la structure suivante :

resources/
└── [esx]/
    ├── es_extended/
    ├── esx_menu_default/
    ├── esx_menu_dialog/
    ├── esx_menu_list/
    └── esx_context/

Uploader les ressources

  1. Connectez-vous à votre FTP ou gestionnaire de fichiers
  2. Accédez au dossier resources
  3. Créez un dossier [esx] (avec les crochets)
  4. Uploadez tous les dossiers ESX dans [esx]/

Étape 4 : Configurer la connexion MySQL

Ouvrez le fichier server.cfg et ajoutez :

# Configuration MySQL pour ESX
set mysql_connection_string "mysql://utilisateur:motdepasse@localhost/esx_legacy?charset=utf8mb4"

# Alternative avec paramètres séparés
set mysql_connection_string "user=utilisateur;password=motdepasse;host=localhost;port=3306;database=esx_legacy"

Remplacez :

  • utilisateur : Votre utilisateur MySQL
  • motdepasse : Votre mot de passe MySQL
  • localhost : L'adresse de votre base de données
  • esx_legacy : Le nom de votre base de données

Étape 5 : Configurer server.cfg

Ajoutez ces lignes dans server.cfg :

# ESX Legacy
ensure es_extended
ensure esx_menu_default
ensure esx_menu_dialog
ensure esx_menu_list
ensure esx_context

# Ressources essentielles ESX
ensure esx_skin
ensure esx_identity
ensure esx_basicneeds
ensure esx_optionalneeds

Étape 6 : Installer les ressources de base ESX

Téléchargez et installez ces ressources essentielles :

esx_skin (apparence des personnages) :

esx_identity (création de personnage) :

esx_basicneeds (faim/soif) :

Placez-les tous dans le dossier [esx]/

Étape 7 : Configuration d'ESX

Ouvrez [esx]/es_extended/config.lua :

Config = {}
Config.Locale = 'fr' -- Langue (fr, en, de, etc.)

Config.Accounts = {
    'bank',
    'black_money',
    'money'
}

Config.StartingAccountMoney = {
    bank = 50000,
    money = 5000,
    black_money = 0
}

Config.StartingInventoryItems = false

Config.EnableDebug = false -- Désactiver en production

Config.EnableDefaultInventory = true
Config.MaxWeight = 30
Config.MaxWeaponWeight = 3000

Config.PaycheckInterval = 7 * 60000 -- Salaire toutes les 7 minutes

Étape 8 : Tester ESX

  1. Redémarrez votre serveur FiveM
  2. Connectez-vous au serveur
  3. Vous devriez voir l'écran de création de personnage
  4. Vérifiez la console pour les erreurs

Partie 2 : Installer QBCore

Étape 1 : Télécharger QBCore

  1. Rendez-vous sur https://github.com/qbcore-framework/qb-core
  2. Cliquez sur Code puis Download ZIP
  3. Extrayez le fichier ZIP

Étape 2 : Télécharger les dépendances

QBCore nécessite plusieurs ressources additionnelles :

qb-core (framework principal) :

qb-multicharacter (sélection de personnage) :

qb-spawn (système de spawn) :

qb-smallresources (ressources diverses) :

qb-apartments (appartements) :

qb-inventory (inventaire) :

Étape 3 : Préparer la base de données

Créer la base de données

  1. Créez une nouvelle base de données MySQL
  2. Nom : qbcore
  3. Créez un utilisateur avec tous les privilèges

Importer le fichier SQL

  1. Ouvrez phpMyAdmin
  2. Sélectionnez la base qbcore
  3. Importez le fichier qbcore.sql (dans le dossier qb-core)

Étape 4 : Installer les fichiers

Structure des dossiers

Créez cette structure dans resources :

resources/
└── [qb]/
    ├── qb-core/
    ├── qb-multicharacter/
    ├── qb-spawn/
    ├── qb-apartments/
    ├── qb-inventory/
    ├── qb-smallresources/
    └── [autres scripts qb]

Uploader les ressources

  1. Créez le dossier [qb] dans resources
  2. Uploadez toutes les ressources QBCore téléchargées

Étape 5 : Configurer la connexion MySQL

Dans server.cfg :

# Configuration MySQL pour QBCore
set mysql_connection_string "mysql://utilisateur:motdepasse@localhost/qbcore?charset=utf8mb4"

Étape 6 : Configurer server.cfg

Ajoutez dans server.cfg :

# QBCore Framework
ensure qb-core
ensure qb-multicharacter
ensure qb-spawn
ensure qb-apartments
ensure qb-garages
ensure qb-interior
ensure qb-clothing
ensure qb-weathersync
ensure qb-inventory
ensure qb-smallresources

# Scripts de base
ensure qb-ambulancejob
ensure qb-policejob
ensure qb-shops
ensure qb-vehicleshop

Étape 7 : Configuration de QBCore

Ouvrez [qb]/qb-core/shared/config.lua :

QBShared = {}

-- Langue
QBShared.Locale = 'fr'

-- Argent de départ
QBShared.StarterAmount = {
    cash = 500,
    bank = 5000
}

-- Jobs par défaut
QBShared.DefaultJob = 'unemployed'

-- Configuration générale
QBShared.MaxPlayers = 64
QBShared.DefaultSpawn = vector4(-1035.71, -2731.87, 12.86, 0.0)

-- Inventaire
QBShared.MaxInventorySlots = 41
QBShared.MaxInventoryWeight = 120000

Étape 8 : Configurer les permissions

Dans [qb]/qb-core/server/main.lua, configurez les administrateurs :

QBCore.Config.Server.Permissions = {
    ['god'] = {
        'steam:110000xxxxxx', -- Remplacez par votre Steam Hex
    },
    ['admin'] = {
        'steam:110000yyyyyy',
    }
}

Pour trouver votre Steam Hex, tapez dans la console serveur quand vous êtes connecté :

status

Étape 9 : Tester QBCore

  1. Redémarrez le serveur complètement
  2. Connectez-vous
  3. Vous devriez voir l'écran de sélection de personnage
  4. Créez un personnage et testez le spawn

Configuration post-installation

Installer les jobs essentiels

Pour ESX

esx_policejob (police) :

esx_ambulancejob (EMS) :

esx_mechanicjob (mécano) :

Pour QBCore

Les jobs sont déjà inclus dans les téléchargements recommandés :

  • qb-policejob
  • qb-ambulancejob
  • qb-mechanicjob

Ajouter des véhicules

ESX

Éditez [esx]/es_extended/config.lua et ajoutez dans la base de données le fichier vehicles.

QBCore

Éditez [qb]/qb-core/shared/vehicles.lua :

QBShared.Vehicles = {
    ['adder'] = {
        ['name'] = 'Adder',
        ['brand'] = 'Truffade',
        ['model'] = 'adder',
        ['price'] = 1000000,
        ['category'] = 'super',
        ['hash'] = `adder`,
        ['shop'] = 'pdm',
    },
    -- Ajoutez d'autres véhicules ici
}

Configurer les magasins

ESX - esx_shops

  1. Installez esx_shops
  2. Configurez les positions dans config.lua
  3. Ajoutez les items dans la base de données

QBCore - qb-shops

Éditez [qb]/qb-shops/config.lua :

Config.Locations = {
    ['247supermarket'] = {
        ['label'] = '24/7 Supermarket',
        ['coords'] = vector4(24.47, -1346.62, 29.5, 271.66),
        ['products'] = Config.Products['normal'],
        ['showblip'] = true,
    },
}

Commandes utiles

Commandes administrateur ESX

/setjob [id] [job] [grade]

Définir le job d'un joueur

/setgroup [id] [group]

Définir le groupe d'un joueur (admin, superadmin, etc.)

/givemoney [id] [account] [amount]

Donner de l'argent (account: money, bank, black_money)

/car [model]

Spawn un véhicule

Commandes administrateur QBCore

/setjob [id] [job] [grade]

Définir le job d'un joueur

/givemoney [id] [amount]

Donner de l'argent

/giveitem [id] [item] [amount]

Donner un item

/car [model]

Spawn un véhicule

Optimisation et sécurité

Désactiver le debug

ESX - Dans es_extended/config.lua :

Config.EnableDebug = false

QBCore - Dans qb-core/shared/config.lua :

QBShared.Debug = false

Sécuriser les événements

Installez un anticheat comme :

  • AC (Anticheat) pour ESX
  • qb-anticheat pour QBCore

Optimiser les performances

  1. Désactivez les ressources inutilisées
  2. Limitez le nombre de véhicules/objets
  3. Utilisez des scripts optimisés
  4. Configurez txAdmin correctement

Résolution des problèmes

ESX ne démarre pas

Vérifications :

  • La connexion MySQL est correcte
  • Le fichier SQL a été importé
  • Les ressources sont dans le bon dossier [esx]/
  • ensure es_extended est dans server.cfg

Solution : Vérifiez les logs du serveur pour voir l'erreur exacte.

QBCore ne démarre pas

Vérifications :

  • Toutes les dépendances sont installées
  • La base de données est importée
  • Les dossiers sont nommés correctement (sensible à la casse)
  • ensure qb-core est avant les autres scripts QB

Solution : Redémarrez le serveur complètement, pas juste un refresh.

Erreur MySQL Connection

Cause :

  • Identifiants MySQL incorrects
  • Base de données non créée
  • MySQL non démarré

Solution : Vérifiez la chaîne de connexion MySQL et testez la connexion.

Les joueurs ne peuvent pas créer de personnage

ESX :

  • Vérifiez que esx_identity est démarré
  • Vérifiez que esx_skin est installé

QBCore :

  • Vérifiez que qb-multicharacter est démarré
  • Vérifiez que qb-spawn est installé

Les commandes admin ne fonctionnent pas

ESX :

  • Ajoutez-vous dans la base de données users avec le groupe admin

QBCore :

  • Ajoutez votre Steam Hex dans qb-core/server/main.lua

Ressources recommandées

Pour ESX

Essentielles :

  • esx_society (entreprises)
  • esx_billing (facturation)
  • esx_vehicleshop (concessionnaire)
  • esx_property (propriétés)

Optionnelles :

  • esx_drugs (drogue)
  • esx_holdup (braquages)
  • esx_garage (garages)

Pour QBCore

Essentielles :

  • qb-management (gestion d'entreprise)
  • qb-banking (banque)
  • qb-vehicleshop (concessionnaire)
  • qb-houses (maisons)

Optionnelles :

  • qb-drugs (drogue)
  • qb-storerobbery (braquages)
  • qb-garages (garages)
  • qb-phone (téléphone)

Migration ESX vers QBCore

Si vous souhaitez migrer d'ESX vers QBCore :

  1. Sauvegardez votre base de données complète
  2. Utilisez un outil de conversion (disponibles sur GitHub)
  3. Testez sur un serveur de test d'abord
  4. Attendez-vous à devoir refaire certaines configurations

Note : La migration est complexe et peut nécessiter beaucoup de travail manuel.

Conclusion

ESX Legacy et QBCore sont tous deux d'excellents frameworks pour créer un serveur roleplay FiveM. ESX est idéal pour les débutants avec sa grande communauté et ses nombreux scripts disponibles, tandis que QBCore offre de meilleures performances et une structure plus moderne pour les développeurs expérimentés.

Choisissez celui qui correspond le mieux à vos besoins et à vos compétences techniques. Les deux frameworks disposent d'une documentation complète et de communautés actives prêtes à aider.