Texturas, archivos y packs · 3 min de lectura

Pérdida de texturas en FiveM (ciudad borrosa): cómo arreglarlo

Leer en: English · Français · Deutsch · Português · Italiano · Polski · Türkçe · Русский

Los jugadores entran en la ciudad y las carreteras salen borrosas, los edificios siguen grises durante segundos y a veces las texturas nunca llegan. En FiveM lo llaman pérdida de texturas, o el "city bug". Cuando solo pasa en tu servidor, la causa suele ser lo que tu servidor transmite.

Qué es la pérdida de texturas

Todo lo que transmite tu servidor (coches, ropa, props, mapas) comparte la memoria de texturas que el juego reserva para su propia ciudad. Cuando lo que un jugador tiene que cargar alrededor no cabe, las texturas llegan tarde, borrosas o no llegan.

FiveM mismo señala a los peores culpables. Cualquier archivo en streaming de más de 16 MiB de memoria recibe un aviso en la consola del servidor, y desde 48 MiB el aviso lo dice claramente: "Oversized assets can and WILL lead to streaming issues (such as models not loading/rendering)." (Qué mide ese aviso.)

Las causas habituales en un servidor:

  • Archivos demasiado grandes: texturas de coches y ropa en 4K, un pack entero metido en un solo .ytd.
  • El mismo archivo transmitido por dos recursos: el juego solo recibe uno, y pagas el streaming del otro.
  • Las mismas texturas repetidas en los diccionarios de un pack: cada copia se transmite.
  • Texturas sin mipmaps: el juego no tiene un nivel más pequeño al que recurrir, así que cuestan su tamaño completo a cualquier distancia.

Si un jugador sufre pérdida de texturas en todos los servidores a los que entra, el problema está de su lado (su configuración o su PC), no en tus recursos.

Paso 1: mira lo que transmite tu servidor

Arrastra toda tu carpeta resources a Server Budget. Lee la cabecera de cada archivo transmitido en tu navegador, así que no se sube nada, y es gratis sin iniciar sesión. Obtienes:

  • Graphics memory (memoria gráfica) y System memory (memoria del sistema) de todo lo que transmites.
  • By resource (por recurso), ordenado por memoria: los recursos que conviene revisar primero.
  • Oversized (demasiado grandes): cada archivo de más de 16 MiB de memoria gráfica.
  • Streamed by more than one resource (transmitido por más de un recurso): deja una copia de cada uno.
Informe de Server Budget con cuatro recursos de prueba: memoria gráfica y del sistema, archivos demasiado grandes, archivos transmitidos dos veces y la memoria de cada recurso
Cuatro de nuestros recursos de prueba, uno de ellos copiado a propósito: sus 8 archivos aparecen como transmitidos dos veces.

Estos totales son lo que el servidor podría transmitir, no lo que carga un jugador a la vez: un jugador solo carga lo que tiene alrededor. Aun así, son la lista correcta para repasarlos todos.

Paso 2: reduce los archivos demasiado grandes

Arrastra los archivos de stream marcados al Asset Optimizer, define Largest texture size (1024, o 2048 para lo que se ve de cerca), deja marcado Add missing mipmaps y descarga los archivos más ligeros. Conservan sus nombres, así que van directos de vuelta a stream/.

Paso 3: comparte las texturas repetidas

En un pack que repite las mismas texturas en muchos diccionarios (los packs de ropa y de coches suelen hacerlo), Texture Dedupe encuentra las copias, las mueve a un único .ytd compartido y escribe el gtxd.meta y las líneas del fxmanifest que hacen que los modelos las encuentren allí. Solo se mueven las texturas con el mismo nombre y los mismos píxeles.

Los padres de las texturas se leen cuando un jugador entra. Después de cambiarlos, los jugadores tienen que reconectarse, o los coches pueden mostrarse sin textura hasta que lo hagan.

Paso 4: comprueba que no falte nada

Arrastra el recurso modificado a Missing Textures Check: cada modelo debe seguir encontrando todas sus texturas. Luego arrastra la carpeta otra vez a Server Budget y compara.

La misma solución, con Server Budget y el Asset Optimizer, también está en un tutorial en vídeo.

Preguntas

¿Un solo recurso puede causar pérdida de texturas?
Sí, si es lo bastante pesado: un solo pack de coches o de ropa con texturas en 4K puede transmitir una gran parte de todo lo que envía tu servidor. Por eso Server Budget ordena los recursos por memoria.
¿Tengo que quitar recursos?
Normalmente no. Reducir las texturas demasiado grandes, quitar los archivos transmitidos dos veces y compartir las texturas repetidas baja mucho la carga de la mayoría de servidores sin perder nada.

La herramienta para esto

Server Budget

Arrastra tu carpeta de recursos: la memoria que transmite cada recurso, los archivos demasiado grandes que avisa FiveM y los archivos transmitidos dos veces.

Abrir Server Budget

También útil aquí: Asset Optimizer · Texture Dedupe

Todas las herramientas son gratis para probar, con 5 exportaciones al día. Inicia sesión con Discord para usarlas.