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

  1. Connectez-vous à votre serveur FTP
  2. Accédez au dossier resources/
  3. Créez un dossier pour la ressource (ex: [custom]/)
  4. Uploadez le dossier complet de la ressource
  5. Vérifiez que la structure est intacte

Méthode 2 : Via le gestionnaire de fichiers

  1. Connectez-vous à votre panel de gestion
  2. Accédez à Fichiers ou Gestionnaire de fichiers
  3. Naviguez vers resources/
  4. Uploadez le fichier ZIP
  5. 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 .sql dans le dossier
  • Dossier sql/ avec des fichiers SQL
  • Mention dans le README

Importer le fichier SQL

  1. Ouvrez phpMyAdmin ou votre gestionnaire MySQL
  2. Sélectionnez votre base de données
  3. Cliquez sur Importer
  4. Sélectionnez le fichier .sql
  5. 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) :

PolyZone (zones) :

progressBars (barres de progression) :

pma-voice (voix) :

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

  1. Sauvegardez tous les fichiers modifiés
  2. Redémarrez complètement le serveur
  3. 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 :

  1. Vérifiez les logs pour l'erreur exacte
  2. Installez toutes les dépendances
  3. Vérifiez fxmanifest.lua
  4. 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 :

  1. Vérifiez oxmysql dans server.cfg
  2. Importez le fichier SQL
  3. 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 :

  1. Désactivez les ressources une par une
  2. Identifiez la ressource problématique
  3. Vérifiez les conflits de touches/commandes
  4. 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-asyncoxmysql (meilleure performance)
  • esx_menu_defaultox_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

  1. Sauvegardez l'ancienne version
  2. Lisez le changelog pour les changements
  3. Téléchargez la nouvelle version
  4. Remplacez les fichiers (sauf config.lua)
  5. Importez les nouveaux fichiers SQL si nécessaire
  6. Testez sur un serveur de développement
  7. 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

  1. Accédez à txAdmin
  2. Allez dans Resources
  3. Cliquez sur Install Resource
  4. Entrez l'URL GitHub ou uploadez le ZIP
  5. 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 :

  1. Téléchargez uniquement depuis des sources fiables
  2. Vérifiez la compatibilité et les dépendances
  3. Organisez vos ressources dans des dossiers catégorisés
  4. Testez sur un serveur de développement d'abord
  5. Surveillez les logs pour détecter les erreurs
  6. Sauvegardez régulièrement vos configurations

En respectant ces étapes, votre serveur sera stable, sécurisé et performant.