Mapas

MLOs en FiveM: qué son, cómo instalarlos y solucionar errores

Aprende qué es un MLO en FiveM, cómo instalarlo paso a paso, qué hacer con MLOs con escrow y cómo arreglar texturas rotas, paredes invisibles y caídas.

· 11 min de lectura

Un MLO es un interior personalizado en el que puedes entrar: una comisaría con salas funcionales, un club nocturno, un taller mecánico, una casa con segundo piso. Los MLOs son lo que hace que un mapa de roleplay se sienta vivo, y también son una de las causas más comunes de texturas rotas, paredes invisibles y jugadores cayendo por el mapa. Esta guía explica qué es realmente un MLO, cómo instalar un MLO en FiveM correctamente y cómo arreglar los problemas que aparecen después.

Versión corta: un MLO es un resource con una carpeta stream/ de archivos de mapa (.ytyp, .ymap, .ydr, .ybn, .ytd) y un fxmanifest.lua que declara this_is_a_map 'yes' y carga el .ytyp con data_file 'DLC_ITYP_REQUEST'. Ponlo en resources/, hazle ensure y revisa que ningún otro mapa modifique la misma zona.

Qué es un MLO

MLO viene de Milo, el nombre que usan las herramientas de Rockstar para los interiores. El juego trata un MLO como un interior real: está dividido en rooms (habitaciones), y las rooms se conectan con portals (puertas, ventanas, aberturas). El motor usa rooms y portals para decidir qué dibujar. Si estás en una oficina del fondo, no renderiza el piso del almacén al otro lado de una pared sólida. Las rooms también tienen su propia iluminación, timecycle y audio, por eso un buen MLO se siente distinto a la calle de afuera.

Esa es la diferencia clave con las otras formas en que la gente "agrega un edificio" al mapa:

TipoQué es¿Se puede entrar?Uso típico
MLOArchetype de interior con rooms y portals, colocado por un .ymapSí, con iluminación de interior y culling correctosComisarías, clubes, tiendas, casas
Ymap (props)Un archivo de ubicación que coloca objetos existentes o personalizados en el mundoSolo si el shell resulta estar huecoProps extra, decoración, mobiliario urbano, pequeños cambios exteriores
Prop personalizadoUn solo modelo .ydr con sus propias texturas y colisiónNoMuebles, letreros, decoración dentro de un MLO
IPLUna sección del mapa vanilla con nombre que el juego puede cargar y descargar en tiempo realDepende del IPLInteriores vanilla y ubicaciones del modo historia

Un "shell" armado con props puede parecer un interior, pero sin rooms ni portals el juego no tiene idea de que estás adentro, así que la iluminación, el clima y el culling se comportan como si estuvieras al aire libre.

Qué hay dentro de un resource de MLO

Todo MLO que descargas o compras sigue más o menos la misma estructura:

Dentro de un resource MLO

resources/ └── [maps]/ └── my_police_mlo/ ├── fxmanifest.lua └── stream/ ├── my_police_mlo.ytyp ├── my_police_mlo.ymap ├── pd_shell.ydr ├── pd_shell_col.ybn ├── pd_textures.ytd └── ...

Cada tipo de archivo tiene una función específica:

ExtensiónFunción
.ytypDefiniciones de archetypes. En un MLO define el interior en sí: sus rooms, portals y las entidades que contiene.
.ymapUbicación. Coloca el interior (y cualquier prop exterior) en una posición del mundo.
.ydrModelos drawable: paredes, pisos, mallas de muebles.
.ybnColisión (bounds). Sobre lo que los jugadores, peds y vehículos realmente se paran y con lo que chocan.
.ytdDiccionario de texturas. Las imágenes que usan los modelos.

Si alguno de estos tipos de archivo es nuevo para ti, formatos de archivo de GTA V para FiveM explica cada uno con más detalle.

Cómo instalar un MLO

  1. Descomprime la descarga y busca la carpeta que contiene fxmanifest.lua. Algunos packs la meten dentro de otra carpeta o traen un readme al lado; el resource es la carpeta que tiene el manifest.
  2. Cópiala en resources/. Una carpeta de categoría [maps] mantiene todo ordenado. No renombres los archivos dentro de stream/.
  3. Revisa el manifest. Un manifest típico de MLO se ve así:
fx_version 'cerulean'
game 'gta5'

this_is_a_map 'yes'

data_file 'DLC_ITYP_REQUEST' 'stream/my_police_mlo.ytyp'

this_is_a_map 'yes' marca el resource como mapa para que el juego recargue su almacenamiento de mapas cuando el resource carga. data_file 'DLC_ITYP_REQUEST' registra el .ytyp para que el juego sepa que el archetype del interior existe. Sin eso, el .ymap apunta a un archetype que el juego nunca cargó y el edificio simplemente no aparece.

  1. Agrégalo al server.cfg:
