Démarrage rapide : PlayFab Online Subsystem
Cet article vous aide à configurer et à utiliser les fonctionnalités PlayFab Multiplayer telles que Lobby, Matchmaking et Party pour les jeux créés avec Unreal Engine 4 ou Unreal Engine 5. Pour obtenir la liste complète des plateformes et versions prises en charge dans Unreal Engine 4 ou Unreal Engine 5, consultez Plateformes prises en charge. Après avoir suivi les étapes pertinentes décrites sur cette page pour vos plateformes cibles, vous serez prêt à utiliser PlayFab Online Subsystem (PF OSS). L’authentification, la mise en réseau, la VOIP, le regroupement dans des lobbies et le matchmaking sont gérés pour vous, sans qu’aucune autre modification ne soit nécessaire.Télécharger et installer PlayFab Online Subsystem
Accédez à PlayFab Online Subsystem pour télécharger ou cloner la source de PF OSS. Le dépôt téléchargé ou cloné s’appelle PlayFabMultiplayerUnreal. Il doit être renommé en OnlineSubsystemPlayFab.Ce dont vous avez besoin
- TitleID PlayFab : si vous n’avez pas de TitleID configuré pour les kits de développement logiciel (SDK) PlayFab Party et Multiplayer, consultez Activation de PlayFab Party.
Microsoft Game Development Kit (GDK), PC, Switch, PlayStation®5 et PlayStation®4
- Bibliothèques PlayFab Party, Lobby et Matchmaking propres à la plateforme : consultez Obtention des bibliothèques PlayFab Party et Multiplayer.
Configuration initiale
Base de code d’Unreal Engine
- Copiez le dossier OnlineSubsystemPlayFab et son contenu dans votre répertoire Unreal Engine, sous Engine\Plugins\Online.
- Exécutez
GenerateProjectFiles.batpour créer les fichiers de projet du moteur. - Chargez le projet dans Visual Studio en sélectionnant le nouveau fichier
UE5.sln. - Définissez la configuration de votre solution sur Development Editor et la plateforme de votre solution sur Win64. Sélectionnez la cible Unreal Engine 5, puis sélectionnez Build.
Base de code du jeu
- Pour ajouter OnlineSubsystemPlayFab à votre liste de plug-ins, appliquez les modifications suivantes à la section Plugins du fichier de projet.
- Supprimez toutes les plateformes sur lesquelles vous ne publiez pas
- Utilisez XboxOneGDK au lieu de XB1 si vous utilisez Unreal Engine 4. Unreal Engine 5 déprécie XboxOneGDK
- Générez le fichier de solution du jeu en sélectionnant le fichier
{ProjectName}.uproject, puis sélectionnez Switch Unreal Engine Version pour pointer vers le chemin du code d’Unreal Engine.
Configuration du jeu
- Quelle que soit la plateforme ciblée, votre jeu doit configurer certaines valeurs propres à PlayFab dans le fichier INI de la plateforme cible prévue (situé dans [yourGameDirectory]/Platforms/[yourPlatform]/Config).
- XBOX Series X GDK : XSXEngine.ini
- PC GDK : WinGDKEngine.ini
- XBOX One GDK : XB1Engine.ini (ou XboxOneGDKEngine.ini si vous utilisez Unreal Engine 4)
- PC Steam : WindowsEngine.ini (ou dans [yourGameDirectory]/Config/Windows)
- Nintendo Switch SwitchEngine.ini
- PS4™ PS4Engine.ini
- PS5™ PS5Engine.ini
- Remplacez les sections INI de la configuration si elles existent déjà (par exemple, Engine.GameEngine) par celles présentées dans les sections suivantes.
- Veillez à remplacer tous les champs <REPLACE ME> par vos données :
- Sur UE 5.6 et versions ultérieures, le paramètre
DriverClassNamenécessite le préfixe “/Script/”. Par exemple, utilisez"/Script/OnlineSubsystemPlayFab.PlayFabNetDriver"au lieu de"OnlineSubsystemPlayFab.PlayFabNetDriver".
Considérations propres à la plateforme
Une fois tout cela fait, nous avons presque terminé. Il ne reste que quelques paramètres clés propres à la plateforme à définir.GDK
Lorsque vous développez des jeux avec le GDK, configurez les services de plateforme.Steam
Si vous développez des jeux pour Win64 avec Steam, définissez vos services de plateforme.Switch
Pour plus d’informations sur Switch, consultez le fichier ReadMe.md fourni avec PlayFab OSS pour Switch. Si vous n’y avez pas accès, vous pouvez demander l’accès à nos dépôts privés.PS5™ et PS4™
Pour plus d’informations sur PS5™ et PS4™, consultez le fichier ReadMe.md fourni avec PlayFab OSS pour PS5™ et PS4™. Si vous n’y avez pas accès, vous pouvez demander l’accès à nos dépôts privés.Multiplateforme
Si votre jeu utilise la prise en charge de la mise en réseau multiplateforme de PlayFab, définissez les plateformes autorisées à se connecter.Utilisation dans le code du jeu
PlayFab Online Subsystem ne prend en charge que le nommage de session de jeu
NAME_GameSessionPublicDependencyModuleNames.AddRange(new string[] { "OnlineSubsystem", "OnlineSubsystemUtils" }); dans Game.Build.cs, puis utilisez-le de la même manière que les autres plug-ins de jeu.
Exemple de code dans GameSession.cpp :
Résolution des problèmes
Moyens de vous aider à résoudre les problèmes.Builds installés d’Unreal Engine
Les utilisateurs peuvent rencontrer des problèmes lorsqu’ils tentent de créer un build installé d’Unreal Engine avec OnlineSubsystemPlayFab sur les variantes de build GDK. Nous fournissons les conseils suivants pour surmonter ce problème en attendant une solution plus complète. Si vous utilisez Unreal Engine 5.4, 5.5, 5.6 ou 5.7 :- Vous pouvez rencontrer l’erreur d’exécution suivante :
Runtime dependency Party.dll is configured to be staged from C:\Program Files (x86)\Microsoft GDK\<version>\Party.dll and Engine\Plugins\Online\OnlineSubsystemPlayFab\Platforms\GDK\Redist\Party.dll - Accédez à Engine\Platforms\GDK\Plugins\Online\OnlineSubsystemGDK\
- Ouvrez OnlineSubsystemGDK.uplugin et désactivez
PlayFabParty:
- Accédez à Engine\Platforms\GDK\Plugins\Online\OnlineSubsystemGDK\Source\
- Ouvrez OnlineSubsystemGDK.Build.cs et commentez l’inclusion de
PlayFabParty:
- Recherchez le répertoire où Unreal Engine est installé sur la machine.
- Accédez à Engine\Platforms\GDK\Plugins\Online\PlayFabParty
- Ouvrez PlayFabParty.uplugin et mettez à jour la configuration Modules avec PlatformDenyList :
- Répétez ce processus pour XB1 (PlayFabParty_XB1.uplugin) et XSX (PlayFabParty_XSX.uplugin) si ces plateformes sont requises pour le build installé. Si Win64 est également une plateforme requise pour le build installé, ajoutez Win64 au tableau PlatformDenyList.
- Recherchez le répertoire où Unreal Engine est installé sur la machine.
- Accédez à Engine\Platforms\GDK\Plugins\Online\PlayFabParty
- Ouvrez PlayFabParty.uplugin
- Remplacez la clé WhitelistPlatforms par BlacklistPlatforms
- Répétez le processus pour XboxOneGDK (PlayFabParty_XboxOneGDK.uplugin) et XSX (PlayFabParty_XSX.uplugin) si ces plateformes sont requises pour le build installé. Si Win64 est également une plateforme requise pour le build installé, ajoutez Win64 au tableau BlacklistPlatforms.
Échec de l’établissement de liaison sur Steam
Si vous constatez un échec de l’établissement de liaison (par exempleLogHandshake: IncomingConnectionless: Error reading handshake packet), consultez ce message du forum Unreal Engine pour vérifier les paramètres.
Flux de travail d’OnlineSubsystemPlayFab
Les étapes décrites dans la section Considérations propres à la plateforme vous demandent d’inclure :FOnlineSubsystemPlayFab::Init(),
qui initialise les SDK Party et Multiplayer avec le TitleID PlayFab (ce titleID est défini dans le fichier de configuration du jeu). Pendant l’initialisation, nous appelons CreatePlayFabSocketSubsystem() pour en faire le sous-système en ligne principal.
Flux de travail du SDK Multiplayer : FOnlineSubsystemPlayFab::Init() initialise le singleton du SDK multijoueur InitializeMultiplayer() pour votre titre. Dans PlayFabLobby.cpp, FPlayFabLobby::DoWork() traite les
changements d’état déclenchés par les API Multiplayer (consultez Platforms/GDK/Include/PFLobby.h pour les API).
Flux de travail du SDK Party : FOnlineSubsystemPlayFab::Init() initialise le singleton du SDK multijoueur InitializeParty() pour votre titre. Dans OnlineSubsystemPlayFab.cpp, FOnlineSubsystemPlayFab::DoWork() traite les
changements d’état déclenchés par les API Party (consultez Platforms/GDK/Include/Party.h pour les API).
« PlayStation » est une marque déposée ou une marque commerciale de Sony Interactive Entertainment Inc.
« PS4 » est une marque déposée ou une marque commerciale de Sony Interactive Entertainment Inc.
« PS5 » est une marque déposée ou une marque commerciale de Sony Interactive Entertainment Inc.