Couldn't start resource : pourquoi FiveM ne démarrera pas votre script

Couldn't start resource X ou Failed to start resource dans votre console FiveM ? Les causes habituelles (manifest, nom du dossier, erreur Lua, dépendance, escrow) et comment trouver la vôtre.

Vous exécutez ensure my_script ou démarrez le serveur, et la console imprime :

text
Couldn't start resource my_script.

Cette ligne dit seulement le résultat. La cause est dans les lignes au-dessus. Ce guide liste les causes habituelles, dans l'ordre qui vaut la peine de vérifier, et montre comment lire la console pour savoir laquelle vous avez.

Lisez d'abord les lignes au-dessus

Scrollez vers le haut depuis Couldn't start resource dans la console du serveur, ou dans la console live txAdmin. La ligne directement au-dessus est presque toujours la raison : une dépendance manquante, une erreur d'analyse avec un fichier et un numéro de ligne, ou un problème de manifest.

Si la console est trop bruyante, arrêtez le serveur, démarrez-le à nouveau, et exécutez seulement la ressource qui échoue :

text
ensure my_script

Maintenant tout ce qui s'imprime juste après cette commande appartient à la ressource.

1. La ressource n'est pas trouvée

text
Couldn't find resource my_script.

FiveM cherche un dossier nommé exactement my_script quelque part sous resources, et ce dossier doit contenir un fichier nommé fxmanifest.lua (ou le vieux __resource.lua). Vérifiez trois choses :

  • Le nom dans server.cfg correspond au nom du dossier, lettre pour lettre. Sur un hôte Linux, My_Script et my_script sont différents.
  • Le fichier manifest est nommé fxmanifest.lua, pas fxmanifest.lua.txt (Windows cache les extensions connues) et pas fxmanifest (1).lua.
  • Exécutez refresh dans la console du serveur après avoir ajouté un nouveau dossier, puis ensure à nouveau. Un serveur en cours d'exécution ne scanne pas pour les nouveaux dossiers jusqu'à ce que vous le fassiez.

2. Dossier imbriqué après décompression

C'est l'erreur la plus courante avec les scripts téléchargés. Vous décompressez my_script.zip et finissez avec :

text
resources/
  my_script/
    my_script/
      fxmanifest.lua
      client/
      server/

Le manifest est un niveau trop profond, donc FiveM voit my_script comme un simple dossier sans manifest. Déplacez le dossier interne pour que fxmanifest.lua se trouve directement à l'intérieur du dossier que vous ensure.

Les dossiers de catégories écrits entre crochets, comme [mic], sont corrects : FiveM les regarde. Une ressource à l'intérieur d'une autre ressource n'est pas.

3. Une erreur de syntaxe Lua au chargement

text
Error parsing script @my_script/server/main.lua in resource my_script: @my_script/server/main.lua:42: unexpected symbol near 'end'
Couldn't start resource my_script.

Le message nomme le fichier et la ligne (main.lua:42). Ouvrez cette ligne et regardez aussi la ligne avant : un end manquant, une virgule manquante dans une table, ou un caractère égaré d'un mauvais copier-coller. Corrigez-le, puis ensure à nouveau.

Deux causes qui ressemblent à des erreurs de syntaxe mais ne le sont pas :

  • Le script utilise la syntaxe Lua 5.4 (<const>, <close>, division entière) et le manifest manque lua54 'yes'.
  • Le fichier a été enregistré avec un encodage différent ou a une BOM. Enregistrez-le comme UTF-8 sans BOM.

4. Dépendance manquante

text
Could not find dependency ox_lib for resource my_script.
Couldn't start resource my_script.

Le manifest demande une autre ressource qui n'est pas sur votre serveur. Installez-la et gardez son nom de dossier exact. L'explication complète est dans Could not find dependency X for resource Y.

5. Erreurs de manifest

Un mauvais fxmanifest.lua arrête la ressource avant que n'importe quel script s'exécute. Vérifiez :

lua
fx_version 'cerulean'
game 'gta5'

client_scripts { 'client/*.lua' }
server_scripts { 'server/*.lua' }

Erreurs courantes : un fx_version ou game manquant, une virgule manquante entre les entrées dans une liste { }, un chemin de fichier dans le manifest qui n'existe pas, et un chemin avec la mauvaise direction de slash ou capitalisation. Utilisez les slashes avant. Si la ressource livre toujours un __resource.lua, voir conversion de __resource.lua en fxmanifest.lua.

6. Escrow, droit d'utilisation et licence

Les scripts protégés (en escrow) vérifient que la clé de licence de votre serveur appartient au compte Cfx.re qui possède l'asset. Si ce n'est pas le cas, la ressource refuse de démarrer et la ligne au-dessus dit que vous manquez le droit d'utilisation. C'est une correction séparée : escrow : You lack the required entitlement.

7. La ressource démarre, puis échoue d'une autre manière

Parfois le démarrage réussit et l'échec vient une seconde plus tard, d'une SCRIPT ERROR dans un fichier script, comme une valeur nil du framework. Ce n'est plus un problème de démarrage. Lisez la ligne d'erreur, trouvez le fichier et le numéro de ligne, et corrigez cela. Si l'objet du framework est nil, commencez avec le guide ESX ou QBCore.

Un moyen rapide de tester le manifest

Commencez avec une ressource de test propre. Créez resources/test_ok/fxmanifest.lua :

lua
fx_version 'cerulean'
game 'gta5'

server_script 'server.lua'

et resources/test_ok/server.lua :

lua
print('test_ok started')

Exécutez refresh puis ensure test_ok. Si cela fonctionne, votre serveur et ses chemins sont corrects, et la faute est à l'intérieur de la ressource que vous chinez.

Checklist

Problème Solution
Couldn't find resource my_script. Le nom du dossier diffère de ensure, ou pas de fxmanifest.lua ; exécutez refresh
Le dossier est my_script/my_script/ Décompressé un niveau trop profond ; déplacez le dossier interne vers le haut
Error parsing script ... unexpected symbol Erreur de syntaxe au fichier et à la ligne affichés
Could not find dependency Installez la dépendance, nom du dossier exact
Rien au-dessus de la ligne d'échec Exécutez ensure seul et lisez ce qui s'imprime après
Texte d'escrow ou de licence Escrow : la clé de licence et le compte Cfx.re doivent correspondre

Réponses rapides

Que signifie Couldn't start resource ?

FiveM a trouvé la ressource mais s'est arrêté en la démarrant. La raison n'est jamais sur cette ligne : c'est une ou plusieurs lignes imprimées juste au-dessus dans la console.

Pourquoi dit-il Couldn't find resource ?

Le nom dans ensure ne correspond à aucun dossier sous resources, ou le dossier n'a pas de fxmanifest.lua à son niveau supérieur. Vérifiez l'orthographe et le dossier que vous avez décompressé.

Une erreur Lua peut-elle arrêter une ressource de démarrer ?

Oui. Une erreur de syntaxe dans un fichier script fait échouer la ressource entière. La console affiche le fichier et le numéro de ligne de l'erreur.

Des scripts sans ce problème

Item Creator V2Créez des items utilisables avec animations, props, effets et plus — sans écrire une ligne de code.Voir le script →Shop CreatorCréez un magasin en moins d’une minute — propriétaires, employés, coffres et braquages inclus.Voir le script →Quest CreatorUn éditeur visuel de quêtes et de dialogues PNJ, construit nœud par nœud en jeu.Voir le script →

À lire aussi