Open the fxmanifest Generator & Validator
Um fxmanifest.lua pertence à raiz de um recurso FiveM. Ele declara o jogo suportado, scripts, dependências e arquivos entregues ao cliente. Escolha o exemplo que corresponde ao seu recurso e substitua cada nome de arquivo de exemplo por um arquivo que realmente exista.
A configuração e os exemplos de código aqui são voltados ao FiveM para GTA V Legacy. O Enhanced tem regras diferentes de runtime e de compatibilidade; verifique as alterações de Legacy para Enhanced do Cfx.re antes de aplicá-las a um servidor Enhanced.
Um recurso de script mínimo
fx_version 'cerulean'
game 'gta5'
client_script 'client.lua'
server_script 'server.lua'
Use client_script para código executado no cliente de cada jogador e server_script para código FXServer. Adicione metadados de autor, descrição e versão quando útil. Uma dependência pode inspecionar sua versão, mas os metadados de versão não alteram a execução. O CfxLua atual usa Lua 5.4; a chave lua54 está obsoleta.
Arquivos compartilhados e dependências
fx_version 'cerulean'
game 'gta5'
dependencies { 'ox_lib', 'oxmysql' }
shared_scripts { '@ox_lib/init.lua', 'config.lua' }
client_scripts { 'client/*.lua' }
server_scripts { '@oxmysql/lib/MySQL.lua', 'server/*.lua' }
Este exemplo requer as bibliotecas nomeadas; omita-as quando seu recurso não as usar. Scripts compartilhados são entregues aos clientes, então mantenha credenciais, webhooks e verificações de autoridade apenas do servidor fora dos arquivos compartilhados. Declare as dependências que seu código realmente precisa e siga sua ordem de inicialização documentada.
Uma interface de navegador com NUI
fx_version 'cerulean'
game 'gta5'
ui_page 'web/index.html'
files { 'web/index.html', 'web/style.css', 'web/app.js' }
client_script 'client.lua'
Liste todos os ativos de UI locais necessários, incluindo fontes e imagens. Uma interface em branco requer a verificação tanto do caminho da página quanto dos ativos ausentes. Uma tela de carregamento usa loadscreen e seu próprio ciclo de vida em vez deste exemplo de ui_page.
Mapas e arquétipos adicionais
fx_version 'cerulean'
game 'gta5'
this_is_a_map 'yes'
files { 'stream/example.ytyp' }
data_file 'DLC_ITYP_REQUEST' 'stream/example.ytyp'
Coloque os ativos streamable em stream. O registro YTYP mostrado aqui é para um recurso que contém esse arquivo; um recurso simples apenas YMAP não precisa de um YTYP fictício. Use a declaração de data-file exigida pelo tipo de ativo real.
Iniciar e verificar
- Verifique se a pasta contém fxmanifest.lua diretamente e se todos os caminhos correspondem aos nomes de arquivo reais, incluindo maiúsculas e minúsculas.
- Instale as dependências declaradas. Adicione ensure seguido pelo nome da pasta de recursos ao server.cfg após as dependências documentadas.
- Execute refresh e ensure resource-name no console do servidor de desenvolvimento, substituindo o nome da sua pasta. Leia o primeiro erro de inicialização.
- Conecte-se, exercite o recurso e inspecione F8, bem como o console do servidor. Teste uma reinicialização completa do servidor para detectar erros de dependência e empacotamento ocultos por recarregamentos a quente.
Erros comuns
Arquivo ausente: compare o caminho exato do manifesto e o nome do arquivo. Exportação ausente: verifique a versão da dependência e a ordem de inicialização. Segredos visíveis para clientes: mova-os para fora dos arquivos compartilhados/cliente e substitua os valores expostos por novos valores.
Não encurte um manifesto de fornecedor copiando este tutorial sobre ele. Use a referência oficial do manifesto e referência de arquivo de dados para entender cada declaração antes de alterá-la.
O que conferir no manifesto de um recurso comprado?
Compare as dependências e os builds declarados com seu servidor antes de iniciar o recurso. Confira se os scripts e arquivos de interface referenciados estão presentes. Um manifesto válido descreve o que carregar; não certifica gameplay, desempenho ou integração com o framework.