# 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](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 : ```cfg # 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` : ```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) : - [https://github.com/esx-framework/esx_skin](https://github.com/esx-framework/esx_skin) **esx_identity** (création de personnage) : - [https://github.com/esx-framework/esx_identity](https://github.com/esx-framework/esx_identity) **esx_basicneeds** (faim/soif) : - [https://github.com/esx-framework/esx_basicneeds](https://github.com/esx-framework/esx_basicneeds) Placez-les tous dans le dossier `[esx]/` ### Étape 7 : Configuration d'ESX Ouvrez `[esx]/es_extended/config.lua` : ```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](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) : - [https://github.com/qbcore-framework/qb-core](https://github.com/qbcore-framework/qb-core) **qb-multicharacter** (sélection de personnage) : - [https://github.com/qbcore-framework/qb-multicharacter](https://github.com/qbcore-framework/qb-multicharacter) **qb-spawn** (système de spawn) : - [https://github.com/qbcore-framework/qb-spawn](https://github.com/qbcore-framework/qb-spawn) **qb-smallresources** (ressources diverses) : - [https://github.com/qbcore-framework/qb-smallresources](https://github.com/qbcore-framework/qb-smallresources) **qb-apartments** (appartements) : - [https://github.com/qbcore-framework/qb-apartments](https://github.com/qbcore-framework/qb-apartments) **qb-inventory** (inventaire) : - [https://github.com/qbcore-framework/qb-inventory](https://github.com/qbcore-framework/qb-inventory) ### É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` : ```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` : ```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` : ```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 : ```lua 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) : - [https://github.com/esx-framework/esx_policejob](https://github.com/esx-framework/esx_policejob) **esx_ambulancejob** (EMS) : - [https://github.com/esx-framework/esx_ambulancejob](https://github.com/esx-framework/esx_ambulancejob) **esx_mechanicjob** (mécano) : - [https://github.com/esx-framework/esx_mechanicjob](https://github.com/esx-framework/esx_mechanicjob) #### 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` : ```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` : ```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` : ```lua Config.EnableDebug = false ``` **QBCore** - Dans `qb-core/shared/config.lua` : ```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.