Google ha informado a los desarrolladores de una vulnerabilidad en las versiones (anteriores a la M102) de WebRTC. Puedes consultar las repercusiones, las soluciones provisionales y las actualizaciones aquí.
Epic Online Services (EOS) es un sistema independiente del motor que proporciona un intervalo de funciones en línea multiplataforma, que incluyen:
Funciones centradas en el jugador, como:
Logros
marcadores
Funciones comerciales, tales como:
Compras en el juego
Funciones sociales, como:
Comunicación de voz
Listas de amigos
Puedes usar EOS en tu proyecto de Unreal Engine con el complemento Subsistema en línea Epic Online Services (OSS EOS). El complemento de Online Services Epic Online Services te ayuda a interactuar con Epic Online Services en tu juego sin tener que escribir código para interactuar directamente con el SDK de EOS. Para usar esta función, debes registrar y configurar tu producto o productos en el portal de desarrolladores de EOS, y a continuación, activar y configurar algunos complementos para exponer la función de EOS a través de la interfaz del OSS.
Para obtener más información sobre Epic Online Services, incluida información sobre cómo registrar y configurar tus productos, consulta la Documentación para desarrolladores de Epic Online Services.
Introducción a los complementos de EOS
El complemento OSS EOS se basa en el complemento Subsistema en línea (OSS). El complemento Subsistema en línea es un complemento de propósito general que proporciona una interfaz común para acceder a una variedad de servicios en línea. El complemento OSS EOS amplía el complemento OSS implementando la función específica disponible a través de Epic Online Services al integrar la comunicación con el SDK de EOS en el complemento. Esta página trata sobre las siguientes funciones del complemento EOS OSS:
De forma opcional, puedes ampliar el complemento OSS EOS con el complemento OSS EOS Plus. EOS Plus son las siglas de «EOS + plataforma base», que combina EOS y otra plataforma (como Steam, una plataforma de consola, etc.). Combinar EOS con otra plataforma proporciona funciones adicionales, como la duplicación automática de sesión. Puedes usar EOS Plus con o sin Epic Account Services (EAS).
Cuándo usar EOS Plus
Si publicas tu juego en la Epic Games Store, seguro que querrás usar el complemento EOS; además, no es necesario usar EOS Plus. Si distribuyes tu juego en otra plataforma, usa el complemento OSS EOS Plus además del complemento OSS EOS. Puede haber excepciones a esta guía. Sigue leyendo esta página para determinar cuál es la mejor combinación de complementos para tu proyecto.
Subsistema en línea EOS Plus es una solución temporal para implementar ciertas función de replicación de plataformas mientras esas función no existan en el SDK de EOS. Las funciones de EOS Plus se sustituirán por compatibilidad nativa con el SDK de EOS en cuanto esté disponible. EOS Plus es una función beta con cobertura de funciones limitada.
Cómo usar OSS EOS
El curso del complemento OSS EOS de la comunidad de desarrolladores de Epic te guiará por el proceso de usar OSS EOS en un proyecto de Unreal Engine.
Configuración
Registra tu producto con Epic Online Services
La documentación de recursos para desarrolladores de Epic te proporciona recursos para la Epic Games Store (EGS), los Epic Online Services, los servicios web para niños (KWS) y sus herramientas asociadas. Para aprovechar el complemento EOS, primero debes tener un producto registrado en Epic Online Services. Para registrar tu producto en EOS, dirígete al portal de desarrolladores de Epic y sigue los pasos de Primeros pasos. En concreto, esta guía describe el registro del producto en el paso 1 de los pasos iniciales. La información proporcionada al registrar tu producto se necesitará más tarde para configurar el complemento EOS OSS en Unreal Engine.
Unreal Engine se distribuye con una copia del EOS SDK, por lo que no necesitas descargar el EOS SDK por separado si quieres usar la versión del EOS SDK incluida con Unreal Engine. Para usar una versión diferente de EOS SDK, descarga la versión deseada de EOS SDK siguiendo las instrucciones del paso 2 de los pasos de introducción. Después de descargar la versión deseada de EOS SDK, sigue las instrucciones de nuestra documentación Cómo actualizar EOS SDK para obtener más información sobre cómo actualizar EOS SDK que usa Unreal Engine.
Si actualizas EOS SDK, te recomendamos que consultes las notas de la versión de EOS SDK para conocer las actualizaciones necesarias.
Activar los complementos OSS EOS
Para usar EOS en tu proyecto, debes activar el complemento EOS en Unreal Engine. Para habilitar el complemento OSS EOS, sigue estos pasos:
Ve a Editar > Complementos. Como resultado, se abrirá el explorador de complementos, donde podrás buscar los complementos que quieras activar.
Dentro del Explorador de complementos, busca y activa el complemento Subsistema en línea EOS.
El subsistema en línea EOS implementa el complemento Subsistema en línea para Epic Online Services. Los siguientes complementos adicionales están activados por defecto al activar el plugin OSS EOS:
EOS Plus
Combina EOS con otra plataforma.
EOS compartido
Se encarga de la inicialización y el cierre del SDK de EOS.
activa por defecto como una dependencia de OSS EOS.
Chat de voz de EOS
Compatibilidad con el chat de voz a través de EOS.
Después de activar los complementos deseados, tendrás que configurarlos para usarlos en tu proyecto. Algunos de los siguientes pasos de configuración requieren ajustes relacionados con el producto o identificadores recibidos después de registrar tu producto con EOS. Están disponibles en el portal de desarrolladores de Epic.
Configurar los complementos OSS EOS
Para continuar, asegúrate de haber hecho lo siguiente:
Para configurar los complementos OSS EOS, sigue estos pasos:
En la barra de herramientas, clic en Editar > Configuración del proyecto.
Ve a Complementos> Subsistema en línea EOS.
Haz clic en la imagen para ampliarla.
Ajustes de EOS
Estos ajustes están relacionados con la configuración específica de la plataforma de EOS. Para obtener más información, consulta la página de referencia de la API de EOS sobre la estructura de datos EOS_Platform_Options. En la siguiente tabla, se describe cada uno de los ajustes de EOS:
| Ajuste | Descripción |
|---|---|
caché Dir | Directorio para almacenar datos temporales de EOS. La posición predeterminada en Windows es |
Nombre de artefacto predeterminado | Este nombre de artefacto se usa si no se pasa ningún artefacto a través de argumentos de la línea de comandos. Si no estás pasando un nombre de artefacto a través de la línea de comandos, garantizar de que coincide con el nombre del artefacto definido a continuación. |
Presupuesto de tics en milisegundos | Este ajuste evita que las operaciones EOS bloqueen el juego haciendo que EOS_Platform_Tick retorne. Consulta la documentación de Epic Online Services sobre EOS_Platform_Create para obtener más información. |
Habilitar superposición | Usa esto para activar o desactivar las superposiciones. Algunas superposiciones pueden ser específicos de una plataforma, como la superposición de comercio electrónico, que solo es válida en títulos que se comercialicen a través de Epic Games Store. |
Habilitar ventana social | La superposición social muestra información sobre amigos, logros y pasos de autenticación adicionales. Puedes desactivar esta superposición de forma individual mientras dejas activadas las demás. Este ajuste no tiene efecto si Habilitar superposición está desactivado. |
Habilitar superposición del editor | Utilízalo para activar o desactivar las superposiciones en Unreal Editor. |
Etiquetas de título de almacenamiento | Se usa al consultar varios archivos almacenados en datos de títulos. Para obtener más información, consulta la documentación de Epic Online Services sobre cómo consultar varios archivos por etiqueta en la interfaz de almacenamiento de títulos. |
Longitud de fragmento de lectura de almacenamiento de título | Establece la cantidad máxima de datos (bytes) para leer en una sola devolución de EOS_TitleStorage_OnReadFileDataCallback. Para obtener más información, consulta la documentación de Epic Online Services sobre cómo acceder a los archivos en la interfaz de almacenamiento de títulos. |
Artefactos | Epic Games Store es compatible con múltiples artefactos para un solo producto. Por ejemplo, tu producto puede tener artefactos internos independientes para el desarrollo, las prueba y la versión de lanzamiento que usan tus clientes. Esta matriz contiene ajustes para cada artefacto con nombre. Debe haber al menos un artefacto en la matriz y el valor de Nombre de artefacto predeterminado debe coincidir con el nombre de uno de los elementos de la matriz. Para obtener más información sobre estos ajustes, consulta el apartado sobre ajustes de artefactos más abajo. |
Ajustes de artefactos
Los ajustes de artefactos incluyen ajustes del producto que hayas registrado en el portal de desarrolladores de EOS. Los ajustes que establezcas aquí deberían coincidir con los ajustes de tu producto registrado en el portal de desarrolladores de EOS. Puedes encontrar los ajustes de tus productos en el portal de desarrolladores de EOS.
Para editar la configuración de artefactos, sigue estos pasos:
Haz clic en el botón Añadir elementosituado al lado de la secciónAjustes de EOS. Como resultado, se crea un nuevo elemento en la matriz de artefactos de los ajustes de EOS.
Para personalizar los ajustes de este nuevo artefacto, haz clic en la flecha que hay junto al elemento de matriz que acabas de crear. Si este es el primer elemento de la matriz, su nombre es índice[0].
En la siguiente tabla, se describen los ajustes de artefactos disponibles:
| Ajuste | Descripción |
|---|---|
Nombre del artefacto | Si vas a iniciar en Epic Games Store, debería coincidir con el ID de artefacto de los ajustes de la tienda en el portal de desarrolladores. Si no vas a realizar el lanzamiento en la Epic Games Store, puede ser cualquier cadena. También debería coincidir con el artefacto pasado a través del argumento de línea de comandos |
ID de cliente | El identificador de cliente de tu producto. Este identificador empieza por |
Secreto de cliente | El secreto de cliente usado para verificar tu ID de cliente. |
ID de producto | El SDK de EOS usa este ID para identificar tu producto. |
ID de entorno de pruebas | El artefacto pertenece al área de pruebas con este valor de ID. Tu producto solo tiene un área de pruebas si no lo publicas en la Epic Games Store. Si usas varias áreas de pruebas, puedes añadir varias líneas con |
ID de implementación | El ID de implementación al que te diriges. Los ID de implementación son distintos para cada artefacto. Por ejemplo, si tienes los artefactos |
Clave de cifrado del cliente | Una cadena hexadecimal de 64 bytes que cifra los datos cuando se cargan en un servicio EOS. A diferencia de otros ajustes, EOS no gestiona estos fotogramas clave de cifrado y no se almacenan en los ajustes del producto. La clave es única para tu juego y no la conoce Epic Games para proteger la privacidad de los datos de los usuarios. Se usa para cifrar datos para el almacenamiento de datos de jugadores y títulos. Si no vas a usar el almacenamiento de datos del jugador o del título, puedes usar la siguiente clave de fotogramas de cifrado predeterminado (64 unos): |
Ajustes EOS Plus
Para usar este complemento, primero debes registrar y configurar tu producto en el Portal de desarrolladores para cada plataforma que quieras que sea compatible. Las versiones específicas de la plataforma del SDK de EOS contienen instrucciones detalladas para usar las funciones de la plataforma compatible con cada versión.
Antes de usar el complemento de EOS Plus, debes configurar los ajustes de inicio de sesión y los ajustes de juego cruzado de EOS Plus.
Ajustes de inicio de sesión EOS Plus
En la siguiente tabla se describen los ajustes de inicio de sesión de EOS Plus:
| Ajuste | Descripción |
|---|---|
Usar cuenta de Epic para inicio de sesión en EOS (requiere vinculación de cuentas) | Si se activa esta opción, el complemento OSS EOS usa el token de autenticación específico de la plataforma para que el usuario inicie sesión en su cuenta de Epic automáticamente. |
Usar las API de EOS Connect para crear y vincular ID de usuarios de productos (PUID) y usar los servicios de juego de EOS | Si se activa esta opción, se usan las API de EOS Connect para vincular cuentas para el juego cruzado. |
Ajustes de Crossplay
En la tabla siguiente, se describen los ajustes de Crossplay:
| Ajuste | Descripción |
|---|---|
Estadísticas de reflejo a EOS | Si se activa esta opción, EOS Plus envía un duplicado de toda la información de las estadísticas al complemento OSS EOS. |
Duplicación de logros de reflejo en EOS | Si se activa esta opción, EOS Plus envía un duplicado de todos los datos de logros al complemento de OSS EOS. |
Usar sesiones de juego multiplataforma | Este ajuste es necesario para reproducir juegos en red multiplataforma. También convierte a la interfaz de sesión de EOS en la interfaz de sesión principal. |
Presencia de reflejo a EAS | Esta opción determina si el complemento de EOS Plus también envío datos de presencia al complemento OSS EOS. Los datos de presencia solo están disponibles cuando se usan los servicios de la cuenta de Epic. |
Configuración del motor para los complementos de EOS
Una vez que hayas configurado tu producto en el portal de desarrolladores y hayas configurado los complementos, tendrás que configurar algunos ajustes. Puedes configurar estos complementos en la jerarquía de configuración del motor, como DefaultEngine.ini.
Ajustes de configuración de OSS EOS
Añadir los siguientes ajustes de configuración al archivo DefaultEngine.ini de tu proyecto:
Comprueba que el complemento EOS del Subsistema en línea está activado para usarse en tu proyecto.
C++[OnlineSubsystemEOS] bEnabled=trueEstablece EOS como la plataforma predeterminada para los servicios en línea de tu proyecto.
C++[OnlineSubsystem] DefaultPlatformService=EOSEspecifica los controladores de red.
C++[/Script/Engine.Engine] !NetDriverDefinitions=ClearArray +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/SocketSubsystemEOS.NetDriverEOSBase",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver") +NetDriverDefinitions=(DefName="DemoNetDriver",DriverClassName="/Script/Engine.DemoNetDriver",DriverClassNameFallback="/Script/Engine.DemoNetDriver")Usa la función peer-to-peer de socket de EOS para partidas organizadas por jugador. Este ajuste es opcional.
C++[/Script/SocketSubsystemEOS.NetDriverEOSBase] bIsUsingP2PSockets=true
A continuación se indican todos los ajustes de configuración descritos anteriormente para OSS EOS:
[OnlineSubsystemEOS]
bEnabled=true
[OnlineSubsystem]
DefaultPlatformService=EOS
[/Script/Engine.Engine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/SocketSubsystemEOS.NetDriverEOSBase",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")
+NetDriverDefinitions=(DefName="DemoNetDriver",DriverClassName="/Script/Engine.DemoNetDriver",DriverClassNameFallback="/Script/Engine.DemoNetDriver")
Inicia un título desde el iniciador de Epic Games
Si lanzas tu título desde el iniciador de Epic Games, necesitas añadir entradas de configuración en la jerarquía del archivo de configuración del motor para todos los pares de Epic App y Epic área de pruebas que lance Epic Games Store (EGS). Asegúrate de que el Nombre de artefacto predeterminado y el Nombre del artefacto de los ajustes del proyecto o del motor coincidan con el Nombre del artefacto del portal para desarrolladores de Epic Online Services.
Cuando publiques un título en EGS, se ignora el nombre por defecto del artefacto. EGS siempre pasa un argumento de línea de comandos -epicapp que usa en su lugar. El nombre por defecto del artefacto es útil al realizar envíos en otros escaparates en los que no se haya pasado -epicapp.
Ajustes de configuración de EOS Plus
Si quieres configurar tu proyecto para implementar el juego cruzado entre EOS y otra plataforma en línea, añade los siguientes ajustes de configuración al archivo DefaultEngine.ini de tu proyecto:
Comprueba que el complemento Subsistema en línea EOS Plus esté activado para usarse en tu proyecto.
Recuerda que el complemento de EOS Plus te permite usar EOS junto con un servicio en línea diferente.
C++[OnlineSubsystemEOSPlus] bEnabled=true
Cambia tus servicios online de tu plataforma predeterminada a EOS Plus.
Esto indica al motor que estás usando EOS junto con un servicio de plataforma diferente. Añade también los servicios en línea adicionales de la plataforma nativa que quieras usar. En este ejemplo, está configurado como Steam, pero puede ser cualquier servicio en línea, incluidos los servicios en línea consola.
C++[OnlineSubsystem] DefaultPlatformService=EOSPlus ; Add your additional platform online services below NativePlatformService=Steam
Indica qué tipos de ID de red son compatibles con el OSS predeterminado.
Solo es necesario establecerlo cuando EOS/EOS Plus es el OSS predeterminado.
C++[/Script/OnlineSubsystemUtils.OnlineEngineInterfaceImpl] +CompatibleUniqueNetIdTypes=EOS +CompatibleUniqueNetIdTypes=EOSPlus
Permite la comunicación entre clientes de EOS y EOS Plus.
Por ejemplo, considera el escenario en el que tienes un jugador de EOS Plus que inicia sesión con otra plataforma en línea, como Steam, que aloja una sesión de EOS y un cliente de EOS (no EOS Plus) se une a la sesión de EOS del primero. El cliente EOS puro necesita esta asignación para que los identificadores de red de EOS Plus se enruten correctamente a EOS y se deserialicen como identificadores de red de EOS. Esta configuración de
MappedUniqueNetIdTypesse añade a la misma sección de configuración que la del paso anterior.C++[/Script/OnlineSubsystemUtils.OnlineEngineInterfaceImpl] MappedUniqueNetIdTypes=(("EOSPlus","EOS"))
A continuación se indican todos los ajustes de configuración descritos anteriormente para EOS Plus:
[OnlineSubsystemEOSPlus]
bEnabled=true
[OnlineSubsystem]
DefaultPlatformService=EOSPlus
NativePlatformService=Steam
[/Script/OnlineSubsystemUtils.OnlineEngineInterfaceImpl]
+CompatibleUniqueNetIdTypes=EOS
+CompatibleUniqueNetIdTypes=EOSPlus
Cómo encuentra artefactos el OSS EOS
Para elegir el artefacto concreto que se usará en el software libre en EOS al inicio, puedes especificar una serie de ajustes a través de la línea de comandos de Unreal Engine para buscar un artefacto especificado en la configuración del motor o, por defecto, un artefacto en particular. A partir de UE 5.5, siempre se usará lo que se pase en la línea de comandos como ID del área de pruebas y ID de implementación (a través de los argumentos -epicsandboxid y -epicdeploymentid). Antes, estos valores solo se usaban para buscar entradas coincidentes en la matriz de configuración de artefactos. Independientemente de la entrada de artefacto que se encuentre en la matriz de configuración, siempre se usarán los ID de implementación y del área de pruebas de la línea de comandos.
Este comportamiento se describe en la siguiente secuencia de pasos:
En orden descendente de preferencia, define
ArtifactNamecomo el valor de:-EOSArtifactNameOverride=<...>-EpicApp=<...>DefaultArtifactNamede la configuración del motor
En orden descendente de preferencia, define
SandboxIdcomo el valor de:-EpicSandboxIdOverride=<...>-EpicSandboxId=<...>No especificado
En orden descendente de preferencia, define
DeploymentIdcomo el valor de:-EpicDeploymentIdOverride=<...>-EpicDeploymentId=<...>No especificado
Si se especifican
SandboxIdyDeploymentId, busca un artefacto que coincida con todos los artefactos deArtifactName,SandboxIdyDeploymentId.Si el paso 4 falla o no se ejecuta, pero se especifica
SandboxId, busca un artefacto que coincida conArtifactNameySandboxId.Si el paso 5 falla o no se ejecuta, busca un artefacto que coincida con
ArtifactName.Si el paso 6 falla, busca un artefacto con un
ArtifactNamevacío.Si el paso 7 falla, informa de un error ya que no se encuentra ningún artefacto.
Una vez encontrado un artefacto :
En orden descendente según tus preferencias, usa lo siguiente para
SandboxId:Si se especifica, el valor del paso 2.
El valor de la entrada de artefacto encontrada en uno de los pasos 4 a 7.
En orden descendente según tus preferencias, usa las siguientes opciones para
DeploymentId:Si se especifica, el valor del paso 3.
El valor de la entrada de artefacto encontrada en uno de los pasos 4 a 7.
Puedes proporcionar entradas de artefacto específicas en la matriz de artefactos de configuración para combinaciones concretas de ArtifactName, SandboxId y DeploymentId. Esto es útil si quieres variar el ClientId o EncryptionKey para cada combinación. Por otro lado, si quieres establecer un ClientId que quieras usar siempre, puedes proporcionar una sola entrada de artefacto en la matriz de artefactos de configuración con un ArtifactName vacío. Esto fuerza al comportamiento anterior a usar siempre el artefacto con el nombre de artefacto vacío.
Iniciar sesión
Hay dos métodos para iniciar el proceso de inicio de sesión en la interfaz de identidad en línea:
Auto Login: requiere que proporciones un número de usuario local.
Login: requiere que uses un objeto
FOnlineAccountCredentials.
La siguiente sección describe cómo hacer que un usuario inicie sesión mediante el inicio de sesión automático o el inicio de sesión en OSS EOS.
Inicio de sesión con OSS EOS
Además de proporcionar un número de usuario local válido, el método de inicio de sesión requiere que pases un objeto FOnlineAccountCredentials. Esta clase tiene tres campos:
Clase
ID
Token
Métodos de inicio de sesión
Estos tres campos indican qué método de autenticación debería usar la EOS del OSS en función de sus valores. Las siguientes secciones ofrecen ejemplos de cómo configurar cada uno de los distintos tipos de autenticación disponibles:
Portal de cuentas
Desarrollador
Código de canje
Portal de cuentas
Tipo:
AccountPortalId:
Tokens
El Portal de cuentas es el método más general para inicio de sesión, ya que no requiere la herramienta de autenticación para desarrolladores de EOS (Dev Auth Tool), ni que tu aplicación se inicie desde el iniciador de Epic Games.
Con este método, si usas la versión 1.15 o posterior del SDK de EOS, aparecerá una IU superpuesta al juego cuando se realice la llamada de inicio de sesión. Si la superposición de juego no está activada, se abrirá una ventana del navegador. El usuario debe introducir la información de su cuenta de Epic cuando se le solicite. Si el usuario ya ha iniciado sesión en Epic Games, debe aceptar los permisos de acceso para el producto en cuestión.
Dado que las credenciales las proporciona el usuario en la IU de la superposición del juego o en el navegador, no es necesario que proporciones un ID o un token.
Desarrollador
Tipo:
desarrolladorId:
localhost:<PORT>PORTes el puerto especificado en Dev Auth herramienta.
Token:
<CREDENTIALS_NAME>Se ha especificado
CREDENTIALS_NAMEen Dev Auth Tool
Developer es el método recomendado para desarrollar con OSS EOS en plataformas de escritorio. Este método requiere que se esté ejecutando la herramienta Dev Auth. Para obtener más información sobre la herramienta de autenticación para desarrolladores, consulta la siguiente documentación en el sitio de Epic Online Services.
Después de configurar la herramienta Dev Auth, recuerda qué puerto y nombre de credencial usas, ya que son necesarios para rellenar los campos Id y Token del objeto FOnlineAccountCredentials, tal y como se indica arriba. Este método de inicio de sesión se abre cuando se realiza la llamada de inicio de sesión y se pide al usuario que entrada la información de su cuenta de Epic Games. Si el usuario ya ha iniciado sesión en Epic Games, debe aceptar los permisos de acceso para el producto en cuestión. Este paso solo tiene lugar la primera vez que un usuario inicia sesión.
Código de canje
Tipo:
ExchangeCodeId:
Token:
<EXCHANGE_CODE><EXCHANGE_CODE>lo proporciona el iniciador de Epic Games
Solo deberías usar el método de intercambio de código si tu aplicación se inicia desde el iniciador de Epic Games, ya que requiere el código de intercambio proporcionado por el iniciador. Este método no requiere que la herramienta Dev Auth esté ejecutándose y es el que deberías usar con la versión comercial del juego.
Como el iniciador de Epic Games proporciona un token de código de intercambio, no es necesario que proporciones una ID o un token.
Inicio de sesión correcto
Si alguno de estos métodos se completa con éxito, el proceso de inicio de sesión finaliza registrando todos los servicios de notificación EOS necesarios (estado de inicio de sesión, amigos, actualizaciones de presencia y actualización de autenticación) y activando los siguientes delegados registrados:
Los parámetros
OnLoginComplete: incluyen si el inicio de sesión se ha realizado correctamente y elUniqueNetIddel usuario recién autenticado.OnLoginStatusChanged: los parámetros se corresponden con el estado de inicio de sesión anterior y actual y con elUniqueNetIddel usuario recién autenticado.
Auto Login con OSS EOS
Para usar el inicio de sesión automático con el Subsistema en línea EOS, debes pasar argumentos adicionales de la línea de comandos al archivo ejecutable del juego al iniciarse. Estos argumentos se corresponden con los tres campos del objeto FOnlineAccountCredentials que, de lo contrario, se pasarían al método de inicio de sesión.
Los parámetros del inicio de sesión anterior se corresponden con los siguientes argumentos de la línea de comandos:
| Variable FOnlineAccountCredentials | Argumento de la línea de comandos |
|---|---|
|
|
|
|
|
|
Métodos de inicio de sesión
Esta sección contiene ejemplos de los parámetros necesarios para los tres métodos de inicio de sesión, tal y como se explicó en la sección anterior.
Portal de cuentas
-AUTH_TYPE="accountportal"Desarrollador
-AUTH_TYPE="developer" -AUTH_LOGIN="localhost:<PORT>" -AUTH_PASSWORD="<NAME_IN_DEV_AUTH_TOOL>"Los argumentos de este comando son:
<PORT>es el puerto que has configurado en Dev Auth Tool.<NAME_IN_DEV_AUTH_TOOL>es el nombre de las credenciales que has elegido en la herramienta Dev Auth.
Código de canje
-AUTH_TYPE="exchangecode" -AUTH_PASSWORD="<EXCHANGE_CODE_FROM_LAUNCHER>"Los argumentos de este comando son:
<EXCHANGE_CODE_FROM_LAUNCHER>es el código de intercambio del iniciador de Epic Games.
Proceso de inicio de sesión con credenciales de cuentas externas
Esta sección describe el proceso de inicio de sesión de OSS EOS con una cuenta externa. Debes activar EOS Plus para iniciar sesión con una cuenta externa.
Si están activados los servicios de cuentas de Epic y la interfaz de conexión (EOS_Connect), se llama a EOS_Auth_Login con las credenciales de la cuenta externa para la plataforma que no sea EOS, como Steam. Si este inicio de sesión falla y muestra un error de usuario no válido (EOS_InvalidUser), se llama a EOS_Auth_LinkAccount. En esta llamada se le pide al usuario que inicie sesión en su cuenta de Epic Games a través de un navegador web o una superposición de la interfaz de usuario. Este inicio de sesión vincula la cuenta de Epic Games del usuario con su cuenta externa que no es de EOS.
Para obtener más información sobre el proceso de vinculación de cuentas, consulta la sección Problemas conocidos más abajo.
Si los servicios de cuenta Epic no están activados, pero la interfaz Connect sí lo está, se llama a EOS_Connect_Login con las credenciales de la cuenta externa.
La configuración del proveedor de identidades es necesaria tanto para la interfaz de autenticación (EOS_Auth) como para la interfaz de conexión. Para usar la plataforma externa que quieras, añádela a la lista de proveedores de identidades en el portal de desarrolladores de Proyecto de EOS. Si has configurado correctamente tus plataformas en el proveedor de identidades, la autenticación de EOS debería completarse correctamente y desbloquear el acceso a todas las características de juego de EOS. Para obtener más información, consulta la documentación de recursos para desarrolladores de Epic sobre gestión de proveedores de identidades.
EOS Plus debe estar activada para usar el inicio de sesión con una cuenta externa.
Uso de los servicios de la cuenta de Epic
Si se activa este ajuste, el proceso de inicio de sesión continúa como si se hubiera activado Usar Ids de usuario de plataforma cruzada. El token de autenticación externa se añade al conjunto de credenciales necesarias para el método de inicio de sesión, y EOS intenta autenticarse llamando al método EOS_Auth_Login.
Interfaces
Esta sección proporciona información adicional sobre las interfaces implementadas en el complemento EOS del Subsistema en línea. Para obtener información más detallada sobre cada una de estas interfaces, consulta la documentación del subsistema en línea. El complemento OSS EOS es compatible con las siguientes interfaces del SDK de EOS:
Interfaces compatibles
| Interfaz OSS EOS | Interfaz de EOS SDK | Descripción |
|---|---|---|
Desbloquea y comprueba el estado de los logros de los usuarios. | ||
Comprar objetos y verificar la propiedad de los mismos. | ||
Mostrar la superposición de la interfaz de usuario. | ||
Verificar las cuentas de usuario, incluido el inicio de sesión y el cierre de sesión. | ||
Crear y recuperar marcadores. | ||
Informa a tus amigos de las actividades en curso. | ||
Gestionar el emparejamiento según la sesión. | ||
Añadir o eliminar jugadores de la lista de amigos. Recuperar lista de amigos. | ||
Estadísticas | Ingesta y consulta de las estadísticas de los usuarios. | |
Archivo de título | descarga datos de títulos encriptados de la nube. | |
Acceder a la información de visualización del usuario. |
Sesiones
ID de depósito
En las sesiones de EOS de OSS, BucketId es la información de filtro de nivel superior específica del juego para las búsquedas de sesión. Para obtener más información sobre Sesiones BucketId, consulta la documentación de EOS sobre Sesiones.
Se puede establecer BucketId para cualquier valor necesario para tu proyecto añadiendo un atributo personalizado a FOnlineSessionSettings::Settings. Para ello, añade lo siguiente al código de tu proyecto:
SessionSettings.Settings.Add(OSSEOS_BUCKET_ID_ATTRIBUTE_KEY, FOnlineSessionSetting(FString(TEXT("BUCKET_ID_PLACEHOLDER")), EOnlineDataAdvertisementType::ViaOnlineService));dónde:
BUCKET_ID_PLACEHOLDERes el identificador del depósito que quieres usar.
Este identificador de cubo personalizado también debe añadirse a cualquier parámetro de búsqueda de la sesión de forma similar.
Estadísticas
Nombres de estadísticas
OSS EOS convierte todos los nombres de estadísticas a mayúsculas antes de pasarlos a EOS. Cuando configures tu proyecto en el portal de desarrolladores de EOS, asegúrate de configurar los nombres de las estadísticas en mayúsculas para garantizar la compatibilidad con OSS EOS.
Problemas conocidos
Enlace de cuenta
Por el momento, la vinculación de cuentas durante el proceso de inicio de sesión solo está disponible en la plataforma Steam. Si intentas iniciar sesión en cualquier otra plataforma, aparecerá el siguiente error de autenticación en el registro:
LogEOSSDK: Warning: LogEOS: Error response received from backend. ServiceName=[OAuth], OperationName=[TokenGrant], Url=[<Redacted>], HttpStatus=[400], ErrorCode=[errors.com.epicgames.account.oauth.authorization_pending], NumericErrorCode=[1012], ErrorMessage=[The authorization server request is still pending as the end user has yet to visit and enter the verification code.], CorrId=[...]Esta función estará disponible en futuras versiones para otras plataformas. Mientras tanto, se puede vincular manualmente la cuenta a través de la pestaña Cuentas de la sección Conexiones de los ajustes de la cuenta de Epic Games.
La cuenta de Epic usada en el proceso de vinculación debe aceptar los permisos de acceso a la aplicación (tal y como se describe en la sección Iniciar sesión con OSS EOS). De lo contrario, aparecerá el siguiente error en el registro:
LogEOSSDK: Warning: LogEOS: Error response received from backend. ServiceName=[OAuth], OperationName=[TokenGrant], Url=[<Redacted>], HttpStatus=[400], ErrorCode=[errors.com.epicgames.oauth.scope_consent_required], NumericErrorCode=[58005], ErrorMessage=[The user has not consented to required scopes.], CorrId=[...]Una vez vinculada la cuenta, se aceptan los ámbitos de acceso y, si la configuración de autenticación de EOS es correcta, el inicio de sesión se completará correctamente y la aplicación podrá usar todas las funciones adicionales de EAS.