Aller au contenu

Dépannage

Toujours en premier : lis la console du serveur et la console F8 du client. La plupart des problèmes affichent quelque chose.

La resource est-elle ensured ? Chaque dossier de [beyond] a besoin de sa propre ligne ensure dans server.cfg. Tape ensure bs_vip (ou autre) dans la console et regarde si elle démarre ou renvoie une erreur. C’était la cause de “menu VIP F7 non implémenté” une fois, le code était bon, elle ne démarrait simplement jamais.

Tu n’as ni chat ni bs_chat qui tourne, ou les deux. Fais-en tourner exactement un. bs_chat remplace le chat par défaut et garde les mêmes événements, donc rien d’autre ne se soucie duquel c’est.

Zombies invisibles, ou “teleport to zombie” atterrit dans le vide

Section intitulée « Zombies invisibles, ou “teleport to zombie” atterrit dans le vide »

Deux causes habituelles :

  1. Un modèle de zombie personnalisé qui ne se charge pas en streaming. Si fxserver.log dit quelque chose comme
    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
    le modèle est trop gros, le jeu ne le charge jamais et le serveur croit que des rôdeurs existent alors qu’aucun client ne les a dessinés. Corrige l’asset (textures compressées avec mipmaps, 1024 ou 2048, bien en dessous de 16 Mo par fichier) ou ne démarre pas le pack. Sans lui tu obtiens le modèle de zombie du jeu de base, qui fonctionne.
  2. Problème du mode réseau. Lance /znet et /zsync. Si le serveur a des rôdeurs près de toi mais que ton client n’en a aucun, essaie Zombies.Mode = 'legacy' et redémarre bs_zombies. Puis envoie-moi la sortie.

Des rampants qui se relèvent : nutria_crawl_anims n’est pas démarré, ou est démarré après bs_zombies.

bs_zombiesfx ne tourne pas. Note qu’il remplace les sons de douleur de tous les peds, joueurs compris. C’est connu.

  • Active les crumbs (ils le sont par défaut : Config.Crumbs.enabled = true dans bs_core). Après un plantage, le démarrage suivant affiche [crumbs] last session: dans F8 avec les 40 dernières choses qui se sont passées. /bs_crumbs affiche la session en cours. Envoie-moi ça, c’est bien plus utile que “ça a planté”.
  • Plantage au chargement / erreurs “256 pool” : généralement le streaming de la map. Voir Performances, les tailles de pool et les extents de la map.
  • Vérifie que le client est sur le build imposé par le serveur (3095).

callback "x" timed out after 10000ms - la resource propriétaire de ce callback ne tourne pas, ou a eu une erreur. Les callbacks sont diffusés et seul le propriétaire répond, donc un propriétaire absent donne un timeout, pas une erreur. Trouve qui l’enregistre dans la référence de l’API.

callback "x" errored: ... - le handler serveur a levé une erreur. Le reste de la ligne est la vraie erreur Lua.

[BS SERVICES] ... - une resource a demandé un service (BS.Use) dont le fournisseur manque ou n’exporte pas ce qu’il avait promis. Vérifie que le fournisseur démarre avant le consommateur.

Spam de MUMBLE_ADD_VOICE_CHANNEL_LISTEN: Tried to call native on a channel that didn't exist - pma-voice. Il est désactivé dans le cfg par défaut pour cette raison.

Could not find resource mapmanager / spawnmanager - tu as des ensure pour des resources de cfx-server-data que tu n’as pas. Retire-les, on n’en a pas besoin.

ox_lib échoue et entraîne ac_radio avec lui - tu as le zip des sources GitHub d’ox_lib. Prends le zip de release, il a web/build/.

Leur identifiant n’est pas dans un groupe avec bs.admin. Vérifie depuis la console :

test_ace identifier.license:xxxx bs.admin

Le staff est exempté par ACE. Un script qui téléporte des joueurs doit appeler exports.bs_guard:Allow(src, 'teleport', ms). Voir Anti-cheat.

Une UI est restée bloquée avec la souris visible

Section intitulée « Une UI est restée bloquée avec la souris visible »

Un panneau a ouvert le focus NUI et ne l’a pas fermé. Tape d’abord /refreshui, il ferme tous les panneaux et relâche le focus. Si ça ne suffit pas, redémarre la resource propriétaire du panneau. Si c’est reproductible, dis-moi quel panneau, chaque panneau est censé associer bs:ui:opened à bs:ui:closed à chaque sortie.

La connexion à la base de données échoue après une mise à jour

Section intitulée « La connexion à la base de données échoue après une mise à jour »

Si tu utilises db.cfg, vérifie qu’il est toujours à côté de server.cfg et que server.cfg contient encore exec db.cfg. Un git pull ne touche jamais db.cfg, mais copier un server.cfg neuf par-dessus le tien peut faire sauter la ligne exec. Voir Recette et déploiement VPS.

  • Vehicles.World.enabled est false, ou la migration 029_vehicle_world.sql n’a pas tourné (vérifie bs_migrations).
  • Ils ne se complètent qu’à un redémarrage du serveur, et n’apparaissent que sur des points de route loin des joueurs et hors des zones sûres. Roule un peu, ils apparaissent entre 260 et 650 mètres.
  • Un modèle de Vehicles.World.pool qui n’existe pas sur ton serveur n’apparaît jamais. Regarde la console F8.

Impossible de monter une pièce, la voiture ne démarre pas

Section intitulée « Impossible de monter une pièce, la voiture ne démarre pas »

Les voitures du monde démarrent sans batterie, bougie ni réservoir. Donne-toi les objets depuis F10 > ITEMS pour tester, puis utilise la roue du véhicule (G).

  • La resource n’a pas encore ce fichier de langue, donc elle retombe sur l’anglais. C’est normal pour l’instant.
  • Une resource que tu as écrite n’inclut pas @bs_core/shared/sh_locale.lua ou ne liste pas locales/*.lua dans files. Voir Langues.

bs_tester n’est pas en ensure, ou le joueur n’a pas l’accès testeur. Les admins l’ont toujours, les autres ont besoin de l’interrupteur TESTER dans F10 > PLAYERS.

Le fichier n’est pas dans la liste codée en dur de bs_core/server/sv_migrations.lua. Voir Migrations de la base de données.