Pular para o conteúdo

Resolução de problemas

Primeiro, sempre: lê a consola do servidor e a consola F8 do cliente. A maioria dos problemas imprime alguma coisa.

O resource tem ensure? Cada pasta [beyond] precisa da sua própria linha ensure no server.cfg. Escreve ensure bs_vip (ou o que for) na consola e vê se arranca ou dá erro. Foi a causa de “menu VIP F7 não implementado” uma vez, o código estava bem, só nunca arrancava.

Não tens nem chat nem bs_chat a correr, ou tens os dois. Corre exatamente um. O bs_chat substitui o chat de origem e mantém os mesmos eventos, por isso mais nada se importa com qual é.

Zombies invisíveis, ou “teleport to zombie” aterra no vazio

Seção intitulada “Zombies invisíveis, ou “teleport to zombie” aterra no vazio”

Duas causas habituais:

  1. Um modelo de zombie personalizado que não faz streaming. Se o fxserver.log disser algo como
    Asset bs_zombiepeds/u_m_y_zombie_01.ydd uses 64.0 MiB of virtual memory.
    Oversized assets can and WILL lead to streaming issues
    o modelo é demasiado grande, o jogo nunca o carrega e o servidor pensa que existem caminhantes que nenhum cliente desenhou. Corrige o asset (texturas comprimidas com mipmaps, 1024 ou 2048, bem abaixo de 16 MB por ficheiro) ou não arranques o pack. Sem ele ficas com o modelo de zombie do jogo base, que funciona.
  2. Problema no modo em rede. Corre /znet e /zsync. Se o servidor tem caminhantes perto de ti mas o teu cliente não tem nenhum, experimenta Zombies.Mode = 'legacy' e reinicia o bs_zombies. Depois envia-me o resultado.

Crawlers que se levantam: o nutria_crawl_anims não está iniciado, ou arranca depois do bs_zombies.

O bs_zombiesfx não está a correr. Nota que substitui os sons de dor dos peds de todos os peds, jogadores incluídos. É conhecido.

  • Ativa os crumbs (estão ativos por defeito: Config.Crumbs.enabled = true no bs_core). Depois de um crash, o arranque seguinte imprime [crumbs] last session: no F8 com as últimas 40 coisas que aconteceram. /bs_crumbs imprime a sessão atual. Envia-me isso, é muito mais útil do que “crashou”.
  • Crash ao entrar / erros “256 pool”: normalmente é o streaming do mapa. Vê Desempenho, os tamanhos de pool e os extents do mapa.
  • Garante que o cliente está na build que o servidor impõe (3095).

callback "x" timed out after 10000ms - o resource dono desse callback não está a correr, ou deu erro. Os callbacks são transmitidos e só o dono responde, por isso um dono em falta dá timeout, não erro. Descobre quem o regista na referência da API.

callback "x" errored: ... - o handler do servidor lançou um erro. O resto da linha é o erro real de Lua.

[BS SERVICES] ... - um resource pediu um serviço (BS.Use) cujo provider falta ou não exporta o que prometeu. Verifica que o provider arranca antes do consumidor.

Spam de MUMBLE_ADD_VOICE_CHANNEL_LISTEN: Tried to call native on a channel that didn't exist - pma-voice. Por esta razão está desligado no cfg por defeito.

Could not find resource mapmanager / spawnmanager - tens ensures para resources do cfx-server-data que não tens. Remove-os, não precisamos deles.

O ox_lib falha e leva o ac_radio atrás - tens o zip do código-fonte do GitHub do ox_lib. Usa o zip de release, que tem web/build/.

O identificador deles não está num grupo com bs.admin. Verifica na consola:

test_ace identifier.license:xxxx bs.admin

O staff está isento por ACE. Um script que teletransporta jogadores tem de chamar exports.bs_guard:Allow(src, 'teleport', ms). Vê Anti-cheat.

Um painel abriu o foco NUI e não o fechou. Escreve primeiro /refreshui, fecha todos os painéis e larga o foco. Se não resolver, reinicia o resource dono do painel. Se for reproduzível, diz-me qual painel, todos os painéis devem emparelhar bs:ui:opened com bs:ui:closed em todas as saídas.

Falha o login na base de dados depois de uma atualização

Seção intitulada “Falha o login na base de dados depois de uma atualização”

Se usas db.cfg, confirma que continua ao lado do server.cfg e que o server.cfg ainda tem exec db.cfg. Um git pull nunca toca no db.cfg, mas copiar um server.cfg novo por cima do teu pode apagar a linha exec. Ver Receita e deploy em VPS.

  • Vehicles.World.enabled está a false, ou a migração 029_vehicle_world.sql não correu (verifica bs_migrations).
  • Só reabastecem num reinício do servidor, e só fazem spawn em pontos de estrada longe dos jogadores e fora das zonas seguras. Anda por aí, aparecem a 260 a 650 metros.
  • Um modelo em Vehicles.World.pool que não existe no teu servidor nunca faz spawn. Vê a consola F8.

Não consigo montar uma peça, o carro não arranca

Seção intitulada “Não consigo montar uma peça, o carro não arranca”

Os carros do mundo começam sem bateria, vela e depósito de combustível. Dá os itens pelo F10 > ITEMS para testar e depois usa a roda do veículo (G).

  • O resource ainda não tem esse ficheiro de idioma, por isso volta ao inglês. É o esperado por agora.
  • Um resource que escreveste não inclui @bs_core/shared/sh_locale.lua ou não lista locales/*.lua em files. Ver Idiomas.

O bs_tester não está em ensure, ou o jogador não tem acesso de tester. Os admins têm sempre, os outros precisam do interruptor TESTER em F10 > PLAYERS.

O ficheiro não está na lista fixa em bs_core/server/sv_migrations.lua. Ver Migrações da base de dados.