Comment installer un serveur QBox : recette, stack et premières erreurs

Installez QBox sur FiveM avec la recette txAdmin : la stack qbx_core, ox_lib, ox_inventory, oxmysql et ox_target, comment elle diffère de QBCore, et les erreurs courantes de première fois.

Vous voulez un serveur QBox et vous voulez savoir ce qu'il y a dans la stack, comment l'installer et comment elle diffère de QBCore. Ce guide vous donne l'itinéraire de recette, les pièces qui composent QBox, les différences à surveiller, et les premières erreurs que les gens rencontrent.

Installer avec la recette txAdmin

QBox est conçu pour être installé avec une recette txAdmin. Dans la configuration de txAdmin, choisissez le modèle QBox dans les recettes populaires (ou collez l'URL de la recette de la documentation du projet QBox). Les étapes sont les mêmes que dans configuration txAdmin et recettes : clé de licence, identifiants de base de données, puis examinez server.cfg et démarrez.

Prenez toujours la recette du projet QBox lui-même. Sa liste de resources change à mesure que le projet grandit, et la recette reste à jour.

La stack QBox

QBox est un ensemble de resources construit autour des bibliothèques d'Overextended. Les pièces de base :

Resource Rôle
oxmysql Accès à la base de données
ox_lib Bibliothèque : callbacks, notifications, menus, zones, UI
qbx_core Le framework : joueurs, emplois, gangs, personnages
ox_inventory Inventaire, articles, cachettes et magasins
ox_target Interaction du troisième oeil

En plus de ceux-ci, la recette ajoute les resources qbx_ pour les emplois, les véhicules, le logement et ainsi de suite, plus les resources autonomes comme la voix.

Un manuel server.cfg ressemble à ceci :

cfg
set mysql_connection_string "mysql://user:password@localhost/qbox?charset=utf8mb4"

ensure oxmysql
ensure ox_lib
ensure qbx_core
ensure ox_inventory
ensure ox_target
ensure [qbx]
ensure [standalone]

La recette écrit la liste exacte pour la version qu'elle installe, donc traitez-la comme la forme, pas le contenu. L'ordre est important : voir ordre ensure server.cfg.

Ce qui diffère de QBCore

lua
local player = exports.qbx_core:GetPlayer(source)
if player then
    print(player.PlayerData.citizenid)
end

Le moyen QBCore exports['qb-core']:GetCoreObject() répond toujours via la couche de compatibilité, ce qui est pourquoi de nombreux scripts QBCore fonctionnent. Pour une conversion complète, voir convertir un script QBCore en QBox.

Premières vérifications

Démarrez le serveur et lisez la console avant de rejoindre :

  1. oxmysql se connecte.
  2. ox_lib et qbx_core démarrent sans erreurs.
  3. ox_inventory démarre. Il a ses propres vérifications au démarrage et signale les problèmes clairement, donc lisez ce qu'il imprime.
  4. Vous pouvez rejoindre, créer un personnage et spawner.
  5. Votre inventaire s'ouvre avec la clé que la recette a configurée.

Pour les droits d'administrateur, QBox utilise des principals ACE dans server.cfg, de la même façon que d'autres frameworks. Voir permissions ACE.

Erreurs courantes de première fois

Un script QBCore ne peut pas trouver le core. Si la couche de compatibilité n'est pas active, ou qbx_core n'a pas démarré, vous obtenez :

text
No such export GetCoreObject in resource qb-core

Vérifiez que qbx_core a commencé sans erreurs, et qu'aucun dossier qb-core obsolète n'existe. Voir QBCore nil : la correction GetCoreObject.

ox_lib pas chargée. Un script qui appelle lib avant le démarrage de ox_lib échoue. Mettez ensure ox_lib près du haut et ajoutez @ox_lib/init.lua au manifest du script. Voir ox_lib init.lua not found.

Erreurs de base de données. Mauvaise chaîne de connexion, ou la base de données n'a pas été créée. Voir erreur de connexion oxmysql.

Deux inventaires. Exécuter qb-inventory à côté de ox_inventory provoque des articles dupliqués et cassés. Gardez uniquement ox_inventory.

La resource ne démarre pas. Could not find dependency vous dit ce qui manque.

Liste de contrôle

Symptôme Correction
No such export GetCoreObject in resource qb-core Démarrez qbx_core d'abord, supprimez tout ancien dossier qb-core
Le script dit que lib est nil ensure ox_lib plus tôt et chargez @ox_lib/init.lua dans le manifest
Articles manquants ou doublés Utilisez uniquement ox_inventory et définissez les articles pour cela
Impossible de se connecter à la base de données Vérifiez mysql_connection_string et que la base de données existe
Le script QBCore se comporte mal Vérifiez s'il dépend de qb-inventory ou d'autres qb internals
Pas administrateur Ajoutez votre identifiant avec add_principal et redémarrez

Réponses rapides

QBox est-il compatible avec les scripts QBCore ?

Principalement. qbx_core garde une couche de compatibilité, donc exports['qb-core']:GetCoreObject() fonctionne toujours et de nombreux scripts QBCore s'exécutent inchangés. Les scripts qui dépendent de qb-inventory ou d'autres qb internals peuvent nécessiter des modifications.

Ai-je besoin d'ox_inventory sur QBox ?

Oui, la stack QBox est construite autour de ox_inventory, avec ox_lib et ox_target. N'exécutez pas qb-inventory à côté.

Puis-je installer QBox sans txAdmin ?

Oui, mais la recette txAdmin est l'itinéraire supporté car elle télécharge les resources correspondantes et écrit server.cfg. Une installation manuelle suit le même ordre mais a besoin de plus de vérifications.

Des scripts sans ce problème

Item Creator V2Créez des items utilisables avec animations, props, effets et plus — sans écrire une ligne de code.Voir le script →Shop CreatorCréez un magasin en moins d’une minute — propriétaires, employés, coffres et braquages inclus.Voir le script →Mic PhoneUn téléphone pliable qui se déplie en tablette et se prolonge jusqu’au vrai téléphone du joueur.Voir le script →

À lire aussi