Início rápido: PlayFab Online Subsystem
Este artigo ajuda você a configurar e usar recursos do PlayFab Multiplayer, como Lobby, Matchmaking e Party, em jogos criados com o Unreal Engine 4 ou o Unreal Engine 5. Para obter a lista completa de plataformas e versões com suporte no Unreal Engine 4 ou no Unreal Engine 5, confira Plataformas com suporte. Depois de seguir as etapas relevantes descritas nesta página para suas plataformas de destino, você estará pronto para começar a usar o PlayFab Online Subsystem (PF OSS). A autenticação, a rede, o VOIP, o agrupamento em lobbies e o matchmaking são tratados em seu nome, sem que nenhuma outra alteração seja necessária.Baixar e instalar o PlayFab Online Subsystem
Acesse o PlayFab Online Subsystem para baixar ou clonar o código-fonte do PF OSS. O nome do repositório baixado ou clonado é PlayFabMultiplayerUnreal. O repositório precisa ser renomeado para OnlineSubsystemPlayFab.O que você precisa
- TitleID do PlayFab: Se você não tiver uma TitleID configurada para os SDKs (kits de desenvolvimento de software) do PlayFab Party e do Multiplayer, confira Habilitando o PlayFab Party.
Microsoft Game Development Kit (GDK), PC, Switch, PlayStation®5 e PlayStation®4
- Bibliotecas do PlayFab Party, do Lobby e do Matchmaking específicas da plataforma: Confira Obtendo as bibliotecas do PlayFab Party e do Multiplayer.
Configuração inicial
Base de código do Unreal Engine
- Copie a pasta OnlineSubsystemPlayFab e seu conteúdo para o diretório do Unreal Engine em Engine\Plugins\Online.
- Execute
GenerateProjectFiles.batpara criar os arquivos de projeto do mecanismo. - Carregue o projeto no Visual Studio selecionando o novo arquivo
UE5.sln. - Defina a configuração da solução como Development Editor e a plataforma da solução como Win64. Selecione o destino Unreal Engine 5 e, em seguida, selecione Build.
Base de código do jogo
- Para adicionar o OnlineSubsystemPlayFab à sua lista de plug-ins, aplique as seguintes alterações à seção Plugins do arquivo de projeto.
- Remova as plataformas nas quais você não vai lançar o jogo
- Use XboxOneGDK em vez de XB1 se estiver usando o Unreal Engine 4. O Unreal Engine 5 substitui o XboxOneGDK
- Gere o arquivo de solução do jogo selecionando o arquivo
{ProjectName}.uprojecte, em seguida, selecione Switch Unreal Engine Version para o caminho do código do Unreal Engine.
Configuração do jogo
- Independentemente da plataforma de destino, seu jogo precisa configurar determinados valores específicos do PlayFab no arquivo INI da plataforma de destino pretendida (localizado em [yourGameDirectory]/Platforms/[yourPlatform]/Config).
- XBOX Series X GDK: XSXEngine.ini
- PC GDK: WinGDKEngine.ini
- XBOX One GDK: XB1Engine.ini (ou XboxOneGDKEngine.ini se estiver usando o Unreal Engine 4)
- PC Steam: WindowsEngine.ini (ou encontre-o em [yourGameDirectory]/Config/Windows)
- Nintendo Switch SwitchEngine.ini
- PS4™ PS4Engine.ini
- PS5™ PS5Engine.ini
- Substitua as seções INI na configuração, se já existirem (por exemplo, Engine.GameEngine), pelas apresentadas nas seções a seguir.
- Certifique-se de substituir todos os campos <REPLACE ME> pelos seus dados:
- No UE 5.6 e posteriores, o parâmetro
DriverClassNamerequer o prefixo “/Script/”. Por exemplo, use"/Script/OnlineSubsystemPlayFab.PlayFabNetDriver"em vez de"OnlineSubsystemPlayFab.PlayFabNetDriver".
Considerações específicas da plataforma
Com tudo isso feito, estamos quase terminando. Restam apenas alguns parâmetros importantes específicos da plataforma que precisam ser definidos.GDK
Ao desenvolver jogos com o GDK, configure os serviços da plataforma.Steam
Se estiver desenvolvendo jogos para Win64 com o Steam, defina os serviços da plataforma.Switch
Para obter mais informações sobre o Switch, confira o arquivo ReadMe.md que acompanha o PlayFab OSS para Switch. Se não tiver acesso, você pode solicitar acesso aos nossos repositórios privados.PS5™ e PS4™
Para obter mais informações sobre o PS5™ e o PS4™, confira o arquivo ReadMe.md que acompanha o PlayFab OSS para PS5™ e PS4™. Se não tiver acesso, você pode solicitar acesso aos nossos repositórios privados.Multiplataforma
Se o seu jogo usar o suporte à rede multiplataforma do PlayFab, defina quais plataformas você permite que se conectem.Uso no código do jogo
O PlayFab Online Subsystem só dá suporte à nomenclatura de sessão de jogo como
NAME_GameSessionPublicDependencyModuleNames.AddRange(new string[] { "OnlineSubsystem", "OnlineSubsystemUtils" }); em Game.Build.cs e, em seguida, use-o da mesma forma que outros plug-ins do jogo.
Código de exemplo em GameSession.cpp:
Solução de problemas
Formas de ajudar você a solucionar problemas.Builds instalados do Unreal Engine
Os usuários podem enfrentar problemas ao tentar criar um build instalado do Unreal Engine com o OnlineSubsystemPlayFab nas variantes de build do GDK. Fornecemos as orientações a seguir para superar esse problema com êxito até que haja uma solução mais completa. Se você estiver usando o Unreal Engine 5.4, 5.5, 5.6 ou 5.7:- Você pode encontrar o seguinte erro de tempo de execução:
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 - Navegue até Engine\Platforms\GDK\Plugins\Online\OnlineSubsystemGDK\
- Abra OnlineSubsystemGDK.uplugin e defina
PlayFabPartycomo desabilitado:
- Navegue até Engine\Platforms\GDK\Plugins\Online\OnlineSubsystemGDK\Source\
- Abra OnlineSubsystemGDK.Build.cs e comente a inclusão de
PlayFabParty:
- Localize o diretório em que o Unreal Engine está instalado na máquina.
- Navegue até Engine\Platforms\GDK\Plugins\Online\PlayFabParty
- Abra PlayFabParty.uplugin e atualize a configuração de Modules com PlatformDenyList:
- Repita esse processo para XB1 (PlayFabParty_XB1.uplugin) e XSX (PlayFabParty_XSX.uplugin) se essas plataformas forem necessárias para o build instalado. Se Win64 também for uma plataforma necessária para o build instalado, adicione Win64 na matriz de PlatformDenyList.
- Localize o diretório em que o Unreal Engine está instalado na máquina.
- Navegue até Engine\Platforms\GDK\Plugins\Online\PlayFabParty
- Abra PlayFabParty.uplugin
- Substitua a chave WhitelistPlatforms por BlacklistPlatforms
- Repita o processo para XboxOneGDK (PlayFabParty_XboxOneGDK.uplugin) e XSX (PlayFabParty_XSX.uplugin) se essas plataformas forem necessárias para o build instalado. Se Win64 também for uma plataforma necessária para o build instalado, adicione Win64 na matriz de BlacklistPlatforms.
Falha de handshake no Steam
Se você estiver vendo uma falha de handshake (comoLogHandshake: IncomingConnectionless: Error reading handshake packet), consulte esta publicação no fórum do Unreal Engine para verificar as configurações.
Fluxo de trabalho do OnlineSubsystemPlayFab
As etapas descritas na seção Considerações específicas da plataforma pedem que você inclua:FOnlineSubsystemPlayFab::Init(),
onde inicializa os SDKs do Party e do Multiplayer com a TitleID do PlayFab (essa titleID é definida no arquivo de Configuração do jogo). Durante a inicialização, chamamos CreatePlayFabSocketSubsystem() como o subsistema online principal.
Fluxo de trabalho do SDK do Multiplayer: FOnlineSubsystemPlayFab::Init() inicializa o singleton do SDK multijogador InitializeMultiplayer() para o seu título. Em PlayFabLobby.cpp, FPlayFabLobby::DoWork() processa as
alterações de estado disparadas pelas APIs do Multiplayer (confira Platforms/GDK/Include/PFLobby.h para ver as APIs).
Fluxo de trabalho do SDK do Party: FOnlineSubsystemPlayFab::Init() inicializa o singleton do SDK multijogador InitializeParty() para o seu título. Em OnlineSubsystemPlayFab.cpp, FOnlineSubsystemPlayFab::DoWork() processa as
alterações de estado disparadas pelas APIs do Party (confira Platforms/GDK/Include/Party.h para ver as APIs).
“PlayStation” é uma marca registrada ou marca comercial da Sony Interactive Entertainment Inc.
“PS4” é uma marca registrada ou marca comercial da Sony Interactive Entertainment Inc.
“PS5” é uma marca registrada ou marca comercial da Sony Interactive Entertainment Inc.