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 :
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
- Nom du core. Le framework est
qbx_core. Il n'y a pas de dossierqb-core, et vous ne devez pas en garder un à côté. - Inventaire. QBox utilise ox_inventory. Les articles sont définis pour ox_inventory, pas dans le fichier d'articles partagés qb. Voir ox_inventory ajouter des articles.
- Bibliothèques au lieu de helpers. Les callbacks, les notifications, les menus contextuels et les barres de progression viennent de ox_lib. Voir callbacks sur ESX, QBCore et ox_lib et notifications et barres de progression.
- Ciblage. ox_target est la resource target : ox_target ajouter zone. Les différences avec la cible QBCore sont dans qb-target vs ox-target.
- Exports. QBox a ses propres exports, par exemple sur le serveur :
local player = exports.qbx_core:GetPlayer(source)
if player then
print(player.PlayerData.citizenid)
endLe 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 :
- oxmysql se connecte.
- ox_lib et qbx_core démarrent sans erreurs.
- 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.
- Vous pouvez rejoindre, créer un personnage et spawner.
- 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 :
No such export GetCoreObject in resource qb-coreVé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 →