Un MLO puro no ejecuta código de script, así que su coste está en el streaming y el renderizado, en el PC de cada jugador. Lo que importa es cuánta memoria necesitan sus modelos y texture dictionaries, desde qué distancia se cargan por streaming y cuántos interiores y props carga a la vez un mismo lugar. Lee los avisos de tamaño que FXServer muestra al iniciar el mapa, compara la misma ruta con el mapa apagado y encendido, y después reduce o sustituye el asset demasiado grande. Usa la checklist del final antes de comprar el siguiente mapa.
Esta guía se comprobó con la documentación de Cfx.re y el código fuente de FXServer el 7 de noviembre de 2026. Describe procedimientos y límites documentados. No es un benchmark, y RPScripts no midió tasas de fotogramas para ella.
De dónde viene el lag de un MLO
- Assets sobredimensionados. Un texture dictionary (YTD) o un modelo (YDR, YFT) que necesita mucha memoria compite con todo lo demás que el juego carga por streaming. FXServer avisa de cualquier asset de más de 16 MiB al iniciar el recurso; por encima de 48 MiB el aviso añade que los assets sobredimensionados pueden provocar y provocarán problemas de streaming, como modelos que no cargan o no se renderizan.
- LODs ausentes o pobres. Cada entidad colocada tiene una distancia de LOD. Un modelo de nivel de detalle con una distancia mayor sustituye al modelo detallado a lo lejos. Sin él, el creador tiene que elegir entre que el modelo completo aparezca tarde o cargarlo por streaming desde más lejos.
- Demasiado en un mismo sitio. Varios mapas en la misma manzana, props opcionales que se quedan activados o un rework de la ciudad encima de interiores sueltos se cargan todos a la vez por streaming.
- Conflictos que parecen lag. Dos mapas que modifican las mismas coordenadas pueden parpadear, perder la colisión o mostrar paredes que faltan. Es un conflicto de colocación, no un problema de rendimiento; la guía de compatibilidad de MLO describe la prueba en staging.
Paso 1: registra una base con el mapa apagado y encendido
- Usa un servidor de staging con el mismo artifact, game build y recursos que producción.
- Elige una ruta: acércate desde fuera, cruza la entrada, recorre cada planta y vuelve a salir. Mantén fijos el clima, la hora del día y los ajustes del cliente.
- Recorre la ruta con el mapa detenido y luego con el mapa iniciado. Anota los FPS, los objetos que cargan tarde y las texturas que siguen borrosas.
- Repite con un segundo cliente que nunca se haya conectado, para que una descarga y una caché en frío formen parte de la prueba.
Si el problema solo aparece cuando también está activo un segundo mapa, trátalo primero como un conflicto de colocación y haz la prueba de compatibilidad antes de tocar ningún asset.
Paso 2: lee los avisos de tamaño de FXServer
Cuando arranca un recurso con archivos de streaming, FXServer revisa cada archivo de recurso de GTA V que contiene y muestra una línea como Asset mymap/mymap_txd.ytd uses 34.0 MiB of physical memory. El tamaño es la memoria que necesita el asset una vez cargado, leída de la cabecera del archivo, no el tamaño de la descarga. FXServer comprueba por separado la memoria física y la virtual:
| Memoria por asset | Salida de la consola |
| 16 MiB o menos | Sin aviso |
| Más de 16 MiB | Aviso en azul |
| Más de 32 MiB | Aviso en amarillo |
| Más de 48 MiB | Añade: los assets sobredimensionados pueden provocar y provocarán problemas de streaming |
| Más de 64 MiB | Aviso en rojo |
Copia en tus notas cada aviso del mapa. Son los archivos que hay que corregir primero y las cifras que conviene preguntar al creador antes de comprar. Una consola limpia no demuestra que un mapa rinda bien; solo indica que ningún archivo por sí solo supera estos umbrales.
Paso 3: comprueba la memoria de streaming y los pools en el cliente
Tres herramientas del cliente muestran lo que cuesta el mapa en el juego. strmem y resmon son comandos de desarrollador: en FiveM Legacy, inicia el cliente con +set moo 31337; en FiveM for GTAV Enhanced, el servidor necesita sv_devMode true. Úsalos solo en tu propio servidor de desarrollo.
strmem true lista la memoria de streaming que usa cada asset y da una vista general. Colócate dentro del MLO y busca sus archivos al principio de la lista.
- F8 > Tools > Streaming > Pool Monitor muestra lo llenos que están los pools del juego. Los interiores, los edificios, los texture dictionaries y los datos de oclusión usan cada uno su propio pool (por ejemplo InteriorProxy, Building, TxdStore y los pools de Occlusion).
resmon true abre el monitor de recursos. Un mapa puro apenas muestra tiempo de CPU ahí, pero su columna Streaming indica cuánta memoria de streaming usa el recurso. Compara esa columna con el mapa apagado y encendido.
Si la consola responde "Access denied", la guía de comandos de la consola F8 explica el motivo.
Las columnas de CPU de resmon importan para los scripts que vienen con el mapa, como puertas, ascensores o interruptores de props. Un valor de CPU bajo no significa que el mapa sea ligero de renderizar, así que ten al lado las notas de FPS del paso 1. La guía de resmon muestra cómo comparar una acción de script cada vez.
Paso 4: corrige texturas y modelos sobredimensionados en el origen
- Conserva el paquete original y los archivos fuente del creador. Trabaja sobre una copia.
- Para un texture dictionary, ábrelo en un editor de YTD como CodeWalker u OpenIV, exporta sus texturas, reduce las que sean más grandes de lo que necesita la superficie y vuelve a importarlas con los mismos nombres. Los modelos hacen referencia a los nombres de las texturas, así que nunca renombres una textura por sí sola.
- Reinicia el recurso y vuelve a leer la consola. El aviso debería haber desaparecido o bajado.
- Para un modelo demasiado pesado, la corrección va en la fuente 3D: geometría más sencilla, un modelo LOD de verdad o una división en piezas más pequeñas. El manual de assets de Cfx.re muestra la configuración HD y LOD en CodeWalker, incluidos
LodDist y el enlace con la YMAP padre.
- Vuelve a recorrer la ruta de referencia y compárala con tus notas.
Para mapas con muchos archivos de colisión o de mapa, Cfx.re documenta el comando de desarrollador save_gta_cache. Guarda datos de caché en %AppData%\CitizenFX; copia ese archivo a la carpeta raíz del recurso y añádelo en files dentro de fxmanifest.lua, para que los jugadores lo carguen y su primera carga sea más rápida.
No borres archivos de colisión, oclusión o LOD para que desaparezca un aviso. Cambiarías un aviso de tamaño por paredes que faltan, suelos invisibles o interiores que se renderizan unos a través de otros.
Paso 5: desactiva lo que no uses
Muchos interiores incluyen grupos opcionales de props llamados entity sets, por ejemplo una versión amueblada y otra vacía de una habitación. Un script los activa con ActivateInteriorEntitySet y aplica el cambio con RefreshInterior. Si la documentación del mapa enumera entity sets, activa solo los que usa tu servidor y comprueba qué recurso los controla.
Revisa también el lugar en sí. Un rework de la ciudad y un MLO suelto en la misma manzana se cargan los dos ahí por streaming. Deja un solo recurso responsable por lugar y detén el mapa sustituido, incluido cualquier cargador de IPL que todavía active el interior original.
Paso 6: game build, edición y tamaño de los pools
- Game build.
sv_enforceGameBuild elige el build que usan los clientes, solo se puede fijar al arrancar, y cada build incluye el contenido de los anteriores. Si el creador indica un build mínimo, usa ese build o uno más reciente. FiveM for GTAV Enhanced solo admite por ahora el build más reciente.
- Edición. En Enhanced, un recurso puede incluir una carpeta
stream_enhanced que sustituye a stream. Sin esa carpeta, Enhanced carga stream, que las notas de Enhanced de Cfx.re marcan como obsoleta. Pregunta al creador si el mapa se probó en Enhanced o incluye archivos stream_enhanced, y pruébalo en staging antes de confiar en él.
- Tamaño de los pools.
increase_pool_size amplía un pool por su nombre, solo al arrancar el servidor. Cfx.re publica los pools permitidos y el aumento máximo de cada uno; las peticiones fuera de esos límites no tienen efecto. Los clientes reinician el juego al entrar en un servidor con otros ajustes de pools; con los mismos ajustes, solo en su primera conexión. Amplía un pool solo cuando el Pool Monitor lo muestre cerca de su límite, no copiando la lista de otro servidor.
Cuando el problema es pérdida de texturas en un solo PC
Si solo un jugador ve texturas borrosas o ausentes, y también en otros servidores, empieza por ese cliente: ajustes gráficos, mods y caché. La guía sobre pérdida de texturas separa las comprobaciones del cliente de las del servidor. Si todos los jugadores pierden texturas en el mismo sitio, vuelve al paso 2 con los mapas de esa zona.
Checklist de MLO antes de comprar
Las mismas preguntas sirven para los MLO de pago y para los MLO gratuitos; un mapa gratuito puede traer los mismos archivos sobredimensionados.
- Tamaño de los assets. Pide la salida de la consola de FXServer al iniciar el mapa, o una lista de archivos con sus tamaños. Cualquier línea por encima de 48 MiB necesita una explicación; las líneas por encima de 16 MiB merecen una pregunta.
- Detalle y LODs. Pregunta si los modelos exteriores tienen modelos LOD y desde qué distancia se cargan por streaming. "Optimizado" sin detalles no dice nada.
- Game build y edición. Comprueba el build mínimo y si incluye archivos para Enhanced.
- Ubicación. Pide las coordenadas, el interior original o IPL que sustituye y los mapas con los que tiene conflictos conocidos. Compáralo con lo que ya está en ese punto.
- Dependencias. Comprueba los cargadores necesarios, los scripts de puertas o ascensores, los entity sets y qué framework necesitan.
- Posibilidad de edición. El Asset Escrow de Cfx.re puede cifrar archivos de modelo YFT, YDD y YDR. En un mapa con escrow no puedes rehacer tú mismo esos modelos ni su nivel de detalle, así que cada corrección depende del creador. El escrow todavía no está implementado en FiveM for GTAV Enhanced.
- Prueba antes de producción. Usa el servidor de demostración del creador si lo hay, y después tu propio servidor de staging con la ruta de referencia del paso 1.
- Soporte y actualizaciones. Busca un contacto de soporte, un registro de cambios y una política de reembolso por escrito.
Cuando un mapa supere estas preguntas, sigue los pasos para instalar y verificar un MLO en staging y recorre la ruta de referencia antes de publicarlo.
Transparencia: RPScripts vende MLO e interiores. Sus descargas se entregan sin cifrado de escrow.
Fuentes