Saltar al contenido

Los assets Enhanced (gen9) crashean FiveM: por qué y cómo arreglarlo

Instalas un mapa o un coche descargado para GTA V Enhanced y FiveM crashea al cargar. No es la config de tu servidor ni que el mod esté roto: es una diferencia de formato binario entre Enhanced y Legacy.

Qué falla exactamente

GTA V Enhanced (la build 1.0.x "gen9") incluye archivos de recursos con una versión de recurso RSC7 distinta a la de Legacy. FiveM está construido sobre Legacy, así que su cargador lee la cabecera, interpreta mal los paging fixups y muere. El log del crash es inconfundible:

Invalid fixup, address is neither virtual nor physical (in some_file.ydr)

A menudo con gta-streaming-five.dll en el stack. Basta un solo archivo Enhanced en un resource para tumbar todo el servidor: un .ydr de cristal dentro de un MLO por lo demás correcto es suficiente.

Cómo reconocer una descarga Enhanced

  • Una carpeta llamada _g9, gen9 o enhanced en el archivo comprimido.
  • La página del mod dice "for Enhanced" o "1.0.3xxx+".
  • Incluye una carpeta legacy y otra enhanced, y la gente coge la equivocada.

La versión de recurso cambia según el tipo: los drawables son 165 en Legacy frente a 159 en Enhanced, los diccionarios de texturas 13 frente a 5, los fragments 162 frente a 171. Los bounds son 43 en ambos, y los formatos meta son comunes, por eso un pack roto a veces carga en parte antes de crashear.

Convertir de vuelta a Legacy

La conversión es un viaje de ida y vuelta por XML: se lee el binario con el parser que corresponde a la versión real de su cabecera y luego se vuelve a escribir con la versión de Legacy. Hay que hacerlo por tipo de archivo y por archivo: drawables, fragments, diccionarios de texturas, diccionarios de drawables y bounds lo necesitan todos.

No pruebes a ciegas. Leer un diccionario de texturas gen9 con el parser de Legacy puede parecer que funciona y darte un diccionario basura con el número correcto de texturas y cero imágenes utilizables. Primero hay que leer la versión de la cabecera y elegir el parser a partir de ella.

FIVEFORGE lee la versión de la cabecera y elige el parser correcto, así que un MLO o un pack de assets Enhanced sale convertido en archivos Legacy que FiveM puede cargar. Todo excepto la codificación del recurso se deja como está.

Antes de culpar al conversor

Si un resource convertido sigue crasheando, busca en el log del crash el nombre del archivo que falla. Un solo archivo olvidado, un asset bloqueado con escrow o una carpeta _g9 sobrante que sigue listada en el manifest reproducirán el mismo crash. Confirma también que nada hace referencia a un archivo que hayas quitado.

Preguntas frecuentes

¿Por qué los mods de GTA 5 Enhanced crashean FiveM?

Enhanced (gen9) incluye archivos de recursos con una versión RSC7 distinta a la de Legacy. El cargador Legacy de FiveM interpreta mal los paging fixups y crashea con 'invalid fixup, address is neither virtual nor physical'.

¿Se pueden convertir los assets Enhanced para que funcionen en FiveM?

Sí. Cada archivo se pasa por XML de ida y vuelta y se reescribe con la versión de recurso de Legacy. Hay que hacerlo archivo por archivo: un solo archivo olvidado sigue crasheando el servidor.

¿Qué tipos de archivo se ven afectados?

Drawables (.ydr), fragments (.yft), diccionarios de texturas (.ytd), diccionarios de drawables (.ydd) y bounds (.ybn). Los bounds comparten la misma versión y los formatos meta son comunes, por eso un pack malo puede cargar en parte al principio.

¿Es lo mismo que el escrow?

No. Los archivos escrow (.fxap) están cifrados y no se pueden convertir de ninguna forma. El problema gen9 es una diferencia de versión de formato en archivos sin cifrar.

Pruébalo gratis

Crea una cuenta gratis, únete al Discord para tus créditos, y construye tu primer asset en minutos.