ensure my_police_mlo
  1. Reinicia el servidor. Puedes hacer refresh y ensure de un resource de mapa desde la consola, pero los cambios de mapa son mucho más confiables después de un reinicio completo y una conexión nueva del cliente. Borra la caché de FiveM si sigue apareciendo la versión vieja de una zona.

  2. Instala los scripts complementarios. Muchos MLOs vienen con scripts opcionales para puertas, elevadores o zonas de trabajo. Son resources de Lua normales y muchas veces hay que configurarlos para tu framework. Si no sabes cuál usas, revisa Qbox vs QBCore vs ESX.

MLOs de pago y con escrow

La mayoría de los MLOs de pago se venden por Tebex y están protegidos con Cfx.re Asset Escrow. El escrow encripta archivos seleccionados para que solo funcionen en servidores con derecho al asset. Según la documentación de Cfx.re, los archivos protegidos incluyen formatos de modelo como .ydr, mientras que los creadores pueden dejar otros archivos abiertos con una lista escrow_ignore en el manifest.

Lo que esto significa para ti:

  • El asset está ligado a una cuenta. Después de la compra se asigna a tu cuenta de Cfx.re. El servidor tiene que correr con una license key de la cuenta dueña del asset; si no, la consola avisa que te falta el entitlement requerido y el resource no inicia.
  • Descárgalo desde el Cfx.re Portal, no de una copia resubida. Conserva todos los archivos de la carpeta, incluido el archivo oculto .fxap. Algunos clientes FTP se saltan los archivos ocultos, y el resource no inicia sin él.
  • Puede que no puedas editarlo todo. Los modelos encriptados no se pueden abrir en CodeWalker ni en otras herramientas. Lo que el creador dejó en escrow_ignore (muchas veces archivos de ubicación o configuración) sí se puede cambiar. Si necesitas más cambios, pídeselos al creador.
  • Los assets por suscripción dejan de funcionar cuando termina la suscripción.

Conflictos y MLOs superpuestos

La mayoría de los reportes de "mi MLO está roto" en realidad son dos mapas peleándose por el mismo espacio. Hay tres causas comunes:

Dos interiores en el mismo lugar. Si dos MLOs están colocados en posiciones que se superponen, aparecen paredes que parpadean, pisos duplicados e interiores que a veces no cargan. Solo un interior debe ocupar cada ubicación. Elige uno, o mueve uno con CodeWalker.

Dos resources haciendo stream del mismo archivo. FiveM carga una sola copia de cada nombre de archivo. Si dos resources de mapa traen una versión modificada del mismo .ymap o .ybn vanilla, uno sobrescribe al otro sin avisar. El síntoma típico es que un mapa pierde sus cambios: reaparece un edificio que se había quitado, o se deshace un cambio de colisión y los jugadores chocan con paredes invisibles. La solución es combinar ambos cambios en una sola copia de ese archivo y quitar el duplicado.

Scripts de IPL cargando encima de tu MLO. Resources como bob74_ipl cargan interiores vanilla y secciones del mapa exclusivas de GTA Online. Normalmente eso es lo que quieres, pero si tu MLO reemplaza un interior vanilla que uno de esos scripts también carga, los dos terminan en el mundo. Desactiva ese interior en la config del resource de IPL, o revisa si el creador del MLO da alguna nota de compatibilidad.

Un hábito simple evita casi todo esto: lleva una lista de cada resource de mapa y la zona que cubre. Antes de instalar un MLO nuevo, revisa si algo más ya toca esa cuadra.

Reemplazar interiores y edificios vanilla

Muchos MLOs reemplazan algo que ya existe, como una comisaría vanilla o una tienda vacía. Eso tiene dos partes:

  • Los interiores vanilla controlados por IPLs se pueden desactivar en tiempo real con la native RemoveIpl, o desde la config de tu resource de IPL.
  • Los edificios y props vanilla que son parte del mapa base se quitan haciendo stream de una copia modificada del .ymap vanilla con esas entidades eliminadas. Los buenos packs de MLO ya traen ese .ymap editado. Es justo el tipo de archivo que causa el conflicto de "dos resources haciendo stream del mismo archivo" de arriba, así que ojo con eso.

Algunos MLOs también necesitan un game build mínimo porque usan props de actualizaciones más nuevas de GTA Online. Si faltan partes de un interior aunque los archivos estén bien, revisa las notas del creador por un build requerido y configúralo en el server.cfg con sv_enforceGameBuild.

Rendimiento: texturas, LODs y memoria

