Google a informé les développeurs d'une vulnérabilité des versions (antérieures à M102) de WebRTC. Les conséquences, solutions de contournement et mises à jour sont disponibles ici.
Epic Online Services (EOS) est un système indépendant du moteur qui propose un ensemble de fonctionnalités en ligne multiplateformes, notamment :
Des fonctionnalités axées sur le joueur, par exemple :
Réalisations
Classements
Des fonctionnalités commerciales, par exemple :
Des achats dans le jeu
Des fonctionnalités sociales, par exemple :
La communication vocale
Des listes d'amis
Vous pouvez utiliser EOS dans votre projet Unreal Engine avec le plug-in de sous-système en ligne Epic Online Services (OSS EOS). Grâce au plug-in de sous-système en ligne Epic Online Services, vous pouvez interagir avec Epic Online Services dans votre jeu sans avoir à écrire de code pour communiquer directement avec le SDK EOS. Pour utiliser cette fonctionnalité, vous devez inscrire et configurer vos produits sur le Portail des développeurs EOS, puis activer et configurer quelques plug-ins pour que la fonctionnalité EOS puisse s'afficher via l'interface du SSE.
Pour en savoir plus sur Epic Online Services, et notamment sur l'inscription et la configuration de vos produits, consultez la documentation des développeurs Epic Online Services.
Aperçu des plug-ins EOS
Le plug-in OSS EOS est basé sur le plug-in Sous-système en ligne (OSS). Le plug-in Sous-système en ligne (Online Subsystem, OSS) est un outil générique qui fournit une interface commune permettant d'accéder à divers services en ligne. Le plug-in OSS EOS étend le plug-in OSS via l'implémentation de fonctionnalités spécifiques fournies par Epic Online Services et intègre la communication avec le SDK EOS. Cette page présente les fonctionnalités suivantes du plug-in OSS EOS :
Il est également possible d'étendre le plug-in OSS EOS avec le plug-in OSS EOS Plus. EOS Plus (EOS + plateforme de base) associe EOS à une autre plateforme, telle que Steam, une plateforme de console, etc.. Combiner EOS à une autre plateforme permet d'obtenir des fonctionnalités supplémentaires, comme la symétrie miroir automatique des sessions. Vous pouvez utiliser EOS Plus avec ou sans les Services de compte Epic (EAS).
Quand utiliser EOS Plus
Si vous publiez votre jeu sur l'Epic Games Store, le plug-in EOS est l'option idéale et vous évite d'utiliser EOS Plus. Si vous publiez votre jeu sur une autre plateforme, utilisez le plug-in OSS EOS Plus en complément du plug-in OSS EOS. Des exceptions peuvent s'appliquer. Poursuivez la lecture de cette page pour déterminer la meilleure combinaison de plug-ins pour votre projet.
Le Sous-système en ligne EOS Plus est une solution temporaire permettant d'implémenter des fonctionnalités de symétrie miroir de plateforme, en attendant qu'elles soient prises en charge dans le SDK EOS. EOS Plus sera remplacé par la prise en charge native dans le SDK EOS dès que celle-ci sera disponible. EOS Plus est une fonctionnalité Bêta dont la couverture est limitée.
Comment utiliser OSS EOS
Le cours sur le plug-in OSS EOS de la Communauté de développeurs Epic vous guide dans le processus d'utilisation d'OSS EOS dans un projet Unreal Engine.
Configuration
Enregistrer votre produit auprès des Epic Online Services
La documentation sur les ressources pour les développeurs Epic fournit des ressources pour l'Epic Games Store (EGS), les Epic Online Services, les Kids Web Services (KLS) et leurs outils correspondants. Pour profiter du plug-in EOS, vous devez d'abord enregistrer un produit auprès des Epic Online Services. Pour enregistrer votre produit aurpès des EOS, accédez au Portail des développeurs Epic et suivez la procédure de démarrage. Ce guide décrit notamment l'inscription de produit à l'étape 1 de la procédure de démarrage. Les informations fournies lors de l'inscription de votre produit seront requises pour configurer le plug-in EOS dans l'Unreal Engine.
L'Unreal Engine est livré avec une copie du SDK EOS. Vous n'avez donc pas besoin de le télécharger séparément pour utiliser la version incluse dans l'UE. Pour utiliser une autre version du SDK EOS, téléchargez-la en suivant les instructions de l'étape 2 de la procédure de démarrage. Une fois la version du SDK EOS téléchargée, suivez les instructions de notre documentation Upgrading the EOS SDK (Mise à niveau du SDK EOS) pour obtenir plus de détails sur la mise à niveau du SDK EOS utilisé dans l'Unreal Engine.
Si vous mettez à niveau le SDK EOS, nous vous recommandons de consulter les notes de version du SDK EOS pour connaître toutes les mises à jour nécessaires.
Activer les plug-ins OSS EOS
Pour utiliser EOS dans votre projet, vous devez activer le plug-in OSS EOS dans l'Unreal Engine. Pour activer le plug-in OSS EOS, procédez comme suit :
Accédez à Modifier > Plug-ins. Dans le navigateur de plug-ins qui s'ouvre alors, vous pouvez rechercher les plug-ins que vous souhaitez activer.
Dans le navigateur de plug-ins, recherchez le plug-in Sous-système en ligne EOS et activez-le.
OSS EOS implémente le plug-in OSS pour les Epic Online Services. Lorsque vous activez le plug-in OSS EOS, les plug-ins supplémentaires suivants sont activés par défaut :
EOS Plus
Associe EOS à une autre plateforme.
EOS Shared
Est responsable de l'initialisation et de la fermeture du SDK EOS.
Il est activé par défaut en tant que dépendance d'OSS EOS.
EOS Voice Chat
La discussion vocale est prise en charge via EOS.
Après avoir activé les plug-ins de votre choix, vous devez les configurer pour les utiliser dans votre projet. Certaines des étapes de configuration ci-après nécessitent des paramètres liés à votre produit ou des identificateurs reçus après son inscription auprès d'EOS. Ceux-ci sont disponibles sur le Portail des développeurs Epic.
Configurer les plug-ins OSS EOS
Pour continuer, assurer vous d'avoir :
Pour configurer les plug-ins OSS EOS, procédez comme suit :
Dans la barre d'outils, cliquez sur Modifier > Paramètres du projet.
Accédez à plug-ins > Sous-système en ligne EOS.
Cliquez sur l'image pour l'agrandir.
Paramètres EOS
Ces paramètres concernent la configuration propre à la plateforme d'EOS. Pour plus d'informations, consultez la page EOS API Reference (Référence de l'API EOS) portant sur la structure de données EOS_Platform_Options. Le tableau suivant décrit chaque paramètre EOS :
| Paramètre | Description |
|---|---|
Cache Dir | Répertoire destiné au stockage des données EOS temporaires. Sous Windows, l'emplacement par défaut est |
Nom de l'artefact par défaut | Ce nom est utilisé si aucun artefact n'est transmis via des arguments de ligne de commande. Si vous ne fournissez aucun nom d'artefact via la ligne de commande, assurez-vous qu'il correspond au nom d'artefact défini ci-dessous. |
Budget de tick (en millisecondes) | Ce paramètre force le retour de la fonction EOS_Platform_Tick pour empêcher les opérations EOS de bloquer le jeu. Pour en savoir plus, consultez la documentation Epic Online Services relative à EOS_Platform_Create. |
Activer la superposition | Utilisez cette option pour activer ou désactiver les superpositions. Certaines options peuvent être liées à une plateforme spécifique, comme la superposition d'achat, qui n'est valide que pour les titres livrés sur l'Epic Games Store. |
Activer la superposition sociale | La superposition sociale affiche des informations sur vos amis, vos réalisations et des étapes d'authentification supplémentaires. Vous pouvez désactiver cette superposition indépendamment des autres, qui resteront actives. Ce paramètre n'a aucun effet si l'option Activer la superposition est désactivée. |
Activer la superposition dans l'éditeur | Utilisez cette option pour activer ou désactiver les superpositions dans l'Unreal Editor. |
Balises de stockage des titres | Permet d'interroger plusieurs fichiers à l'emplacement de stockage des données de titres. Pour en savoir plus, consultez la page Title Storage Interface (Interface de stockage des titres) de la documentation Epic Online Services sur l'interrogation de plusieurs fichiers par balise. |
Longueur de lecture d'un segment dans le stockage des titres | Permet de définir la quantité maximale de données (octets) à lire dans un rappel unique de EOS_TitleStorage_OnReadFileDataCallback. Pour en savoir plus, consultez la page Title Storage Interface (Interface de stockage des titres) de la documentation Epic Online Services sur l'accès aux fichiers. |
Artefacts | L'Epic Games Store prend en charge l'utilisation de plusieurs artefacts pour un produit unique. Par exemple, votre produit peut avoir des artefacts internes distincts pour le développement, les opérations de test et la version finale utilisée par vos clients. Cette matrice contient des paramètres pour chaque artefact nommé. La matrice doit comprendre au moins un artefact et la valeur Nom d'artefact par défaut doit correspondre au nom de l'un des éléments de cette matrice. Consultez la section Paramètres d'artefact ci-dessous pour en savoir plus sur ces paramètres. |
Paramètres d'artefact
Les paramètres d'artefact incluent les paramètres du produit que vous avez inscrit auprès du portail des développeurs EOS. Les paramètres que vous configurez ici doivent correspondre aux paramètres du produit inscrit auprès du portail des développeurs EOS. Les paramètres de vos produits sont disponibles sur le portail des développeurs EOS.
Pour modifier les paramètres d'artefact, procédez comme suit :
Cliquez sur le bouton Ajouter un élément situé près de Artefacts sous la section Paramètres EOS. Un nouvel élément est alors créé dans la matrice Paramètres des artefacts EOS.
Pour personnaliser les paramètres de ce nouvel artefact, cliquez sur la flèche située près de l'élément de matrice que vous venez de créer. S'il s'agit du premier élément, son nom sera Index[0].
Le tableau suivant décrit les paramètres d'artefact disponibles :
| Paramètre | Description |
|---|---|
Nom de l'artefact | Si vous lancez le jeu sur l'Epic Games Store, ce paramètre doit correspondre à l'identifiant de l'artefact figurant dans les paramètres de stockage, qui se trouvent sur le portail des développeurs. Si vous ne lancez pas votre jeu sur l'Epic Games Store, il peut s'agir d'une chaîne quelconque. Ce paramètre doit également correspondre à l'artefact transmis par l'argument de ligne de commande |
Identifiant client | L'identifiant client de votre produit. Les 3 premiers caractères de cet identifiant sont |
Secret client | Le secret client utilisé pour vérifier votre identifiant client. |
Identifiant produit | Le SDK EOS utilise cet identifiant pour identifier votre produit. |
Identifiant bac à sable | L'artefact appartient au bac à sable correspondant à cette valeur d'identifiant. Si vous ne le publiez pas sur l'Epic Games Store, votre produit ne dispose que d'un seul bac à sable. Si vous utilisez plusieurs bacs à sable, vous pouvez ajouter plusieurs lignes avec un |
Identifiant de déploiement | L'identifiant de déploiement ciblé. Les identifiants de déploiement sont différents pour chaque artefact. Par exemple, les artefacts |
Clé de cryptage du client | Une chaîne hexadécimale de 64 octets qui crypte les données lorsqu'elles sont mises en ligne vers un service EOS. Contrairement à d'autres paramètres, cette clé de cryptage n'est pas gérée par EOS ni stockée dans les paramètres de votre produit. La clé est exclusive à chaque jeu et n'est pas connue d'Epic Games afin de protéger la confidentialité des données des utilisateurs. Elle permet de crypter les données de joueurs et de titres à des fins de stockage. Si vous n'utilisez pas le stockage de données de titres ou de joueurs, vous pouvez utiliser la clé de cryptage par défaut suivante (64 unités) : |
Paramètres EOS Plus
Pour utiliser ce plug-in, commencez par enregistrer et configurer votre produit dans le portail des développeurs pour chaque plateforme que vous prenez en charge. Les versions du SDK EOS propres à chaque plateforme contiennent des instructions détaillées pour utiliser les fonctionnalités correspondantes prises en charge.
Avant d'utiliser le plug-in EOS Plus, vous devez configurer les paramètres de connexion EOS Plus et de jeu multiplateforme.
Paramètres de connexion EOS Plus
Le tableau suivant décrit les paramètres de connexion EOS Plus :
| Paramètre | Description |
|---|---|
Utiliser un compte Epic pour la connexion à EOS (requiert la liaison d'un compte) | Si cette option est activée, le plug-in EOS OSS utilise le jeton d'authentification de la plateforme pour connecter automatiquement l'utilisateur à son compte Epic. |
Utiliser les API EOS Connect pour créer et associer des identifiants utilisateurs de produit (PUID) et utiliser les services EOS Game Services | Si cette option est activée, utilisez les API EOS Connect pour associer des comptes pour le jeu multiplateforme. |
Paramètres de jeu multiplateforme
Le tableau suivant décrit les paramètres de jeu multiplateforme :
| Paramètre | Description |
|---|---|
Mettre en miroir les statistiques vers EOS | Si cette option est activée, EOS Plus envoie une copie de toutes les informations de statistiques au plug-in OSS EOS. |
Mettre en miroir les réalisations vers EOS | Si cette option est activée, EOS Plus envoie une copie de toutes les données de réalisation au plug-in OSS EOS. |
Utiliser les sessions de jeu multiplateforme | Ce paramètre est requis pour jouer aux jeux en réseau multiplateforme. De plus, il convertit l'interface de session de EOS en interface principale. |
Mettre en miroir la présence vers EAS | Cette option détermine si le plug-in EOS Plus enverra également des données de présence au plug-in OSS EOS. Les données de présence ne sont disponibles qu'avec les Services de compte Epic. |
Configuration du moteur pour les plug-ins EOS
Une fois que vous avez configuré votre produit sur le portail des développeurs et les plug-ins, des paramètres doivent être définis. Vous pouvez configurer ces plug-ins dans la hiérarchie de configuration du moteur, par exemple dans le fichier DefaultEngine.ini.
Paramètres de configuration OSS EOS
Ajoutez les paramètres de configuration suivants au fichier DefaultEngine.ini de votre projet :
Vérifiez que le plug-in Sous-système en ligne EOS est activé dans votre projet.
C++[OnlineSubsystemEOS] bEnabled=trueDéfinissez EOS comme plateforme par défaut pour les services en ligne de votre projet.
C++[OnlineSubsystem] DefaultPlatformService=EOSSpécifiez les pilotes réseau.
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")Utilisez la fonctionnalité de connecteur pair à pair d'EOS pour les parties hébergées par un joueur. Ce paramètre est facultatif.
C++[/Script/SocketSubsystemEOS.NetDriverEOSBase] bIsUsingP2PSockets=true
Voici tous les paramètres de configuration décrits ci-dessus pour EOS OSS :
[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")
Lancement d'un titre depuis le lanceur Epic Games
Si vous lancez votre jeu depuis le lanceur Epic Games, vous devez ajouter des entrées de configuration dans la hiérarchie des fichiers de configuration du moteur pour toutes les paires application-bac à sable Epic lancées par l'Epic Games Store (EGS). Assurez-vous que le nom d'artefact par défaut et le nom d'artefact dans les paramètres du projet ou la configuration du moteur correspondent au nom d'artefact dans votre portail des développeurs Epic Online Services.
Lorsque vous publiez un titre sur l'EGS, le nom d'artefact par défaut est ignoré. EGS transmet toujours un argument de ligne de commande -epicapp qu'il utilise à la place. Le nom d'artefact par défaut est utile lors de la livraison sur d'autres vitrines où l'argument -epicapp n'est pas transmis.
Paramètres de configuration EOS Plus
Si vous souhaitez configurer votre projet pour implémenter des sessions de jeu multiplateforme entre EOS et une autre plateforme en ligne, ajoutez les paramètres de configuration suivants au fichier DefaultEngine.ini :
Vérifiez que le plug-in Sous-système en ligne EOS Plus est activé dans votre projet.
N'oubliez pas que le plug-in EOS Plus vous permet d'utiliser EOS avec un autre service en ligne.
C++[OnlineSubsystemEOSPlus] bEnabled=true
Remplacez vos services en ligne de plateforme par défaut par EOS Plus.
Le moteur saura alors que vous associez EOS à un autre service de plateforme. Ajoutez également les services en ligne natifs de la plateforme que vous souhaitez utiliser. Dans cet exemple, il est défini sur Steam, mais il peut s'agir d'un autre service en ligne, y compris des services en ligne de console.
C++[OnlineSubsystem] DefaultPlatformService=EOSPlus ; Add your additional platform online services below NativePlatformService=Steam
Indiquez quels types d'identifiant réseau sont compatibles avec le sous-système en ligne par défaut.
Cela n'est requis que si le sous-système en ligne par défaut est défini sur EOS/EOS Plus.
C++[/Script/OnlineSubsystemUtils.OnlineEngineInterfaceImpl] +CompatibleUniqueNetIdTypes=EOS +CompatibleUniqueNetIdTypes=EOSPlus
Prenez en charge la communication entre les clients EOS et EOS Plus.
Par exemple, un joueur EOS Plus connecté à une autre plateforme en ligne (comme Steam) organise une session EOS et un client EOS (pas EOS Plus) la rejoint. Le client EOS classique a besoin de ce mappage pour que les identifiants réseau EOS Plus soient correctement acheminés vers EOS et désérialisés en tant que tels. Cette configuration
MappedUniqueNetIdTypesest ajoutée à la même section que la configuration de l'étape précédente.C++[/Script/OnlineSubsystemUtils.OnlineEngineInterfaceImpl] MappedUniqueNetIdTypes=(("EOSPlus","EOS"))
Voici tous les paramètres de configuration décrits ci-dessus pour EOS Plus :
[OnlineSubsystemEOSPlus]
bEnabled=true
[OnlineSubsystem]
DefaultPlatformService=EOSPlus
NativePlatformService=Steam
[/Script/OnlineSubsystemUtils.OnlineEngineInterfaceImpl]
+CompatibleUniqueNetIdTypes=EOS
+CompatibleUniqueNetIdTypes=EOSPlus
Comment OSS EOS trouve des artefacts
Pour choisir l'artefact à utiliser pour EOS OSS au démarrage, vous pouvez spécifier un certain nombre de paramètres dans la ligne de commande de l'Unreal Engine et rechercher un artefact spécifié dans la configuration du moteur, ou utiliser par défaut un artefact spécifique. À compte de l'UE 5.5, les valeurs transmises via la ligne de commande comme identifiant de bac à sable et de déploiement (transmis via les arguments -epicsandboxid et -epicdeploymentid) sont toujours utilisées. Auparavant, ces valeurs permettaient uniquement de rechercher des entrées correspondantes dans la matrice de configuration Artefacts. Quelle que soit l'entrée d'artefact disponible dans la matrice de configuration, les identifiants de bac à sable et de déploiement de la ligne de commande sont toujours utilisés.
Ce comportement est décrit dans la séquence d'étapes suivante :
Par ordre de priorité décroissant, définissez la valeur
ArtifactNamecomme suit :-EOOSArtifactNameOverride=...<><...>-EpicApp=<...>DefaultArtifactNamedans la configuration du moteur
Par ordre de priorité décroissant, définissez la valeur
SandboxIdcomme suit :-EpicSandboxIdOverride=<...>-EpicSandboxId=...><...>Non spécifié
Par ordre de priorité décroissant, définissez la valeur
DeploymentIdcomme suit :-EpicDeploymentIdOverride=<...>-EpicDeploymentId=<...>Non spécifié
Si
SandboxIdetDeploymentIdsont spécifiés, recherchez un artefact qui correspond à toutes les valeursArtifactName,SandboxIdetDeploymentId.Si l'étape 4 échoue ou n'est pas exécutée, mais que
SandboxIdest spécifié, recherchez un artefact qui correspond aux valeursArtifactNameetSandboxId.Si l'étape 5 échoue ou n'est pas exécutée, cherchez un artefact qui correspond à
ArtifactName.Si l'étape 6 échoue, recherchez un artefact avec une valeur
ArtifactNamevide.Si l'étape 7 échoue, signalez une erreur, car aucun artefact n'a été trouvé.
Une fois qu'un artefact est trouvé :
Par ordre de priorité décroissant, déterminez la valeur de
SandboxIdcomme suit :Si elle est spécifiée, la valeur définie à l'étape 2.
La valeur de l'entrée artefact trouvée pendant l'une des étapes 4 à 7.
Par ordre de priorité décroissant, déterminez la valeur de
DeploymentIdcomme suit :Si elle est spécifiée, la valeur définie à l'étape 3.
La valeur de l'entrée artefact trouvée pendant l'une des étapes 4 à 7.
Vous pouvez fournir des entrées d'artefact spécifiques dans la matrice des artefacts de configuration pour des combinaisons spécifiques de ArtifactName, SandboxId et DeploymentId. Cela est utile si vous souhaitez modifier les valeurs ClientId et/ou la EncryptionKey en fonction de chaque combinaison. D'autre part, si vous souhaitez définir ClientId sur une valeur permanente, vous pouvez fournir une entrée d'artefact unique dans la matrice des artefacts de configuration avec une valeur ArtifactName vide. De cette manière, vous forcez le procédé décrit ci-dessus à toujours utiliser l'artefact dont le nom n'est pas indiqué.
Connexion
Deux méthodes permettent de lancer le processus de connexion via l'interface d'identité en ligne :
Auto Login (Connexion automatique) : vous devez fournir un numéro d'utilisateur local.
Login (Connexion) : vous devez fournir un objet
FOnlineAccountCredentials.
La section suivante explique comment connecter un utilisateur à l'aide de la méthode Auto Login ou Login dans OSS EOS.
Connexion avec OSS EOS
En plus d'un numéro d'utilisateur local valide, la méthode Login requiert la transmission d'un objet FOnlineAccountCredentials. Cette classe comprend trois champs :
Type
Id (Identifiant)
Token (Jeton)
Méthodes de connexion
Ces trois champs indiquent la méthode d'authentification que EOS OSS doit utiliser en fonction des valeurs qu'ils affichent. Les sections suivantes fournissent des exemples de configuration des différents types d'authentification disponibles :
Account Portal
Developer
Exchange Code
Account Portal
Type :
CountPortalId :
Token :
Account Portal est la méthode de connexion la plus polyvalente, car elle ne nécessite pas d'utiliser l'outil d'authentification du développeur EOS (Dev Auth Tool), ni de lancer votre application depuis le lanceur Epic Games.
Avec la version 1.15 ou ultérieure du SDK EOS, une interface de superposition de jeu s'affiche lors de l'appel Login. Si la superposition de jeu n'est pas activée, une fenêtre de navigateur s'ouvre. L'utilisateur est alors invité à saisir les informations de son compte Epic. S'il est déjà connecté à Epic Games, il doit accepter les étendues d'accès du produit concerné.
Les informations d'identification étant fournies par l'utilisateur dans l'interface du jeu ou dans le navigateur, il n'est pas nécessaire de fournir un identifiant ou un jeton.
Developer
Type:
DeveloperId:
localhost:<PORT>PORTindique le port spécifié dans l'outil d'authentification du développeur.
Token:
<CREDENTIALS_NAME>CREDENTIALS_NAMEest spécifié dans l'outil d'authentification du développeur.
La méthode Developer est recommandée pour les opérations de développement avec EOS OSS sur les ordinateurs de bureau. Cette méthode nécessite l'exécution de l'outil d'authentification du développeur. Consultez la documentation suivante sur le site d'Epic Online Services pour en savoir plus sur l'outil d'authentification du développeur.
Une fois l'outil d'authentification du développeur configuré, notez le port et les informations d'identification que vous utilisez, car ils sont nécessaires pour remplir les champs Id et Token de l'objet FOnlineAccountCredentials, comme illustré ci-dessus. Cette méthode de connexion s'ouvre lors de l'appel Login, puis l'utilisateur est invité à saisir les informations de son compte Epic Games. S'il est déjà connecté à Epic Games, il doit accepter les étendues d'accès du produit concerné. Cette étape est effectuée lors de la première connexion de l'utilisateur.
Exchange Code
Type :
ChangeCodeId :
Token :
<EXCHANGE_CODE><EXCHANGE_CODE>est fourni par le lanceur Epic Games.
Vous ne devez utiliser la méthode Exchange Code que si votre application est lancée depuis le lanceur Epic Games, car elle nécessite le code d'échange fourni par ce dernier. Cette méthode, qui ne nécessite pas l'exécution de l'outil d'authentification du développeur, est celle que vous devez utiliser dans la version de livraison de votre jeu.
Étant donné que le lanceur Epic Games fournit un jeton de code d'échange, vous n'avez pas besoin de fournir d'identifiant ni de jeton.
Connexion réussie
Si l'une de ces méthodes réussit, le processus de connexion se termine par l'inscription de tous les services de notification EOS nécessaires (état de connexion, amis, mises à jour de présence et actualisation de l'authentification) ainsi que par le déclenchement des délégués inscrits suivants :
OnLoginComplete: les paramètres incluent la réussite ou l'échec de la connexion et l'UniqueNetIddu nouvel utilisateur authentifié.OnLoginStatusChanged: les paramètres correspondent à l'état de connexion actuel et précédent et à l'UniqueNetIddu nouvel utilisateur authentifié.
Auto Login avec OSS EOS
Pour utiliser la méthode Auto Login avec le Sous-système en ligne EOS, vous devez transmettre des arguments de ligne de commande supplémentaires à l'exécutable de votre jeu au démarrage. Ces arguments correspondent aux trois champs de l'objet FOnlineAccountCredentials, autrement transmis à la méthode Login.
Les paramètres de connexion indiqué ci-dessus correspondent aux arguments de ligne de commande suivants :
| Variable FOnlineAccountCredentials | Argument de ligne de commande |
|---|---|
|
|
|
|
|
|
Méthodes de connexion
Cette section présente des exemples des paramètres nécessaires pour les trois méthodes de connexion expliquées dans la section précédente.
Account Portal
-AUTH_TYPE="accountportal"Developer
-AUTH_TYPE="developer" -AUTH_LOGIN="localhost:<PORT>" -AUTH_PASSWORD="<NAME_IN_DEV_AUTH_TOOL>"Cette commande comprend les arguments suivants :
<PORT>correspond au port que vous avez configuré dans l'outil d'authentification du développeur.<NAME_IN_DEV_AUTH_TOOL>correspond au nom choisi dans l'outil d'authentification du développeur.
Exchange Code
-AUTH_TYPE="exchangecode" -AUTH_PASSWORD="<EXCHANGE_CODE_FROM_LAUNCHER>"Cette commande comprend les arguments suivants :
<EXCHANGE_CODE_FROM_LAUNCHER>est le code d'échange provenant du lanceur Epic Games.
Flux de connexion avec des informations d'identification de compte externe
Cette section décrit le flux de connexion lorsque l'OSS EOS est utilisé avec un compte externe. Vous devez autoriser EOS Plus à se connecter avec un compte externe.
Si les services de compte Epic et l'interface Connect (EOS_Connect) sont tous deux activés, la méthode EOS_Auth_Login est appelée avec les informations d'identification du compte externe provenant d'une plateforme non-EOS, telle que Steam. Si la connexion échoue avec une erreur d'utilisateur non valide (EOS_InvalidUser), la méthode EOS_Auth_LinkAccount est appelée. Cet appel invite l'utilisateur à se connecter à son compte Epic Games via un navigateur Web ou une interface superposée. Cette connexion permet de lier le compte Epic Games de l'utilisateur à son compte externe non-EOS.
Consultez la section Problèmes connus ci-dessous pour en savoir plus sur le processus de liaison de compte.
Si les services de compte Epic ne sont pas activés, mais que l'interface Connect l'est, la méthode EOS_Connect_Login est appelée avec les informations d'identification du compte externe.
La configuration du fournisseur d'identité est requise pour l'interface Auth (EOS_Auth) et l'interface Connect. Pour utiliser la plateforme externe de votre choix, ajoutez-la à la liste des fournisseurs d'identité sur le portail des développeurs de projet EOS. Si vous avez correctement configuré vos plateformes dans le fournisseur d'identité, l'authentification EOS devrait aboutir et débloquer l'accès à toutes les fonctionnalités de jeu EOS. Pour en savoir plus, consultez la documentation sur les ressources pour les développeurs Epic concernant la gestion des fournisseurs d'identité.
EOS Plus doit être activé pour permettre la connexion avec un compte externe.
Utilisation des services de compte Epic
Si ce paramètre est activé, le processus de connexion se poursuit comme si l'option Utilisation des identifiants utilisateurs multiplateformes était également activée. Le jeton d'authentification externe est ajouté à l'ensemble d'informations d'identification nécessaire pour la méthode de connexion et EOS tente de s'authentifier en appelant la méthode EOS_Auth_Login.
Interfaces
Cette section fournit des informations supplémentaires sur les interfaces implémentées dans le plug-in de sous-système en ligne EOS. Pour plus d'informations sur chacune de ces interfaces, consultez la documentation relative au sous-système en ligne. Le plug-in OSS EOS prend en charge les interfaces du SDK EOS suivantes :
Interfaces prises en charge
| Interface OSS EOS | Interface du SDK EOS | Description |
|---|---|---|
Débloquez et vérifiez l'état des réalisations des utilisateurs. | ||
Acheter des éléments et vérifier leur propriété. | ||
Afficher l'interface superposée. | ||
Vérifier les comptes utilisateurs, notamment les connexion et déconnexions. | ||
Créer et récupérer des classements. | ||
Informer les amis des activités en cours. | ||
Gérer le matchmaking basé sur une session. | ||
Ajouter ou retirer des joueurs dans la liste d'amis. Récupérer la liste d'amis. | ||
Statistiques | Intégrer et interroger les statistiques utilisateur. | |
Fichier de titre | Télécharger depuis le cloud des données de titre cryptées. | |
Accéder aux informations d'affichage utilisateur. |
Sessions
Bucket Id
Dans les sessions OSS EOS, BucketId est le premier niveau d'information de filtrage spécifique au jeu pour les recherches de session. Pour en savoir plus sur le niveau BucketId des sessions, consultez la documentation EOS sur les sessions.
BucketId peut être défini selon les besoins de votre projet en utilisant un attribut personnalisé ajouté à FOnlineSessionSettings::Settings. Pour cela, ajoutez ce qui suit à votre code de projet :
SessionSettings.Settings.Add(OSSEOS_BUCKET_ID_ATTRIBUTE_KEY, FOnlineSessionSetting(FString(TEXT("BUCKET_ID_PLACEHOLDER")), EOnlineDataAdvertisementType::ViaOnlineService));où :
Bucket_ID_PLACEHOLDERcorrespond à l'identifiant de compartiment (Bucket Id) que vous souhaitez utiliser.
Ce BucketId personnalisé doit également être ajouté à tous les paramètres de recherche de session de manière similaire.
Statistiques
Noms des statistiques
OSS EOS convertit tous les noms de statistiques en majuscules avant de les transmettre à EOS. Lorsque vous configurez votre projet dans le portail des développeurs EOS, veillez à configurer les noms des statistiques en majuscules pour assurer la compatibilité avec OSS EOS.
Problèmes connus
Association de comptes
Actuellement, l'association de comptes lors du processus de connexion est uniquement disponible sur la plateforme Steam. Si vous tentez de connecter une autre plateforme, l'erreur d'authentification suivante s'affiche dans le journal :
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=[...]Cette fonctionnalité sera disponible pour d'autres plateformes dans les prochaines versions. En attendant, vous pouvez associer manuellement un compte via l'onglet Comptes de la section Connexions des Paramètres du compte Epic Games.
Le compte Epic utilisé dans le processus de liaison doit accepter les étendues d'accès à l'application (comme décrit dans la section Connexion avec OSS EOS). Sinon, l'erreur suivant apparaîtra dans le journal :
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=[...]Une fois le compte associé, les étendues d'accès sont acceptées. De plus, si la configuration d'authentification EOS est correcte, la connexion aboutit et l'application pourra alors utiliser toutes les fonctionnalités supplémentaires d'EAS.