Cómo instalar un servidor QBox: receta, stack y primeros errores
Instala QBox en FiveM con la receta de txAdmin: el stack qbx_core, ox_lib, ox_inventory, oxmysql y ox_target, cómo difiere de QBCore, y los errores comunes del primer inicio.
Quieres un servidor QBox y quieres saber qué hay en el stack, cómo instalarlo y cómo difiere de QBCore. Esta guía te proporciona la ruta de la receta, las piezas que componen QBox, las diferencias a observar, y los primeros errores que la gente golpea.
Instala con la receta de txAdmin
QBox está hecho para instalarse con una receta de txAdmin. En la configuración de txAdmin, elige la plantilla de QBox en las recetas populares (o pega la URL de la receta de la documentación del proyecto de QBox). Los pasos son los mismos que en configuración de txAdmin y recetas: clave de licencia, credenciales de base de datos, luego revisa server.cfg e inicia.
Siempre toma la receta del proyecto de QBox en sí. Su lista de recursos cambia a medida que crece el proyecto, y la receta se mantiene actual.
El stack de QBox
QBox es un conjunto de recursos construidos alrededor de las bibliotecas de Overextended. Las piezas básicas:
| Recurso | Rol |
|---|---|
oxmysql |
Acceso a la base de datos |
ox_lib |
Biblioteca: devoluciones de llamada, notificaciones, menús, zonas, interfaz de usuario |
qbx_core |
El framework: jugadores, trabajos, bandas, personajes |
ox_inventory |
Inventario, artículos, escondites y tiendas |
ox_target |
Interacción del tercer ojo |
Encima de estos, la receta agrega los recursos qbx_ para trabajos, vehículos, vivienda y así sucesivamente, más recursos independientes como voz.
Un server.cfg manual se ve así:
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 receta escribe la lista exacta para la versión que instala, así que trata esto como la forma, no el contenido. El orden importa: ver orden de ensure de server.cfg.
Qué difiere de QBCore
- Nombre del núcleo. El framework es
qbx_core. No hay carpetaqb-core, y no debes mantener una junto a él. - Inventario. QBox usa ox_inventory. Los artículos se definen para ox_inventory, no en el archivo de artículos compartidos de qb. Ver ox_inventory agregar artículos.
- Bibliotecas en lugar de asistentes. Las devoluciones de llamada, notificaciones, menús contextuales y barras de progreso provienen de ox_lib. Ver devoluciones de llamada en ESX, QBCore y ox_lib y notificaciones y barras de progreso.
- Apuntando. ox_target es el recurso de destino: ox_target agregar zona. Las diferencias con el destino de QBCore están en qb-target vs ox-target.
- Exports. QBox tiene sus propias exportaciones, por ejemplo en el servidor:
local player = exports.qbx_core:GetPlayer(source)
if player then
print(player.PlayerData.citizenid)
endLa forma de QBCore exports['qb-core']:GetCoreObject() aún responde a través de la capa de compatibilidad, que es por qué muchos scripts de QBCore funcionan. Para una conversión completa, ver convertir un script de QBCore a QBox.
Primeras verificaciones
Inicia el servidor y lee la consola antes de unirte:
- oxmysql se conecta.
- ox_lib y qbx_core se inician sin errores.
- ox_inventory se inicia. Tiene sus propias verificaciones al inicio y reporta problemas claramente, así que lee lo que imprime.
- Puedes unirte, crear un personaje y spawne.
- Tu inventario se abre con la clave que la receta configuró.
Para derechos de administrador, QBox usa principales ACE en server.cfg, de la misma manera que otros frameworks. Ver permisos ACE.
Errores comunes del primer inicio
Un script de QBCore no puede encontrar el núcleo. Si la capa de compatibilidad no está activa, o qbx_core no se inició, obtienes:
No such export GetCoreObject in resource qb-coreVerifica que qbx_core se inició sin errores, y que no existe carpeta qb-core obsoleta. Ver QBCore nil: la corrección GetCoreObject.
ox_lib no cargado. Un script que llama a lib antes de que ox_lib se inicie falla. Pon ensure ox_lib cerca de la parte superior y agrega @ox_lib/init.lua al manifiesto del script. Ver ox_lib init.lua not found.
Errores de base de datos. Cadena de conexión incorrecta, o la base de datos no fue creada. Ver error de conexión oxmysql.
Dos inventarios. Ejecutar qb-inventory junto a ox_inventory causa artículos duplicados y rotos. Mantén solo ox_inventory.
El recurso no se inicia. No se pudo encontrar la dependencia te dice qué falta.
Lista de verificación
| Síntoma | Solución |
|---|---|
No such export GetCoreObject in resource qb-core |
Inicia qbx_core primero, elimina cualquier carpeta qb-core antigua |
El script dice que lib es nulo |
ensure ox_lib primero y carga @ox_lib/init.lua en el manifiesto |
| Artículos faltantes o duplicados | Usa solo ox_inventory y define artículos para él |
| No se puede conectar a la base de datos | Verifica mysql_connection_string y que la base de datos exista |
| El script de QBCore se comporta mal | Verifica si depende de qb-inventory u otros internos de qb |
| No administrador | Agrega tu identificador con add_principal y reinicia |
Respuestas rápidas
¿Es QBox compatible con scripts de QBCore?
En su mayoría. qbx_core mantiene una capa de compatibilidad, así que exports['qb-core']:GetCoreObject() aún funciona y muchos scripts de QBCore se ejecutan sin cambios. Los scripts que dependen de qb-inventory u otros internos de qb pueden necesitar cambios.
¿Necesito ox_inventory en QBox?
Sí, el stack de QBox se construye alrededor de ox_inventory, con ox_lib y ox_target. No ejecutes qb-inventory junto a él.
¿Puedo instalar QBox sin txAdmin?
Sí, pero la receta de txAdmin es la ruta admitida porque descarga los recursos coincidentes y escribe server.cfg. Una instalación manual sigue el mismo orden pero necesita más verificación.
Scripts que evitan este problema
Item Creator V2Crea items usables con animaciones, props, efectos y más — sin escribir código.Ver script →
Shop CreatorCrea una tienda en menos de un minuto — dueños, empleados, caja fuerte y atracos.Ver script →
Mic PhoneUn móvil plegable que se abre en tablet y llega al móvil real del jugador.Ver script →