Resposta rápida: reduza os NPCs e o tráfego ambiente com um pequeno recurso do cliente que chama os nativos do multiplicador de densidade a cada quadro. Inclua ambos fxmanifest.lua e o arquivo Lua do cliente, comece com um valor moderado no estágio e meça a mesma rota antes e depois. Não prometa um ganho de FPS: o resultado depende do recurso e da carga de trabalho de ativos mais amplos do cliente.
Às vezes, você pode querer reduzir o número de personagens não jogáveis (NPCs) ou sua densidade no mundo do jogo para melhorar o desempenho do servidor ou criar cenários de jogo específicos. Neste tutorial, mostraremos como reduzir NPCs no FiveM.
Observação: Reduzir a densidade de NPC pode exigir algum conhecimento de scripts do lado do servidor no FiveM. Certifique-se de ter acesso administrativo ao seu servidor FiveM e um entendimento básico de scripts Lua.
Pré-requisitos:
- Um servidor FiveM.Como configurar)
- Acesso administrativo ao servidor.
- Um editor de texto (por exemplo, Bloco de notas++) para edição de scripts Lua.
- Conhecimento básico de script Lua.
Passos:
1. Acesse seu servidor FiveM:
- Certifique-se de ter acesso SSH ou RDP ao seu servidor FiveM ou acesso ao seu painel de controle.
2. Localize sua pasta de recursos:
- Navegue até o diretório principal do seu servidor FiveM.
- Encontre a pasta “recursos”; é aqui que os scripts e recursos do seu servidor estão localizados.
3. Crie um novo script Lua:
- Dentro da pasta “recursos”, crie um novo diretório, se necessário, por exemplo, “npc_reducer”.
- Dentro
npc_reducer, criarfxmanifest.luae um script do cliente comoreduce_npc_density.lua. O manifesto deve declarar o arquivo Lua como umscript_do_clienteou o FiveM não detectará e carregará conforme descrito abaixo.
4. Edite o script Lua:
- Abra o arquivo “reduce_npc_density.lua” com seu editor de texto preferido.
- Adicione o seguinte código Lua ao arquivo:
Citizen.CreateThread(function() while true do Citizen.Wait(0) -- Ajuste o número abaixo para definir a densidade de NPC desejada. local newDensity = 0.1 -- Modifique este valor conforme necessário. SetVehicleDensityMultiplierThisFrame(newDensity) SetPedDensityMultiplierThisFrame(newDensity) SetRandomVehicleDensityMultiplierThisFrame(newDensity) SetParkedVehicleDensityMultiplierThisFrame(newDensity) SetScenarioPedDensityMultiplierThisFrame(newDensity, newDensity) end end)
- No código acima, você pode modificar o
nova densidadevariável para controlar a densidade de vários tipos de NPCs e veículos no mundo do jogo. Um valor de1.0representa a densidade padrão, enquanto valores menores a reduzem.
5. Salve e feche o script Lua:
- Salve as alterações feitas no script Lua e feche o editor de texto.
6. Configure seu server.cfg:
- Navegue até o diretório principal do seu servidor FiveM.
- Abra o arquivo “server.cfg” com um editor de texto.
- Adicione a seguinte linha ao arquivo:
garantir npc_reducer
- Esta linha garante que seu script “reduce_npc_density.lua” seja carregado quando o servidor iniciar.
7. Reinicie seu servidor FiveM:
- Salve o arquivo “server.cfg” e reinicie o servidor FiveM para aplicar as alterações.
8. Ajuste a densidade do NPC em tempo real:
- Depois que seu servidor estiver de volta, você pode ajustar a densidade do NPC em tempo real modificando o
nova densidadevariável no script Lua. Valores mais baixos reduzirão a densidade de NPC, enquanto valores mais altos a aumentarão.
Você aprendeu com sucesso como reduzir NPCs (densidade) no FiveM criando um script Lua e configurando seu servidor para carregá-lo. Isso pode ajudar você a otimizar o desempenho do servidor ou criar cenários de gameplay específicos com menos NPCs no seu servidor GTA V FiveM.
Por favor, curta, compartilhe e comente se isso te ajudou. :)
Lista de verificação prática
Use este guia como uma lista de verificação antes de alterar um servidor FiveM em produção. Confirme a versão atual do artefato do servidor, a versão do framework, as dependências de recursos, as alterações no banco de dados e quaisquer arquivos do lado do cliente antes de aplicar a alteração.
- Faça backup dos arquivos de configuração e tabelas do banco de dados afetados.
- Aplique a alteração primeiro em um servidor de teste.
- Observe o console do servidor e o console F8 do cliente em busca de erros.
- Verifique se a alteração afeta empregos, inventário, veículos, mapas, voz, permissões ou dados do jogador.
- Documente o arquivo, comando ou configuração exata que você alterou para que possa ser revertida rapidamente.
Testes antes da produção
Após o primeiro teste, entre com uma conta de jogador normal e repita o fluxo da perspectiva do jogador. Se o tópico envolver desempenho, meça o antes e o depois com a mesma quantidade de jogadores, rota e conjunto de recursos. Se envolver ferramentas ou permissões de administrador, verifique os usuários permitidos e os bloqueados.
Erros comuns
A maioria dos problemas do FiveM decorre de dependências ausentes, cache desatualizado, nomes de pastas incorretos, incompatibilidade de frameworks ou configurações copiadas de outro servidor. Evite alterar vários sistemas ao mesmo tempo; faça uma alteração por vez, teste-a e só então continue.
Recursos relacionados
Para ativos prontos para produção, compare os recursos pagos no Loja FiveMX. Para recursos gratuitos, navegue. Scripts gratuitos para FiveM e testar cada recurso antes de utilizá-lo publicamente.
Notas sobre o lançamento da produção
Antes de usar este guia em um servidor FiveM em produção, defina o resultado exato que você espera da alteração. Para "Como reduzir a densidade de NPCs no FiveM", isso significa verificar qual recurso, configuração, comando ou fluxo de trabalho é afetado e confirmar se a alteração é compatível com sua estrutura atual, versão do artefato e regras do servidor. Mantenha a implementação em pequena escala para que você possa revertê-la rapidamente caso os jogadores relatem erros.
Utilize um servidor de testes com a mesma estrutura, esquema de banco de dados, ordem de recursos e principais dependências do servidor de produção. Se o tópico alterar a jogabilidade, permissões, visuais, voz, veículos, mapas, inventário ou comportamento da economia, teste com pelo menos uma conta de administrador e uma conta de jogador normal. Observe a saída do console do servidor, os logs do cliente (F8) e o tempo de uso dos recursos enquanto repete o fluxo exato de jogadores que ocorrerá no servidor de produção.
Lista de verificação de reversão
- Salve o arquivo de configuração anterior, a pasta de recursos e o estado do banco de dados antes de fazer qualquer alteração.
- Registre a versão do recurso, o commit, a página de download ou o valor da configuração que você testou.
- Reinicie primeiro apenas o recurso afetado, se possível, e só reinicie o servidor completo se as dependências assim o exigirem.
- Caso ocorram erros, reverta a alteração feita no recurso ou na configuração antes de testar outra correção.
Guia de manutenção
Revise esta configuração novamente após atualizações de artefatos do FiveM, atualizações do framework ou alterações importantes nos recursos. Uma configuração que funciona hoje pode parar de funcionar após atualizações de dependências, renomeação de exportações, alteração de eventos ou migrações de banco de dados. Mantenha anotações junto com a documentação do seu servidor para que os futuros administradores entendam o que foi alterado, por que foi alterado e como verificar novamente.
Revisão em andamento
Verifique novamente como reduzir a densidade de NPCs no FiveM após grandes atualizações de artefatos do FiveM, alterações na estrutura ou migrações de recursos. Confirme se as instruções ainda correspondem ao comportamento atual do servidor, se qualquer fonte vinculada permanece disponível e se as etapas de instalação ainda correspondem aos arquivos que um administrador de servidor realmente baixará ou configurará.
Para servidores públicos, mantenha um breve registro de alterações junto à documentação do servidor. Anote o que foi testado, o que foi alterado, quais contas foram usadas para verificação e como reverter as alterações. Isso agiliza a manutenção futura e evita que anotações antigas de configuração se tornem confusas ou inseguras para os jogadores.
Adicione o manifesto de recurso necessário
O guia de recurso Lua do Cfx.re afirma que uma pasta de recurso precisa de um manifesto para ser detectada e que script_do_cliente informa ao tempo de execução do cliente qual arquivo carregar. Adicione isso ao lado reduce_npc_density.lua:
fx_version 'cerulean'\ngame 'gta5'\n\nclient_script 'reduce_npc_density.lua'
O exemplo usa SetPedDensityMultiplierThisFrame, SetScenarioPedDensityMultiplierThisFrame, SetVehicleDensityMultiplierThisFrame, SetRandomVehicleDensityMultiplierThisFrame e SetParkedVehicleDensityMultiplierThisFrame. Mantenha o loop do lado do cliente e ceda a cada quadro conforme mostrado. Teste interiores populados, tráfego de emergência, missões e scripts de trabalho antes do lançamento, pois populações ambientes reduzidas podem alterar o gameplay, bem como a carga.
Não combine esta abordagem com edições não documentadas popcycle.dat durante o mesmo teste. Mude um controle de cada vez, registre o valor, compare o desempenho do cliente e restaure o recurso anterior se o comportamento regredir.
Referências primárias: Guia de recurso Lua do Cfx.re e o repositório oficial de documentação de nativos do CitizenFX.