{"id":157927,"date":"2024-09-22T11:27:07","date_gmt":"2024-09-22T09:27:07","guid":{"rendered":"https:\/\/hifivem.com\/?p=157927"},"modified":"2026-07-23T09:28:35","modified_gmt":"2026-07-23T07:28:35","slug":"configuracion-de-scripts-de-qbcore","status":"publish","type":"post","link":"https:\/\/hifivem.com\/es\/configuracion-de-scripts-de-qbcore\/","title":{"rendered":"Configuraci\u00f3n de scripts de QBCore: as\u00ed es como se hace"},"content":{"rendered":"<p>Configura los scripts QBCore con un manifiesto claro y una lista precisa de dependencias; despu\u00e9s prueba la configuraci\u00f3n, los locales, el orden de inicio y las validaciones de eventos en el servidor antes de producci\u00f3n.<\/p>\n<h2>Declara el l\u00edmite del recurso<\/h2>\n<p>Lee el README y las notas de la versi\u00f3n del paquete antes de modificar nada. Toma de esa documentaci\u00f3n la carpeta del recurso, las dependencias, las rutas de configuraci\u00f3n y cualquier migraci\u00f3n de base de datos, y ejecuta solo migraciones documentadas en preproducci\u00f3n. El manifiesto siguiente es un ejemplo de estructura, no sustituye las instrucciones del paquete.<\/p>\n<pre data-no-translation=\"\"><code data-no-translation=\"\">fx_version 'cerulean'\ngame 'gta5'\n\ndependency 'qb-core'\nshared_script 'config.lua'\nshared_script 'locales\/en.lua'\nclient_script 'client\/main.lua'\nserver_script 'server\/main.lua'<\/code><\/pre>\n<h2>Personaliza la configuraci\u00f3n y los locales de forma segura<\/h2>\n<p>Revisa config.lua y los archivos de locales incluidos antes del primer inicio. Mant\u00e9n los valores espec\u00edficos del servidor en la configuraci\u00f3n, copia solo claves de locale documentadas y conserva el valor predeterminado upstream como punto de comparaci\u00f3n. Conserva un cambio solo si una persona se responsabiliza de \u00e9l, si sobrevive a una actualizaci\u00f3n upstream sin parchear el n\u00facleo y si ha pasado las pruebas de preproducci\u00f3n antes de llevarlo a producci\u00f3n.<\/p>\n<h2>Inicia las dependencias primero<\/h2>\n<p>En server.cfg, inicia qb-core antes del script que depende de \u00e9l. A\u00f1ade un adaptador de base de datos como oxmysql antes de qb-core solo cuando la documentaci\u00f3n del paquete indique esa dependencia. Inicia primero todas las dem\u00e1s dependencias documentadas y usa ensure solo despu\u00e9s de verificar el nombre de cada carpeta de recurso.<\/p>\n<pre data-no-translation=\"\"><code data-no-translation=\"\">ensure qb-core\nensure your-resource<\/code><\/pre>\n<h2>Valida eventos en el servidor<\/h2>\n<p>Trata la entrada del cliente como no confiable. Usa eventos de red solo cuando los datos deban cruzar contextos de cliente y servidor, y valida permisos, propiedad, posici\u00f3n, inventario, dinero y estado con datos del servidor antes de cambiar algo valioso. No dejes que un cliente elija una recompensa, precio, jugador objetivo o acci\u00f3n privilegiada sin comprobaciones en el servidor.<\/p>\n<h2>Prueba cada cambio en preproducci\u00f3n<\/h2>\n<p>Usa un servidor de preproducci\u00f3n con configuraci\u00f3n representativa y una base de datos desechable. Inicia el recurso desde un reinicio limpio, prueba el flujo principal de jugador con una cuenta autorizada y otra sin privilegios, inspecciona errores del servidor y repite tras reiniciar el recurso. Registra la versi\u00f3n exacta y el cambio de configuraci\u00f3n antes de producci\u00f3n.<\/p>\n<p>Fuentes primarias: c\u00f3digo fuente actual de qb-core, documentaci\u00f3n de manifiestos de recursos de Cfx y gu\u00eda de seguridad de servidor de Cfx.<\/p>","protected":false},"excerpt":{"rendered":"<p>Configura los scripts QBCore con un manifiesto claro y una lista precisa de dependencias; despu\u00e9s prueba la configuraci\u00f3n, los locales, el orden de inicio y las validaciones de eventos en el servidor antes de producci\u00f3n.<\/p>","protected":false},"author":1,"featured_media":157928,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2877,1899],"tags":[3001,2859],"class_list":["post-157927","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-free-fivem-job-scripts","category-tutorials","tag-fivem-script","tag-qbcore"],"_links":{"self":[{"href":"https:\/\/hifivem.com\/es\/wp-json\/wp\/v2\/posts\/157927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hifivem.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hifivem.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hifivem.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hifivem.com\/es\/wp-json\/wp\/v2\/comments?post=157927"}],"version-history":[{"count":4,"href":"https:\/\/hifivem.com\/es\/wp-json\/wp\/v2\/posts\/157927\/revisions"}],"predecessor-version":[{"id":214033,"href":"https:\/\/hifivem.com\/es\/wp-json\/wp\/v2\/posts\/157927\/revisions\/214033"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hifivem.com\/es\/wp-json\/wp\/v2\/media\/157928"}],"wp:attachment":[{"href":"https:\/\/hifivem.com\/es\/wp-json\/wp\/v2\/media?parent=157927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hifivem.com\/es\/wp-json\/wp\/v2\/categories?post=157927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hifivem.com\/es\/wp-json\/wp\/v2\/tags?post=157927"}],"curies":[{"name":"gracias","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}