Couldn't start resource: por que FiveM não vai iniciar seu script

Couldn't start resource X ou Failed to start resource em seu console FiveM? As causas usuais (manifesto, nome da pasta, erro Lua, dependência, escrow) e como encontrar a sua.

Você executa ensure my_script ou inicia o servidor, e o console imprime:

text
Couldn't start resource my_script.

Aquela linha apenas diz o resultado. A causa está nas linhas acima disso. Este guia lista as causas usuais, na ordem digna de verificar, e mostra como ler o console para saber qual você tem.

Leia as linhas acima primeiro

Role para cima de Couldn't start resource no console do servidor, ou no console ao vivo do txAdmin. A linha diretamente acima é quase sempre a razão: uma dependência faltando, um erro de parse com um arquivo e número de linha, ou um problema de manifesto.

Se o console está muito barulhento, pare o servidor, inicie novamente, e execute apenas o recurso que falha:

text
ensure my_script

Agora tudo impresso logo após esse comando pertence ao recurso.

1. O recurso não foi encontrado

text
Couldn't find resource my_script.

FiveM procura por uma pasta nomeada exatamente my_script em algum lugar em resources, e aquela pasta deve conter um arquivo nomeado fxmanifest.lua (ou o antigo __resource.lua). Verifique três coisas:

  • O nome em server.cfg corresponde ao nome da pasta, letra por letra. Em um host Linux, My_Script e my_script são diferentes.
  • O arquivo de manifesto é nomeado fxmanifest.lua, não fxmanifest.lua.txt (Windows esconde extensões conhecidas) e não fxmanifest (1).lua.
  • Execute refresh no console do servidor após adicionar uma nova pasta, depois ensure novamente. Um servidor rodando não escaneia pastas novas até você fazer.

2. Pasta aninhada após descompactar

Este é o erro mais comum com scripts baixados. Você descompacta my_script.zip e acaba com:

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

O manifesto está um nível muito fundo, então FiveM vê my_script como uma pasta simples sem manifesto. Mova a pasta interna para cima para que fxmanifest.lua fico diretamente dentro da pasta que você garante.

Pastas de categoria escritas entre colchetes, como [mic], estão bem: FiveM olha através delas. Um recurso dentro de outro recurso não está.

3. Um erro de sintaxe Lua ao carregar

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.

A mensagem nomeia o arquivo e a linha (main.lua:42). Abra aquela linha e também olhe a antes dela: um end faltando, uma vírgula faltando em uma tabela, ou um caractere aleatório de uma cópia ruim colada. Corrija, depois ensure novamente.

Duas causas que parecem erros de sintaxe mas não são:

  • O script usa sintaxe Lua 5.4 (<const>, <close>, divisão inteira) e o manifesto falta lua54 'yes'.
  • O arquivo foi salvo com uma codificação diferente ou tem um BOM. Salve como UTF-8 sem BOM.

4. Dependência faltando

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

O manifesto pede outro recurso que não está no seu servidor. Instale-o e mantenha seu nome de pasta exato. A explicação completa está em Could not find dependency X for resource Y.

5. Erros de manifesto

Um fxmanifest.lua ruim para o recurso antes de qualquer script rodar. Verifique:

lua
fx_version 'cerulean'
game 'gta5'

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

Falhas comuns: um fx_version ou game faltando, uma vírgula faltando entre entradas em uma lista { }, um caminho de arquivo no manifesto que não existe, e um caminho com a direção de barra errada ou capitalização. Use barras para frente. Se o recurso ainda envia um __resource.lua, veja converting __resource.lua to fxmanifest.lua.

6. Escrow, entitlement e licensa

Scripts protegidos (escrowados) verificam que a chave de licensa do seu servidor pertence à conta Cfx.re que é dona do ativo. Se não, o recurso recusa iniciar e a linha acima diz que você carece do entitlement. Essa é uma correção separada: escrow: You lack the required entitlement.

7. O recurso inicia, depois falha de outra maneira

Às vezes o início tem sucesso e a falha vem um segundo depois, de um SCRIPT ERROR em um arquivo de script, como um valor nil do framework. Isso não é mais um problema de início. Leia a linha de erro, encontre o arquivo e número de linha, e corrija isso. Se o objeto do framework é nil, comece com o guia ESX ou QBCore.

Um jeito rápido de testar o manifesto

Comece com um recurso de teste limpo. Crie resources/test_ok/fxmanifest.lua:

lua
fx_version 'cerulean'
game 'gta5'

server_script 'server.lua'

e resources/test_ok/server.lua:

lua
print('test_ok started')

Execute refresh depois ensure test_ok. Se funcionar, seu servidor e caminhos estão bem, e a falha está dentro do recurso que você está perseguindo.

Checklist

Sintoma Solução
Couldn't find resource my_script. Nome da pasta difere de ensure, ou sem fxmanifest.lua; execute refresh
Pasta é my_script/my_script/ Descompactado um nível muito fundo; mova a pasta interna para cima
Error parsing script ... unexpected symbol Erro de sintaxe no arquivo e linha mostrados
Could not find dependency Instale a dependência, nome de pasta exato
Nada acima da linha que falha Execute ensure sozinho e leia o que imprime após
Texto de entitlement ou licensa Escrow: chave de licensa e conta Cfx.re devem corresponder

Respostas rápidas

O que significa Couldn't start resource?

FiveM encontrou o recurso mas parou ao iniciá-lo. A razão nunca está naquela linha: é uma ou mais linhas impressas logo acima no console.

Por que diz Couldn't find resource?

O nome em ensure não corresponde a nenhuma pasta em resources, ou a pasta não tem fxmanifest.lua em seu nível superior. Verifique a ortografia e a pasta que você descompactou.

Um erro Lua pode parar um recurso de iniciar?

Sim. Um erro de sintaxe em um arquivo de script faz o recurso inteiro falhar ao carregar. O console mostra o arquivo e o número da linha do erro.

Scripts sem esse problema

Item Creator V2Crie itens usáveis com animações, props, efeitos e muito mais — sem escrever código.Ver script →Shop CreatorMonte uma loja em menos de um minuto — donos, funcionários, cofres e assaltos inclusos.Ver script →Quest CreatorUm editor visual de missões e diálogos com NPCs, montado nó por nó dentro do jogo.Ver script →

Continue lendo