Los MLOs están entre los assets más pesados de un servidor. Un interior detallado puede tener decenas de texturas, y todo jugador que pasa cerca tiene que cargarlas.

  • Atiende las advertencias de assets demasiado grandes. Al iniciar, FXServer avisa sobre los archivos en stream que usan mucha memoria física. Trata esas advertencias como una lista de pendientes. Los diccionarios de texturas demasiado grandes son una de las principales causas de pérdida de texturas en todo el servidor, no solo dentro de ese MLO.
  • Ajusta el tamaño de las texturas. Una textura 4K en una manija de puerta es memoria desperdiciada. Reducir las texturas según qué tan grandes se ven en pantalla es la solución más efectiva.
  • Revisa los LODs. Los modelos bien hechos incluyen versiones de menor detalle para la distancia. Sin ellos, el juego dibuja el modelo completo o nada, lo que cuesta rendimiento a distancia y hace que los edificios aparezcan de golpe al acercarte.
  • Menos MLOs en la misma cuadra. Varios interiores pesados juntos en una misma calle cargan al mismo tiempo, así que los jugadores en esa zona son los que más lo sienten.

Optimizar assets de FiveM cubre la compresión de texturas y la revisión de LODs paso a paso.

Editar MLOs con CodeWalker

CodeWalker es la herramienta gratuita estándar para ver y editar archivos de mapa de GTA V. Con ella puedes:

  • Abrir el mundo y volar hasta un MLO para ver exactamente dónde está y qué se le superpone.
  • Crear un proyecto, agregar el .ymap y el .ytyp de un resource, y mover, rotar o borrar entidades.
  • Agregar o quitar props dentro de las rooms de un interior.
  • Borrar entidades vanilla de una copia de un .ymap vanilla para un reemplazo.

Algunas reglas hacen la edición más segura:

  • Trabaja sobre una copia del resource, nunca sobre el que está en producción.
  • Después de mover un interior, revisa que su colisión también se haya movido. Si el modelo visual y el .ybn ya no coinciden, los jugadores van a flotar, atravesar cosas o caerse.
  • No cambies los nombres de archivo, a menos que también actualices todas las referencias a ellos.

Si quieres llenar un interior terminado con muebles que no existen en el juego base, props personalizados para FiveM explica cómo hacer stream de tus propios modelos .ydr. El generador 3D de BLDR puede crear esos props a partir de un prompt de texto o una imagen de referencia y exporta un resource de FiveM listo, con archivos .ydr, .ytd y .ytyp y la línea DLC_ITYP_REQUEST ya en el manifest. No crea MLOs, solo los props que colocas dentro de ellos.

Problemas comunes de MLO y cómo arreglarlos

ProblemaCausa probableSolución
El edificio no aparece.ytyp no registrado, resource sin iniciar o falta this_is_a_mapRevisa la ruta del data_file en el manifest y que el resource esté en el server.cfg. Busca errores en la consola F8.
Caerse por el pisoColisión .ybn faltante o desalineadaAsegúrate de que todos los .ybn del MLO estén en stream/ y que ningún otro resource haga stream de un .ybn con el mismo nombre.
Paredes invisiblesColisión de un edificio vanilla eliminado, o un .ybn en conflicto de otro mapaEncuentra qué resource trae la colisión en ese lugar y combínala o quítala.
Texturas faltantes o borrosasFalta un .ytd, texturas demasiado grandes o demasiados assets pesados en todo el servidorConfirma que los .ytd estén presentes y luego reduce el tamaño de las texturas en todo el servidor.
Paredes o pisos que parpadeanDos MLOs o un interior vanilla superpuestos en el mismo espacioQuita el interior duplicado o desactiva el IPL en conflicto.
Faltan props dentro del interiorRequiere un game build más nuevo o un pack de props aparteRevisa los requisitos del creador y configura sv_enforceGameBuild si hace falta.
El resource no iniciaAsset con escrow en la cuenta equivocada, o falta el .fxapUsa una license key de la cuenta dueña del asset y vuelve a subir la carpeta completa.

Preguntas frecuentes

¿Qué significa MLO en FiveM?

Viene de Milo, el nombre interno de Rockstar para los interiores. En FiveM se refiere a cualquier interior personalizado definido con rooms y portals, a diferencia de props simplemente colocados en el mundo.

¿Necesito this_is_a_map 'yes' para un MLO?

Sí. Le dice a FiveM que el resource contiene datos de mapa para que el juego recargue su almacenamiento de mapas cuando el resource inicia. La mayoría de los packs de MLO ya lo incluyen; si uno no lo trae y el interior no carga, agregarlo es lo primero que debes probar.

¿Puedo editar un MLO de pago?

Solo las partes que el creador dejó sin encriptar. Los modelos protegidos con escrow no se pueden abrir ni modificar. Los archivos listados en el escrow_ignore del manifest sí se pueden editar. Para todo lo demás, contacta al creador.

¿Por qué los jugadores se caen por el piso en mi MLO?

La colisión del interior falta, está mal ubicada o está siendo sobrescrita. Asegúrate de que todos los archivos .ybn estén en la carpeta stream/ y que ningún otro resource de mapa traiga un archivo con el mismo nombre en esa zona.

Sigue leyendo