Comment installer des ressources/scripts sur FiveM

Ce guide vous explique comment installer, configurer et gérer des ressources (scripts) sur votre serveur FiveM de manière sécurisée et optimale.
Comment installer des ressources/scripts sur FiveM
Qu'est-ce qu'une ressource FiveM ?
Une ressource est un script ou un ensemble de fichiers qui ajoute des fonctionnalités à votre serveur :
- Scripts Lua (logique du jeu)
- Fichiers JavaScript (interface)
- HTML/CSS (menus, interfaces)
- Fichiers de configuration
- Assets (sons, textures, modèles)
Types de ressources
Ressources standalone
Fonctionnent indépendamment, sans dépendances :
- Scripts simples
- Menus basiques
- Outils administratifs
Ressources avec dépendances
Nécessitent d'autres ressources pour fonctionner :
- Scripts ESX (nécessitent es_extended)
- Scripts QBCore (nécessitent qb-core)
- Scripts utilisant des librairies (oxmysql, PolyZone, etc.)
Prérequis
- Serveur FiveM fonctionnel
- Accès FTP ou au gestionnaire de fichiers
- Base de données MySQL (pour certaines ressources)
- Connaissance du framework utilisé (ESX, QBCore, ou standalone)
Étape 1 : Télécharger une ressource
Sources fiables
Sites recommandés :
- GitHub (repositories officiels)
- FiveM Forums : https://forum.cfx.re/
- Tebex (scripts payants)
- GTA5-Mods (avec précaution)
⚠️ Évitez :
- Sites de téléchargement douteux
- Scripts "nulled" ou "leaked" (risques de backdoor)
- Sources inconnues sans code visible
Vérifier la compatibilité
Avant de télécharger, vérifiez :
- Framework : ESX, QBCore, Standalone ?
- Version : Compatible avec votre version de serveur ?
- Dépendances : Quelles autres ressources sont nécessaires ?
- Date de mise à jour : Le script est-il maintenu ?
Étape 2 : Préparer les fichiers
Structure d'une ressource
Une ressource typique contient :
nom_de_la_ressource/
├── fxmanifest.lua # Fichier de configuration principal
├── client/ # Scripts côté client
│ └── main.lua
├── server/ # Scripts côté serveur
│ └── main.lua
├── config.lua # Configuration personnalisable
├── locales/ # Traductions
│ ├── en.lua
│ └── fr.lua
├── html/ # Interface (si applicable)
│ ├── index.html
│ ├── style.css
│ └── script.js
└── stream/ # Assets (sons, textures)
Vérifier fxmanifest.lua
Ouvrez le fichier fxmanifest.lua pour voir les informations :
fx_version 'cerulean'
game 'gta5'
author 'Nom Auteur'
description 'Description du script'
version '1.0.0'
-- Dépendances
dependencies {
'es_extended', -- Nécessite ESX
'oxmysql' -- Nécessite oxmysql
}
-- Scripts chargés
shared_scripts {
'config.lua'
}
client_scripts {
'client/*.lua'
}
server_scripts {
'server/*.lua'
}
Étape 3 : Installation des fichiers
Méthode 1 : Via FTP
- Connectez-vous à votre serveur FTP
- Accédez au dossier
resources/ - Créez un dossier pour la ressource (ex:
[custom]/) - Uploadez le dossier complet de la ressource
- Vérifiez que la structure est intacte
Méthode 2 : Via le gestionnaire de fichiers
- Connectez-vous à votre panel de gestion
- Accédez à Fichiers ou Gestionnaire de fichiers
- Naviguez vers
resources/ - Uploadez le fichier ZIP
- Extrayez-le directement sur le serveur
Organisation recommandée
Organisez vos ressources par catégorie :
resources/
├── [essential]/ # Ressources système
│ ├── spawnmanager/
│ └── sessionmanager/
├── [esx]/ # Ressources ESX
│ ├── es_extended/
│ └── esx_skin/
├── [qb]/ # Ressources QBCore
│ ├── qb-core/
│ └── qb-spawn/
├── [standalone]/ # Scripts indépendants
│ ├── progressBars/
│ └── notification/
├── [jobs]/ # Scripts de métiers
│ ├── esx_policejob/
│ └── esx_ambulancejob/
└── [custom]/ # Scripts personnalisés
└── mon_script/
Étape 4 : Configuration de la base de données
Vérifier si une base de données est nécessaire
Cherchez dans la ressource :
- Fichier
.sqldans le dossier - Dossier
sql/avec des fichiers SQL - Mention dans le README
Importer le fichier SQL
- Ouvrez phpMyAdmin ou votre gestionnaire MySQL
- Sélectionnez votre base de données
- Cliquez sur Importer
- Sélectionnez le fichier
.sql - Cliquez sur Exécuter
Exemple de fichier SQL :
CREATE TABLE IF NOT EXISTS `mon_script` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`identifier` varchar(60) NOT NULL,
`data` longtext,
PRIMARY KEY (`id`)
);
Vérifier l'importation
Après l'import, vérifiez que les tables sont créées :
- Allez dans l'onglet Structure
- Vérifiez que les nouvelles tables apparaissent
Étape 5 : Configurer la ressource
Éditer config.lua
Ouvrez le fichier config.lua et personnalisez :
Config = {}
-- Langue
Config.Locale = 'fr'
-- Framework
Config.Framework = 'ESX' -- ou 'QBCore' ou 'Standalone'
-- Positions
Config.Locations = {
vector3(123.45, -678.90, 30.0),
vector3(234.56, -789.01, 25.0)
}
-- Options
Config.EnableNotifications = true
Config.MaxDistance = 50.0
Config.PriceMultiplier = 1.0
-- Items
Config.RequiredItem = 'phone'
Config.RewardItem = 'money'
Paramètres courants
Positions :
Config.Position = vector3(x, y, z)
Config.Heading = 90.0
Items et argent :
Config.Price = 5000
Config.RequiredItems = {
{item = 'phone', count = 1},
{item = 'money', count = 100}
}
Jobs (pour ESX/QBCore) :
Config.AuthorizedJobs = {
'police',
'ambulance',
'mechanic'
}
Étape 6 : Ajouter au server.cfg
Syntaxe de base
Ajoutez la ressource dans server.cfg :
ensure nom_de_la_ressource
Ordre d'exécution
Important : Respectez l'ordre des dépendances :
# 1. Ressources système
ensure spawnmanager
ensure sessionmanager
ensure mapmanager
# 2. Librairies
ensure oxmysql
ensure pma-voice
# 3. Framework
ensure es_extended # ou qb-core
# 4. Dépendances du framework
ensure esx_skin
ensure esx_identity
# 5. Scripts personnalisés
ensure mon_script
Options de démarrage
ensure (recommandé) :
ensure mon_script # Démarre et redémarre automatiquement
start :
start mon_script # Démarre une seule fois
stop :
stop mon_script # Désactive la ressource
Étape 7 : Installer les dépendances
Dépendances courantes
oxmysql (base de données) :
- https://github.com/overextended/oxmysql
- Installez avant toute ressource utilisant MySQL
PolyZone (zones) :
- https://github.com/mkafrin/PolyZone
- Pour créer des zones d'interaction
progressBars (barres de progression) :
- https://github.com/EthanPeacock/progressBars
- Pour afficher des animations de chargement
pma-voice (voix) :
- https://github.com/AvarianKnight/pma-voice
- Système de voix optimisé
Vérifier les dépendances dans fxmanifest
dependencies {
'es_extended', # Framework ESX
'oxmysql', # Base de données
'progressBars', # Barres de progression
'PolyZone' # Zones
}
Installez chaque dépendance avant la ressource principale.
Étape 8 : Tester la ressource
Démarrer le serveur
- Sauvegardez tous les fichiers modifiés
- Redémarrez complètement le serveur
- Surveillez la console pour les erreurs
Vérifier les logs
Dans la console serveur, cherchez :
Succès :
Started resource mon_script
Erreurs :
Error loading script server/main.lua
Failed to start resource mon_script
Commandes de test
Dans la console F8 (client) ou console serveur :
restart mon_script # Redémarrer la ressource
stop mon_script # Arrêter la ressource
start mon_script # Démarrer la ressource
refresh # Recharger la liste des ressources
Résolution des problèmes courants
La ressource ne démarre pas
Causes possibles :
- Dépendances manquantes
- Erreur de syntaxe dans les fichiers
- Mauvais ordre dans server.cfg
- Fichiers corrompus
Solutions :
- Vérifiez les logs pour l'erreur exacte
- Installez toutes les dépendances
- Vérifiez fxmanifest.lua
- Retéléchargez la ressource si nécessaire
Erreur "Failed to load script"
Cause : Erreur de syntaxe Lua dans les scripts
Solution :
# Vérifier la syntaxe
luac -p client/main.lua
luac -p server/main.lua
Corrigez les erreurs de syntaxe dans les fichiers.
Base de données non connectée
Symptômes :
Error executing query: Table doesn't exist
MySQL connection failed
Solutions :
- Vérifiez oxmysql dans server.cfg
- Importez le fichier SQL
- Vérifiez la connexion MySQL dans server.cfg
Conflit entre ressources
Symptômes :
- Commandes qui ne fonctionnent plus
- Menus qui ne s'ouvrent pas
- Erreurs dans la console
Solutions :
- Désactivez les ressources une par une
- Identifiez la ressource problématique
- Vérifiez les conflits de touches/commandes
- Utilisez des versions compatibles
Sécurité lors de l'installation
Vérifier le code
Avant d'installer, vérifiez :
❌ Backdoors :
-- DANGEREUX
ExecuteCommand('add_ace identifier.steam:xxx group.admin')
AddEventHandler('give_money', function() end)
TriggerServerEvent('admin:giveAll')
❌ Code malveillant :
-- DANGEREUX
load(base64decode(...))
loadstring(...)
os.execute(...)
❌ Connexions externes non autorisées :
-- SUSPECT
PerformHttpRequest('http://site-inconnu.com/data', ...)
✅ Code propre :
-- BON
ESX.ShowNotification('Message')
TriggerServerEvent('mon_script:actionSecure')
Scanner avec un antivirus
Scannez le dossier de la ressource avant upload :
- VirusTotal
- Windows Defender
- Antivirus tiers
Tester sur un serveur de développement
Recommandé : Testez toujours sur un serveur de test avant la production.
Optimisation des ressources
Désactiver les ressources inutiles
Dans server.cfg, commentez ou supprimez :
# ensure resource_inutile
Limiter les scripts lourds
Évitez d'avoir trop de scripts actifs simultanément :
- Maximum 50-70 ressources actives
- Privilégiez les scripts optimisés
- Fusionnez les petits scripts
Utiliser des alternatives optimisées
Remplacez les vieux scripts par des versions optimisées :
- mysql-async → oxmysql (meilleure performance)
- esx_menu_default → ox_lib (plus léger)
Configuration avancée
Ressources côté client uniquement
Pour des ressources sans serveur :
-- fxmanifest.lua
client_only 'yes'
client_scripts {
'client/*.lua'
}
Ressources avec stream (assets)
Pour ajouter des véhicules, armes, vêtements :
files {
'stream/**/*.yft',
'stream/**/*.ytd'
}
data_file 'HANDLING_FILE' 'stream/handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'stream/vehicles.meta'
Ressources avec UI (NUI)
Pour des interfaces HTML :
ui_page 'html/index.html'
files {
'html/index.html',
'html/style.css',
'html/script.js'
}
Mise à jour des ressources
Processus de mise à jour
- Sauvegardez l'ancienne version
- Lisez le changelog pour les changements
- Téléchargez la nouvelle version
- Remplacez les fichiers (sauf config.lua)
- Importez les nouveaux fichiers SQL si nécessaire
- Testez sur un serveur de développement
- Déployez en production
Conserver les configurations
# Sauvegardez votre config avant mise à jour
cp mon_script/config.lua mon_script_config_backup.lua
Après la mise à jour, comparez et fusionnez les configurations.
Gestion via txAdmin
Installer via txAdmin
- Accédez à txAdmin
- Allez dans Resources
- Cliquez sur Install Resource
- Entrez l'URL GitHub ou uploadez le ZIP
- txAdmin installe et configure automatiquement
Gérer les ressources
Dans txAdmin :
- Start/Stop/Restart : Contrôler les ressources
- View Logs : Voir les erreurs
- Edit Config : Modifier les configurations
Exemples d'installation complète
Exemple 1 : Script standalone simple
# 1. Télécharger progressBars
# 2. Extraire dans resources/[standalone]/progressBars/
# 3. Ajouter dans server.cfg
ensure progressBars
# 4. Redémarrer le serveur
Exemple 2 : Script ESX avec base de données
# 1. Télécharger esx_garage
# 2. Extraire dans resources/[esx]/esx_garage/
# 3. Importer esx_garage.sql dans phpMyAdmin
# 4. Modifier config.lua selon vos besoins
# 5. Ajouter dans server.cfg (après es_extended)
ensure es_extended
ensure esx_garage
# 6. Redémarrer le serveur
Exemple 3 : Script avec dépendances multiples
# 1. Installer les dépendances dans l'ordre
ensure oxmysql
ensure PolyZone
ensure progressBars
# 2. Installer le script principal
ensure mon_script_custom
# 3. Vérifier les logs
Ressources recommandées
Essentielles
oxmysql : Base de données optimisée pma-voice : Système de voix ox_lib : Librairie d'interface moderne PolyZone : Gestion des zones
Utilitaires
progressBars : Barres de progression screenshot-basic : Captures d'écran bob74_ipl : Intérieurs du jeu NativeUI : Menus natifs
Administration
txAdmin : Panel d'administration complet EasyAdmin : Gestion des joueurs vMenu : Menu administrateur
Conclusion
L'installation de ressources sur FiveM est simple si vous suivez les bonnes pratiques :
- Téléchargez uniquement depuis des sources fiables
- Vérifiez la compatibilité et les dépendances
- Organisez vos ressources dans des dossiers catégorisés
- Testez sur un serveur de développement d'abord
- Surveillez les logs pour détecter les erreurs
- Sauvegardez régulièrement vos configurations
En respectant ces étapes, votre serveur sera stable, sécurisé et performant.


















