Distribuye tu mapa como recurso de FiveM

Prepara un recurso limpio, registra los YTYP personalizados, inícialo en un servidor de desarrollo y verifica los archivos entregados.

En esta guía

Un recurso con nombre, registro explícito de arquetipos personalizados y una prueba de inicio repetible.

Antes de empezarAssets exportados al formato del juego · Acceso a un servidor FiveM de desarrollo

Trata la carpeta del recurso como un paquete de publicación, no como tu directorio de trabajo. Debe contener los archivos listos para el juego y un manifiesto claro. Las copias de Blender, los proyectos del editor y las exportaciones sin convertir deben estar aparte.

Empieza con un directorio limpio

Para un interior personalizado pequeño, usa una estructura como esta:

cw_workshop/
  fxmanifest.lua
  stream/
    cw_workshop.ymap
    cw_workshop.ytyp
    cw_workshop_shell.ydr
    cw_workshop_col.ybn

Es un inventario de ejemplo, no una lista exhaustiva para todos los proyectos. Añade las texturas y demás dependencias reales de tus exportaciones. Los nombres deben coincidir con tus assets y referencias, no solo parecerse al ejemplo.

Escribe el manifiesto del recurso

Para el único YTYP del ejemplo:

fx_version 'cerulean'
game 'gta5'

this_is_a_map 'yes'

files {
    'stream/cw_workshop.ytyp'
}

data_file 'DLC_ITYP_REQUEST' 'stream/cw_workshop.ytyp'

Cfx.re documenta las directivas de recursos en su referencia de manifiestos y el tipo de registro YTYP en su referencia de archivos de datos.

Para varios YTYP personalizados, enumera archivos y registros coherentemente o usa los patrones glob documentados de forma deliberada. No registres archivos que no entregarás. Un mapa que solo coloca arquetipos existentes puede usar un manifiesto menor, como en el tutorial del primer YMAP.

El herramienta de manifiestos genera este pequeño ejemplo en el navegador. No inspecciona tus assets ni valida un MLO completo.

No confundas los manifiestos

Un manifiesto de mapa del juego generado por CodeWalker no es fxmanifest.lua. Del mismo modo, un archivo .cwproj no es un mapa del juego y no puede transmitirse en lugar de sus exportaciones.

Usa las salidas nativas producidas por tus herramientas. Cambiar una extensión no es convertir. Mantén la carpeta de intercambio fuera de la publicación para detectar copias accidentales.

Inícialo en un servidor de desarrollo

Coloca el recurso en el directorio de recursos del servidor. Las carpetas de categorías, como [maps] organizan proyectos; el nombre del comando debe seguir coincidiendo con la carpeta real del recurso.

Desde la consola del servidor:

refresh
ensure cw_workshop

Guarda la línea adecuada ensure en la configuración del servidor para los próximos inicios. Comprueba la salida del servidor; escribir un comando no demuestra que cargue correctamente. La documentación de comandos del servidor es la referencia para el comportamiento de los comandos.

Visita las coordenadas de prueba registradas. Un recurso puede iniciarse sin colocar el contenido donde esperabas; comprueba la colocación aparte del inicio.

Prueba el paquete entregado, no tu espacio de trabajo

Copia solo la carpeta candidata a una ubicación de prueba limpia. Compara su lista de archivos con las exportaciones previstas. Si el mapa solo funciona con otro recurso experimental activo, identifica esa dependencia en lugar de dejarla implícita.

Prueba la reconexión, la aproximación desde fuera y el inicio del servidor con el recurso configurado desde el principio. Para un MLO, repite también las rutas de habitaciones, portales y colisión de las lecciones correspondientes.

Mantén separadas las salidas Legacy y Enhanced. La nota sobre ediciones explica por qué una prueba Legacy anterior correcta no demuestra compatibilidad con Enhanced.

Haz reversibles las actualizaciones

Asigna una versión a la carpeta o archivo de publicación y conserva el paquete funcional anterior. Registra los cambios exactos y la ruta probada. En un servidor compartido, sigue el mantenimiento del operador en lugar de experimentar con jugadores conectados.

Tras un despliegue fallido, restaura junto todo el conjunto funcional conocido. Mezclar un YMAP antiguo con un YTYP o colisión nuevos complica la reversión. Una publicación reproducible se identifica, reproduce y sustituye como una unidad.

Instala un YMAP que use solo objetos del juego

Usa una carpeta de recurso nueva, por ejemplo cw_three_props, con fxmanifest.lua en su raíz y el nativo YMAP dentro de stream/. Mantén el JSON del proyecto y el XML de intercambio fuera del directorio stream entregado. Para el ejemplo sencillo, el manifiesto puede ser:

fx_version 'cerulean'
game 'gta5'

this_is_a_map 'yes'

Esto supone que todos los arquetipos ya estén disponibles en el juego y DLC de destino. Un modelo personalizado puede necesitar su definición y dependencias incluso con una sola colocación YMAP. Usa el generador con la opción personalizada desactivada solo cuando se cumpla esa condición.

Registra un YTYP personalizado con su nombre de archivo real

Si proporcionas stream/cw_workshop_types.ytyp, el recurso debe declarar ese archivo real. El nombre de la carpeta no obliga al YTYP a usar el mismo nombre base:

files {
    'stream/cw_workshop_types.ytyp'
}

data_file 'DLC_ITYP_REQUEST' 'stream/cw_workshop_types.ytyp'

Añade esto al manifiesto del mapa, no al XML YMAP. La referencia de archivos de datos de Cfx.re identifica este tipo de registro. Varias definiciones necesitan declaraciones correspondientes; los assets entre recursos requieren también un plan documentado de dependencias e inicio. El generador maneja un YTYP opcional, no todo un grafo de dependencias.

Aísla los fallos de inicio del recurso

Ejecuta refresh después de añadir una carpeta de recurso y después ensure cw_three_props con el nombre real de tu carpeta. Revisa la consola antes del mapa. Si no se reconoce el recurso, comprueba las carpetas anidadas y el nombre del manifiesto; ante un error de análisis Lua, comprueba la sintaxis. Guarda sin un sufijo oculto .txt .

El mensaje «ensure succeeded» demuestra el inicio, no la validez de los assets. Reconéctate, visita las coordenadas exactas y comprueba todas las colocaciones. Para contenido invisible o parpadeos ligados a puertas, continúa con el diagnóstico basado en síntomas. Mantén los ejemplos fuente fuera de producción hasta realizar sus etapas independientes nativas y dentro del juego.

Comprueba tu trabajo.

El progreso de la lista de comprobación permanece en este navegador cuando JavaScript está activado.

Fuentes y lecturas adicionales

El comportamiento de las herramientas sigue la documentación primaria enlazada. Los ejercicios, nombres de ejemplos y planes de prueba son orientaciones editoriales, no una afirmación de verificación dentro del juego.

Guarda tu progreso. No necesitas una cuenta.
Optimiza un MLO sin adivinar

Buscar en la guía práctica

Empieza a escribir para encontrar una herramienta o una guía.

    Busca en herramientas, títulos y textos de artículos. Las consultas permanecen en tu navegador.esc para cerrar