Configuración del framework·

ESX, QBCore y Qbox: Configura tu framework y crea trabajos

Una guía práctica de inicio para FiveM: instala tu framework, crea trabajos y rangos correctamente, comprende el estado de servicio y el acceso de jefe, y comprueba que todo se guarde.

Un framework funcional es la base de tu servidor FiveM. Antes de añadir garajes, tablets o negocios, haz que la creación de personajes, la base de datos y la asignación de trabajos funcionen. Esta guía cubre una instalación limpia y un pequeño ejemplo de trabajo en ESX Legacy, QBCore o Qbox. Sigue la sección correspondiente a tu framework; instalar los tres juntos no forma parte de la configuración.

Comienza con una instalación limpia

Prepara una cuenta de Cfx.re, una clave de registro del servidor, un artefacto de FXServer adecuado y un servicio MariaDB en funcionamiento. Utiliza la versión de base de datos compatible con el framework elegido; Qbox requiere explícitamente MariaDB y no es compatible con MySQL o XAMPP. En hosting gestionado, utiliza el servidor del proveedor y los controles de txAdmin. Consulta la guía oficial de configuración del servidor de FiveM y los requisitos de Qbox.

  1. Abre txAdmin y elige un despliegue de receta nuevo en un directorio de datos de servidor nuevo.
  2. Selecciona la receta oficial de tu framework: ESX Legacy, QBCore o Qbox.
  3. Introduce la clave del servidor y los detalles de conexión de MariaDB correctos. Utiliza una cuenta de base de datos dedicada con acceso a la base de datos de este servidor.
  4. Ejecuta la receta, revisa la configuración generada e inicia el servidor. Mantén las dependencias y el orden de recursos de la receta.
  5. Entra, crea un personaje, reconecta y confirma que el personaje se sigue cargando antes de añadir otros recursos.

Las recetas descargan los recursos y ejecutan su instalación SQL. No importe un segundo esquema de framework completo después ni despliegue una receta nueva sobre un servidor existente. Realice una copia de seguridad tanto de los archivos como de la base de datos antes de realizar cambios posteriores. Para los pasos de instalación específicos del framework, siga la guía de instalación de ESX, la guía de Windows de QBCore o la guía de instalación de Qbox.

Entender qué contiene realmente un trabajo

Cada trabajo tiene una clave interna, una etiqueta de visualización y rangos numerados. Utilizamos sky_example, con rangos 0 y 1, en todo momento. Mantenga esa clave idéntica en el framework, el script del trabajo y cualquier integración. Una etiqueta como “Empresa de Ejemplo” es solo el nombre que ven los jugadores.

FrameworkDefiniciones de trabajosClaves de rango en esta guía
ESX LegacyMariaDB: jobs y job_gradesValores SQL 0, 1
QBCoreqb-core/shared/jobs.luaStrings: ['0'], ['1']
Qboxqbx_core/shared/jobs.luaNúmeros: [0], [1]

Registrar un trabajo crea su identidad en el framework. La jugabilidad, los garajes, el almacenamiento, los menús de jefe y las cuentas comerciales necesitan sus propios recursos y configuraciones compatibles. Un trabajo de framework no es un negocio terminado. Las ubicaciones anteriores siguen el esquema de ESX, el archivo de trabajos de QBCore y el archivo de trabajos de Qbox.

ESX Legacy: crear el trabajo en MariaDB

Abra la base de datos configurada para este servidor, no la base de datos de otro servidor. Primero compruebe si la clave de ejemplo ya existe:

Check existing jobs
SELECT name FROM jobs WHERE name = 'sky_example';
SELECT grade FROM job_grades WHERE job_name = 'sky_example';

Solo ejecuta las siguientes inserciones cuando ambas comprobaciones no devuelvan filas. Si el trabajo existe, inspecciona y edita sus registros existentes en lugar de insertar duplicados.

Create the example job
INSERT INTO jobs (name, label)
VALUES ('sky_example', 'Example Company');

INSERT INTO job_grades
    (job_name, grade, name, label, salary, skin_male, skin_female)
VALUES
    ('sky_example', 0, 'employee', 'Employee', 100, '{}', '{}'),
    ('sky_example', 1, 'boss', 'Manager', 200, '{}', '{}');

job_name vincula cada rango al trabajo. La columna grade es el rango utilizado para la asignación; el id automático de la fila no es el rango. Se ignoran los trabajos sin rangos. Recarga el catálogo de trabajos mediante la consola del servidor:

Server console
refreshjobs

El ESX Legacy actual comienza con oxmysql, luego esx_lib, luego es_extended; los tutoriales antiguos pueden omitir esx_lib. Mantén las dependencias suministradas por tu receta. Consulta la configuración de receta actual y la implementación de carga de trabajos.

Para una integración esx_society, el nombre de rango interno boss es reconocido por su configuración de jefe por defecto. La etiqueta visible “Manager” por sí sola no otorga nada. El registro de sociedad, las cuentas y el orden de dependencia siguen siendo pasos de configuración independientes. Sigue la documentación de sociedad si tu recurso de trabajo la utiliza.

QBCore: añade una entrada a la tabla de trabajos

