Jump to content
Toggle menu
  • 3 articles
  • 22 files
  • 3 users
  • 2.5K edits
Shroudforge
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Perfiles beta automáticos del juego

From Shroudforge
Revision as of 01:34, 7 November 2026 by Bonsaibauer (talk | contribs) (Importing a new version from external source)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Automatic beta game profiles



La detección beta opcional compara una nueva versión del juego con una versión compatible guardada. Solo crea un perfil beta completo cuando dispone de las pruebas necesarias. Los perfiles normales del juego que coincidan tienen prioridad.

Preparación antes de actualizar el juego

El módulo está activado de forma predeterminada y se puede desactivar. Si se guarda explícitamente la opción desactivada, permanece así. El interruptor está en Settings → General → Game profile, junto al selector de perfiles.

  1. Comprueba que Dynamic game profile creation (Beta) esté activado. Actívalo si hace falta.
  2. Reinicia por completo el juego o el servidor dedicado mientras todavía haya disponible un perfil normal compatible.
  3. ShroudForge verifica el ejecutable actual exacto y lo guarda en la caché como referencia de comparación. No hace falta descargar un ejecutable histórico.
  4. Tras una actualización posterior del juego, el nuevo proceso inicia la comparación automáticamente y usa la referencia guardada.

El cliente y el servidor dedicado guardan referencias independientes. El cliente no puede sustituir la referencia del servidor. Si el módulo se activa por primera vez después de una actualización y no se guardó ninguna referencia compatible, no se puede reconstruir la versión anterior.

Qué ocurre al iniciar el juego

El análisis se ejecuta durante el inicio del juego. El juego espera el resultado antes de continuar. Para este paso no hace falta cargar ningún mundo.

ShroudForge busca primero un perfil normal que coincida con el ejecutable exacto en uso. Si existe, la selección automática usa ese perfil. Con la detección activada, también guarda en la caché el ejecutable compatible para futuras actualizaciones.

Si no existe ningún perfil normal compatible, el módulo comprueba la referencia normal adecuada más reciente para el mismo proceso de destino y el mismo formato KFC. El ejecutable guardado anteriormente debe coincidir exactamente con esa referencia. La comparación revisa el código, las referencias, los tipos registrados y los contratos de estructura necesarios a partir de las imágenes de comparación. Las direcciones de destino deben determinarse a partir de la nueva imagen.

El resultado conserva el contrato completo del perfil anterior, incluidas sus opciones de funciones. Las pruebas sin resolver o contradictorias impiden publicar el perfil beta completo. El diagnóstico indica el motivo. Esperar más tiempo o entrar en un mundo no resuelve la falta de pruebas estáticas.

Almacenamiento y selección

Los perfiles normales y los generados comparten el directorio de perfiles configurado. Las rutas predeterminadas son:

Contenido Ubicación
Perfiles del cliente shroudforge/runtime/profiles/enshrouded/client/
Perfiles del servidor shroudforge/runtime/profiles/enshrouded/server/
Imágenes de comparación y pruebas guardadas shroudforge/cache/game-profile-discovery/

Los perfiles generados empiezan por beta_. La selección Automatic puede usar un perfil beta compatible y verificado por completo si no hay ningún perfil normal compatible. El selector muestra los perfiles disponibles. Si más adelante se añade un perfil normal compatible, este tiene prioridad.

Si cambias el interruptor o el perfil seleccionado, debes reiniciar por completo el juego o servidor correspondiente. Volver a abrir la ventana de Modloader no reinicia el runtime.

Diferencias entre la detección, los perfiles y un mundo en ejecución

El aviso azul Dynamic profile search in progress indica que se está buscando un perfil. Workflow and help abre esta guía. Si la búsqueda termina sin encontrar un perfil compatible, el problema se muestra en rojo. El aviso naranja Experimental game profile active identifica el perfil beta que se ha seleccionado realmente. Los errores reales del runtime siguen mostrándose como errores.

Las comprobaciones estructurales del ejecutable no requieren que haya un mundo cargado. Las operaciones de mundo también necesitan sus contextos activos, registros y comprobaciones de seguridad del runtime. Un perfil generado no demuestra que se hayan ejecutado comandos del juego ni que hayan producido efectos visibles. Las pruebas funcionales también deben comprobar el cliente y el servidor por separado.

Si no se genera ningún perfil, lee el motivo indicado y los detalles técnicos. La falta de una referencia guardada, un perfil de origen inadecuado o las pruebas de código y estructura sin resolver requieren los datos pertinentes o un análisis adicional. Un perfil normal compatible o una actualización adecuada de ShroudForge pueden aportar compatibilidad.

Registro detallado

Debug Console muestra los mensajes de detección del registro principal bajo el origen game-profile-discovery. Para ver cada comparación y campo de rebase, establece Settings → General → Logging → Minimum level en Diagnostic. Advanced muestra resúmenes adicionales.

El aviso rojo del runtime y la entrada de registro [compatibility-check] check=runtime proceden de la misma comprobación del runtime. La actualización existente de la interfaz registra el cambio de estado antes de enviar ese mismo estado a Modloader. Debug Console aplica su opción actual de ventanas emergentes a las líneas de advertencia y error del registro principal.

Si se produce un error, el registro principal indica la ruta al informe actual .v2.unresolved.json o .v2.error.json. Si todo sale bien, indica la ruta a las pruebas .v2.proof.json y la ruta completa donde se guardó el perfil generado beta_.json. Los informes se guardan en la caché de detección.

Linux y Proton

La detección se ejecuta dentro del módulo nativo del runtime y no necesita programas externos de PowerShell ni Python. Este flujo de trabajo aún no se ha probado en directo con Proton.

Consulta Motor para obtener información sobre runtime, la API de mods y el parser.