FiveM preso na tela de carregamento: causas e como debugar
Jogadores presos na tela de carregamento do FiveM para sempre? Verifique spawnmanager, multicharacter, um recurso de loadscreen, game build, streaming grande e framework load com F8.
Jogadores conectam, a barra enche, e então nada: a tela de carregamento fica para sempre, ou o jogo congela em uma tela preta. Este guia passa pelas causas na ordem que é mais rápido descartar, e mostra como usar F8 e o console do server para encontrar a que você tem.
Primeiro: é everyone ou um jogador?
- Todos estão presos. A causa é no server: um recurso, o framework, ou um loadscreen.
- Um jogador está preso. Olhe para aquele cliente do jogador: cache, uma conexão lenta, mods, ou um build de jogo antigo. Comece com clearing the FiveM cache.
Junte-se uma vez você mesmo e pressione F8. Isso funciona na tela de carregamento também. Leia o que é impresso ali, e mantenha o console do server aberto do outro lado.
1. Um erro de script no cliente
F8 lista erros de cliente. Qualquer linha assim durante o carregamento é uma forte pista:
SCRIPT ERROR: @my_script/client/main.lua:25: attempt to index a nil value (global 'ESX')Um client script que trava em sua start thread pode deixar o spawn flow inacabado. Conserte o script nomeado no erro: os guias para reading a script error, ESX nil e QBCore nil cobrem os comuns. Depois reinicie o recurso e se junte novamente.
Teste por eliminação se nada for impresso: pare o recurso mais recentemente adicionado ou alterado, se junte novamente, e veja se o carregamento termina.
2. Ninguém spawna o jogador
Após carregar, algo deve spawnar o jogador e desligar a tela de carregamento. Usualmente:
spawnmanagerfaz em um servidor simples.- O multicharacter e spawn selector de um framework o fazem em ESX e QBCore.
Verifique que esses recursos começam, na ordem certa, e que apenas um deles lida com spawning. Um conflito típico é um spawnmanager padrão auto-spawning o jogador enquanto um recurso de multicharacter também quer. Tenha certeza de que os recursos de base começam antes do framework, como em the right ensure order:
ensure oxmysql
ensure ox_lib
ensure es_extended # or qb-core / qbx_core
ensure spawnmanager
ensure esx_multicharacter # or qb-multicharacter / qbx_core's ownSe um recurso de multicharacter trava, olhe no console do server para um erro de banco de dados dele: o carregamento de character lê o banco de dados, e uma falha SQL deixa o jogador esperando. Veja oxmysql connection error e SQL table doesn't exist.
3. Um loadscreen customizado que nunca fecha
Server loadscreens são recursos declarados no seu manifest:
fx_version 'cerulean'
game 'gta5'
loadscreen 'html/index.html'
loadscreen_manual_shutdown 'yes'
files { 'html/**/*' }Com loadscreen_manual_shutdown 'yes', FiveM não fecha o loadscreen sozinho. Um client script tem que fazer, chamando os shutdown natives uma vez que o jogador está pronto:
ShutdownLoadingScreen()
ShutdownLoadingScreenNui()Se um recurso de loadscreen tem a opção manual shutdown e ninguém chama esses, a tela fica para sempre. Ou remova loadscreen_manual_shutdown, ou tenha certeza que seu spawn flow os chama. Teste parando o recurso de loadscreen e se juntando novamente.
Um loadscreen que está quebrado, que carrega um arquivo externo que é inalcançável, ou que toca um vídeo muito grande pode também bloquear ou desacelerar a tela. Mantenha-a leve e local.
4. Streaming grande e downloads
Entrar faz download de todos os arquivos streamed que o jogador ainda não tem. Um server com muitos veículos grandes, mapas e pacotes de roupa pode levar minutos na primeira conexão, e a tela de carregamento mostra nada acontecendo se o download é lento. Sinais:
- O F8 ou tela de carregamento mostra downloads em progresso.
- Funciona para jogadores que retornam mas não para novos.
- O problema fica pior depois que você adiciona um pacote de assets.
Correções: reduza o tamanho e a contagem de assets streamed (veja oversized assets), hospede o server em uma conexão com largura de banda suficiente, e peça aos jogadores que esperem o primeiro download terminar.
5. Problemas de game build ou versão de server
Se o server força um game build, um jogador em um build mais antigo ou diferente pode falhar ao entrar limpar. Verifique sv_enforceGameBuild em server.cfg contra o DLC que seus assets precisam. Veja sv_enforceGameBuild. Um artifact de server desatualizado também pode causar entradas estranhas: update your FiveM server artifacts.
6. O framework não carrega o character
Jogadores spawnam, mas o framework nunca termina de carregar o jogador. No console do server procure por:
- um erro de banco de dados enquanto carrega o jogador ou character
- um erro de
es_extended,qb-coreouqbx_coreno evento player-loaded - um script que faz hook daquele evento e lança, parando outros handlers
Se você vir um erro ali, conserte-o, e se junte novamente. Um inventory quebrado ou um job script quebrado também pode falhar dentro do player-loaded flow, então verifique os mais recentemente adicionados primeiro.
Uma rotina de debug
- Se junte e pressione F8. Anote cada erro.
- Leia o console do server durante a entrada.
- Pare o recurso mais recentemente alterado, se junte novamente.
- Pare o recurso de loadscreen, se junte novamente.
- Ainda preso para everyone: comece apenas com os recursos de base e adicione o resto de volta em grupos.
Dica: se você adiciona recursos em grupos de cinco ou dez, você encontra o ruim com poucos restarts em vez de testar 80 recursos um por um.
Checklist
| Sintoma | Solução |
|---|---|
| Erro em F8 durante carregamento | Conserte aquele client script, se junte novamente |
| Tela preta, ninguém spawna | Verifique spawnmanager ou multicharacter, apenas um spawn flow |
| Loadscreen nunca fecha | Remova loadscreen_manual_shutdown, ou chame os shutdown natives |
| Apenas jogadores novos presos | Streaming grande: reduza assets, espere downloads |
| Um jogador preso | Limpe o cache FiveM deles |
Preso depois de mudar sv_enforceGameBuild |
Combine o build com seu DLC e jogo do jogador |
| Erro de banco de dados no console do server | Conserte oxmysql ou a tabela faltante, depois se junte novamente |
Respostas rápidas
Por que meu FiveM está preso na tela de carregamento?
O cliente nunca termina de entrar: o jogador não é spawned, um recurso de loadscreen nunca fecha, um script gera erro ao carregar, ou um download grande ainda está rodando. F8 e o console do server mostram qual.
Como abro o console F8 enquanto carrega?
Pressione F8 na tela de carregamento ou no jogo. Mostra erros de client script e o estado da conexão. Erros ali frequentemente nomeiam o arquivo e linha exatos.
O spawnmanager tem que rodar?
Algo tem que spawnar o jogador. Ou spawnmanager faz, ou o multicharacter ou spawn script do seu framework faz. Se nenhum fizer, o jogador fica na tela de carregamento.
Scripts sem esse problema
Mic PhoneUm celular dobrável que abre em tablet e chega ao celular de verdade do jogador.Ver script →
Arcade MachinesSete jogos de fliperama jogáveis em máquinas de verdade, com rankings e apostas.Ver script →
CCTV Security CamerasCâmeras posicionáveis, um tablet com várias telas ao vivo e fotos impressas como prova.Ver script →