Abre qb-core/shared/jobs.lua. Inserta este dentro de la tabla de trabajos existente, junto con las otras entradas de trabajos y antes de su llave de cierre. Mantén la declaración de la tabla existente y todos los trabajos existentes; esto es una entrada, no un archivo de reemplazo.

qb-core/shared/jobs.lua
['sky_example'] = {
    label = 'Example Company',
    defaultDuty = false,
    offDutyPay = false,
    grades = {
        ['0'] = { name = 'Employee', payment = 100 },
        ['1'] = { name = 'Manager', payment = 200, isboss = true },
    },
},

Mantén las claves de los rangos como cadenas de texto, incluyendo el rango cero. Comprueba las comas y las llaves alrededor de las entradas adyacentes, guarda y luego realiza un reinicio completo programado del servidor para que los recursos dependientes carguen las mismas definiciones. El comando refresh de FiveM vuelve a escanear los recursos y manifiestos; no recarga una tabla de trabajos Lua en ejecución. No crees filas SQL de jobs al estilo ESX para QBCore. Sus definiciones de trabajos residen en Lua, mientras que los datos de los personajes siguen utilizando la base de datos.

isboss marca el grado de manager; no otorga permisos de comandos de admin del framework. Un recurso de gestión compatible debe seguir proporcionando y configurar el menú real y su ubicación.

Qbox: utiliza su propio archivo de trabajos y grados numéricos

Abre qbx_core/shared/jobs.lua e inserta este dentro de la tabla devuelta por return { ... }, antes de la llave de cierre final. Preserva sus otras entradas. Qbox utiliza claves de grado numérico aquí; no pegues las claves de cadena de QBCore sin cambios.

qbx_core/shared/jobs.lua
['sky_example'] = {
    label = 'Example Company',
    defaultDuty = false,
    offDutyPay = false,
    grades = {
        [0] = { name = 'Employee', payment = 100 },
        [1] = { name = 'Manager', payment = 200, isboss = true, bankAuth = true },
    },
},

Guarda y realiza un reinicio completo programado del servidor. bankAuth es independiente de isboss y es utilizado por integraciones bancarias compatibles; ninguna de las dos flags crea una cuenta o un menú. Ajusta tu configuración a las definiciones de trabajos oficiales de Qbox .

Qbox incluye soporte para multiempleo. Su límite de empleos y si /setjob reemplaza o añade la membresía son configurables. Utiliza sus comandos de membresía compatibles cuando gestiones varios empleos; no asumas que un recurso externo de multiempleo de QBCore sea compatible. Consulta los comandos de Qbox y la configuración de multiempleo.

Asignar, probar y reconectar

Únete con un personaje de prueba y usa una cuenta con los permisos de comandos de framework/ACE requeridos. Un inicio de sesión en txAdmin por sí solo no establece esos permisos. Si Qbox tiene requireOptIn habilitado, usa /optin antes de los comandos de admin. Reemplaza 1 abajo con el ID de servidor actual de tu personaje de prueba conectado; /job informa el trabajo del jugador que lo introduce:

In-game chat
/setjob 1 sky_example 0
/job
/setjob 1 sky_example 1
/job

Comprueba que ambos rangos muestren el trabajo y el rango esperados. La sintaxis de asignación está documentada para ESX, QBCore y Qbox; la comprobación condicional de inclusión de Qbox se encuentra en su implementación de comandos.

Para QBCore y Qbox, este ejemplo comienza fuera de servicio y desactiva el sueldo por estar fuera de servicio. Utiliza la acción de servicio de tu recurso de trabajo instalado; no existe un comando /duty universal para asumir el estado. La configuración de inicio de sesión también afecta a si prevalece el servicio guardado o defaultDuty. Luego, vuelve a conectarte y verifica el trabajo guardado, el rango y el comportamiento de servicio previsto.

Antes de abrir el trabajo a los jugadores, prueba sus permisos con ambos rangos. Un empleado no debe acceder a funciones reservadas para la gerencia. Espera a tu intervalo de nómina configurado en lugar de esperar el pago inmediatamente después de la asignación; los montos del ejemplo son marcadores de posición para tu economía. Si una comprobación falla, lee el primer error de consola relevante y resuélvelo antes de añadir otro recurso.

SíntomaPrimera comprobación
No se puede asignar el trabajoClave exacta, rango existente y definiciones cargadas
Comando denegadoPermisos del framework y configuración ACE
El recurso falla tras una edición de LuaPrimer error de consola, comas y llaves
Trabajo correcto pero sin menúRecurso de trabajo, ubicación configurada, rango y servicio
Nómina incorrectaSueldo por rango, reglas de servicio y configuración de nómina/cuenta

Conecta tu trabajo de Sky después

Una vez que la asignación del framework funcione, sigue la guía de instalación de Sky y configura tu recurso de trabajo instalado con la misma clave de framework y rangos. Utiliza las funciones compartidas de Jobs Base de Sky para los ajustes compartidos pertinentes. Solo configura un par de trabajos fuera de servicio cuando tu configuración de Sky elegida utilice uno, y crea ambos trabajos con todos los rangos requeridos.

Última comprobación: 25 de octubre de 2026. Las fuentes anteriores son la documentación oficial del framework, recetas mantenidas e implementaciones de GitHub. Comprueba tu versión instalada antes de aplicar ejemplos de una versión más reciente.