O Google informou aos desenvolvedores sobre uma vulnerabilidade em versões (anteriores à M102) do WebRTC. Impactos, soluções alternativas e atualizações podem ser encontrados aqui.
O Serviços Online da Epic (SOE) é um sistema independente de engine que fornece diversas funcionalidades on-line multiplataforma, incluindo:
Funcionalidades centradas no jogador, como:
Conquistas
Tabelas de liderança
Funcionalidades comerciais, como:
Compras no jogo
Funcionalidades sociais, como:
Comunicação por voz
Listas de amigos
Você pode usar o SOE em seu projeto da Unreal Engine com o plugin de Serviços Online da Epic do Subsistema On-line (OSS SOE). O plugin de Serviços Online da Epic do Subsistema On-line ajuda você a interagir com os Serviços Online da Epic no seu jogo sem escrever código para interagir diretamente com o SDK do SOE. Para usar essa funcionalidade, você deve registrar e configurar seu produto ou produtos com o Portal de Desenvolvedores do SOE e então habilitar e configurar alguns plugins para expor a funcionalidade do SOE por meio da interface OSS.
Para obter mais informações sobre os Serviços On-line da Epic, incluindo informações sobre como registrar e configurar seus produtos, consulte a Documentação para desenvolvedores dos Serviços Online da Epic.
A visão geral dos plugins SOE.
O plugin OSS SOE se baseia no plugin do Subsistema On-line (OSS) . O plugin do Subsistema On-line é um plugin de uso geral que fornece uma interface comum para acessar diversos serviços on-line. O plugin OSS SOE amplia o plugin OSS implementando funcionalidade específicas disponíveis nos Serviços Online da Epic ao integrar a comunicação com o SDK do SOE ao plugin. Esta página aborda os seguintes recursos do plugin OSS SOE:
Outra opção é ampliar o plugin SOE OSS com o plugin OSS SOE Plus. SOE Plus significa "SOE + plataforma Base", que combina o SOE e outra plataforma (como Steam, plataforma de console, etc.). A combinação do SOE com outra plataforma fornece recursos adicionais, como espelhamento automático de sessão. Você pode usar o SOE Plus com ou sem os Serviços da Conta Epic (EAS).
Quando usar o SOE Plus
Se você lançar o jogo pela Epic Games Store, use o plugin OSS SOE. Além disso, não é necessário usar o SOE Plus. Se você lançar o jogo em outra plataforma, use o plugin OSS SOE Plus além do plugin OSS SOE. Pode haver exceções a essa orientação. Continue lendo esta página para determinar a melhor combinação de plugins para seu projeto.
O SOE Plus do Subsistema On-line é uma solução temporária para implementar determinadas funcionalidade de espelhamento de plataforma enquanto essa funcionalidade não existe no SDK do SOE. A funcionalidade SOE Plus será substituída pelo suporte native ao SDK do SOE assim que estiver disponível. O SOE Plus é uma funcionalidade Beta com funcionalidade limitada.
Como usar o OSS SOE
O curso Plugin OSS SOE na Comunidade de Desenvolvedores da Epic orienta você no processo de uso do OSS SOE em um projeto da Unreal Engine.
Configuração
Registre seu produto nos Serviços Online da Epic
A Documentação de Recursos para Desenvolvedores da Epic fornece recursos para a Epic Games Store (EGS), os Serviços Online da Epic, o Kids Web Services (KWS) e suas ferramentas associadas. Para aproveitar o plugin OSS SOE, você deve ter um produto registrado nos Serviços Online da Epic. Para registrar seu produto no SOE, vá até o Portal de Desenvolvedores da Epic e siga as etapas para começar. Em particular, este guia descreve o registro de produtos na Etapa 1 das Etapas para começar. As informações fornecidas no registro do produto são necessárias para configurar o plugin OSS SOE na Unreal Engine.
A Unreal Engine é distribuída com uma cópia do SDK do SOE, portanto, você não precisa baixar o SDK do SOE separadamente se quiser usar a versão do SDK do SOE incluída na Unreal Engine. Para usar uma versão diferente do SDK do SOE, baixe a versão desejada do SDK do SOE seguindo as instruções na Etapa 2 das Etapas para começar. Depois de baixar a versão desejada do SDK do SOE, siga as instruções em nossa documentação Como atualizar o SDK do SOE para obter mais informações sobre como atualizar o SDK do SOE usado pela Unreal Engine.
Se você atualização o SDK do SOE, recomendamos consultar as notas de versão do SDK do SOE para obter as atualizações necessárias para a atualização.
Habilite os plugins OSS SOE
Para usar o SOE em seu projeto, você deve habilitar o plugin OSS SOE na Unreal Engine. Para habilitar o plugin OSS SOE, siga estas etapas:
Vá até Editar > Plugins. Isso abre o Navegador de Plugins, onde você pode pesquisar os plugins que deseja habilitar.
No Navegador de Plugins, localize e habilite o plugin SOE do Subsistema On-line.
O SOE do Subsistema On-line implementa o plugin de Subsistema On-line para os Serviços Online da Epic. Os seguintes plugins adicionais são habilitados por padrão quando você habilita o plugin OSS SOE:
SOE Plus
Combina o SOE com outra plataforma.
SOE Compartilhado
É responsável pela inicialização e desligamento do SDK do SOE.
É habilitado por padrão como uma dependência do OSS SOE.
Bate-papo por voz do SOE
Suporte para bate-papo por voz pelo SOE.
Depois de habilitar os plugins desejados, você precisa configurar os plugins para uso no projeto. Algumas das etapas de configuração a seguir exigem configurações ou identificadores relacionados ao produto recebidos após o registro do produto no SOE. Elas estão disponíveis no Portal de Desenvolvedores da Epic.
Configurar os plugins OSS SOE
Para continuar, certifique-se de ter:
Para configurar os plugins OSS SOE, siga estas etapas:
Na barra de ferramentas, clique em Editar > Configurações de Projeto.
Vá até Plugins > Subsistema On-line do SOE.
Clique na imagem para ampliar.
Configurações do SOE
Essas configurações estão relacionadas à configuração específica da plataforma do SOE. Para obter mais informações, confira a página Referência da API do SOE sobre a estrutura de dados EOS_Platform_Options. A tabela a seguir descreve cada uma das configurações do SOE:
| Configuração | Descrição |
|---|---|
Diretório de cache | O diretório para armazenar dados temporários do SOE. O local padrão no Windows é |
Nome do artefato padrão | Esse nome de artefato será usado se nenhum artefato for passado por meio de argumentos de linha de comando. Se não passar o nome de um artefato pela linha de comando, verifique se ele corresponde ao nome do artefato definido abaixo. |
Orçamento em milissegundos | Essa configuração evita que as operações do SOE bloqueiem o jogo causando o retorno de EOS_Platform_Tick. Confira a documentação dos Serviços Online da Epic sobre EOS_Platform_Create para obter mais informações. |
Habilitar sobreposição | Use para habilitar ou desabilitar sobreposições. Algumas sobreposições podem ser específicas da plataforma, como a sobreposição de comércio eletrônico, que só é válida para títulos lançados na Epic Games Store. |
Habilitar sobreposição social | A sobreposição social mostra informações sobre amigos, conquistas e outras etapas de autenticação. Você pode desabilitar essa sobreposição individualmente e deixar as outras habilitadas. Essa configuração não terá efeito se Habilitar sobreposição estiver desativado. |
Habilitar sobreposição do editor | Use para habilitar ou desabilitar sobreposições no Unreal Editor. |
Tags de armazenamento de título | Use ao consultar vários arquivos no armazenamento de dados de títulos. Para obter mais informações, confira a documentação dos Serviços Online da Epic sobre Consulta de vários arquivos por tag na interface de armazenamento de títulos. |
Comprimento da parte de leitura de armazenamento de título | Define a quantidade máxima de dados (bytes) a serem lidos em um único retorno de chamada de EOS_TitleStorage_OnReadFileDataCallback. Para obter mais informações, confira a documentação dos Serviços Online da Epic sobre Como acessar arquivos na interface de armazenamento de títulos. |
Artefatos | A Epic Games Store permite vários artefatos para um único produto. Por exemplo, seu produto pode ter artefatos internos separados para desenvolvimento, teste e a versão de lançamento usada pelos clientes. Essa matriz contém configurações para cada artefato nomeado. Deve haver pelo menos um artefato na matriz, e o valor Nome do artefato padrão deve corresponder ao nome de um dos elementos da matriz. Confira a seção Configurações de artefato abaixo para obter mais informações sobre essas configurações. |
Configurações de artefato
As configurações de artefato incluem as configurações do produto que você registrou no Portal de Desenvolvedores do SOE. As configurações definidas aqui devem corresponder às configurações do produto registrado no Portal de Desenvolvedores do SOE. Você pode encontrar configurações para seus produtos no Portal de Desenvolvedores do SOE.
Para editar as Configurações de artefato, siga estas etapas:
Clique no botão Adicionar elemento ao lado de Artefatos na seção Configurações do SOE. Isso cria um elemento na matriz de Artefato de configurações do SOE.
Para personalizar as configurações do novo artefato, clique na seta ao lado do elemento de matriz recém-criado. Se for o primeiro elemento na matriz, o nome será Index[0].
A tabela a seguir descreve as configurações de artefato disponíveis:
| Configuração | Descrição |
|---|---|
Nome do artefato | Se você estiver lançando na Epic Games Store, isso deve corresponder ao ID do artefato nas configurações da loja localizadas no Portal de Desenvolvedores. Se você não estiver lançando na Epic Games Store, pode ser qualquer string. Isso também deve corresponder ao artefato passado pelo argumento de linha de comando |
ID do cliente | O ID do cliente do produto. Esse ID começa com |
Segredo do cliente | O segredo do cliente usado para verificar o ID do cliente. |
ID do produto | O SDK do SOE usa esse ID para identificar seu produto. |
ID do sandbox | O artefato pertence ao sandbox com este valor de ID. Seu produto terá apenas um sandbox se você não estiver publicando na Epic Games Store. Se estiver usando vários sandboxes, você pode adicionar várias linhas com |
ID de implementação | O ID de implementação que você está segmentando. Os IDs de implementação são diferentes para cada artefato. Por exemplo, se você tiver os artefatos |
Chave de criptografia do cliente | Uma string hexadecimal de 64 bytes que criptografa dados quando carregados em um serviço SOE. Ao contrário de outras configurações, o SOE não gerencia essa chave de criptografia e ela não é armazenada nas configurações do produto. A chave é única para o seu jogo e não é conhecida pela Epic Games para proteger a privacidade dos dados do usuário. Ela é usada para criptografar dados para armazenamento de dados de jogador e título. Se não estiver usando o armazenamento de dados de jogador ou título, você poderá usar a seguinte chave de criptografia padrão (64 vezes o número 1): |
Configurações do SOE Plus
Para usar esse plugin, primeiro registre e configure seu produto no Portal de Desenvolvedores para cada plataforma a que você deseja oferecer suporte. As versões específicas da plataforma do SDK do SOE contêm instruções detalhadas sobre o uso dos recursos da plataforma compatível com cada versão.
Antes de usar o plugin SOE Plus, você deve configurar as configurações de login do SOE Plus e as configurações de crossplay.
Configurações de login do SOE Plus
A tabela a seguir descreve as configurações de login do SOE Plus:
| Configuração | Descrição |
|---|---|
Use a conta Epic para login do SOE (é necessária a vinculação da conta). | Se essa opção estiver habilitada, o plugin OSS SOE usará o token de autenticação específico da plataforma para conectar o usuário à conta Epic automaticamente. |
Use APIs Connect do SOE para criar e vincular IDs de usuário de produto (PUIDs) e usar os Serviços de Jogo do SOE. | Se essa opção estiver habilitada, use as APIs Connect do SOE para vincular contas para crossplay. |
Configurações de crossplay
A tabela a seguir descreve as configurações de crossplay:
| Configuração | Descrição |
|---|---|
Espelhar atributos no SOE | Se essa opção estiver habilitada, o SOE Plus enviará uma cópia de todas as informações de atributos ao plugin OSS SOE. |
Espelhar conquistas no SOE | Se essa opção estiver habilitada, o SOE Plus enviará uma cópia de todos os dados de conquistas ao plugin OSS SOE. |
Usar sessões de crossplay | Esta configuração é necessária para jogar jogos em rede multiplataforma. Isso também torna a Interface de sessão do SOE a interface de sessão principal. |
Espelhar presença no SOE | Esta opção determina se o plugin SOE Plus também enviará dados de presença ao plugin OSS SOE. Os dados de presença só estão disponíveis ao usar os Serviços de Conta Epic. |
Configuração da engine para os plugins SOE
Depois de configurar seu produto no Portal de Desenvolvedores e configurar os plugins, há algumas configurações que você precisa definir. Você pode configurar esses plugins na hierarquia de configuração da engine, como DefaultEngine.ini.
Definições de configuração do OSS SOE
Adicione as seguintes configurações ao arquivo DefaultEngine.ini do projeto:
Verifique se o plugin SOE do Subsistema On-line está habilitado para uso no projeto.
C++[OnlineSubsystemEOS] bEnabled=trueDefina o SOE como a plataforma padrão para os serviços on-line do projeto.
C++[OnlineSubsystem] DefaultPlatformService=EOSEspecifique os drivers de rede.
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")Use a funcionalidade de soquete peer-to-peer do SOE para partidas hospedadas pelo jogador. Esta configuração é opcional.
C++[/Script/SocketSubsystemEOS.NetDriverEOSBase] bIsUsingP2PSockets=true
Veja a seguir todas as configurações descritas acima para OSS SOE:
[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")
Como inicializar um título no Inicializador da Epic Games
Se estiver inicializando seu título pelo Inicializador da Epic Games, você precisa adicionar entradas de configuração na hierarquia do arquivo de configuração da engine para todos os pares de app da Epic e sandbox da Epic que a Epic Games Store (EGS) inicializa. Confira se o Nome do artefato padrão e o Nome do artefato nas Configurações do Projeto ou da engine correspondem ao nome do artefato no Portal de Desenvolvedores dos Serviços Online da Epic.
Quando você lançar um título na EGS, o nome do artefato padrão é ignorado. O EGS sempre passa um argumento de linha de comando -epicapp que usa. O nome do artefato padrão é útil para lançamento em outras lojas em que -epicapp não é passado.
Configurações do SOE Plus
Se você quiser configurar seu projeto para implementar crossplay entre SOE e outra plataforma on-line, adicione as seguintes configurações ao arquivo DefaultEngine.ini do projeto:
Verifique se o plugin SOE Plus do Subsistema On-line está habilitado para uso no projeto.
Lembre-se de que o plugin SOE Plus permite usar o SOE em conjunto com um serviço on-line diferente.
C++[OnlineSubsystemEOSPlus] bEnabled=true
Altere o serviço on-line da plataforma padrãopara SOE Plus.
Isso informa à engine que você está usando o SOE em conjunto com um serviço de plataforma diferente. Além disso, adicione os serviços on-line da plataforma nativa que deseja usar. Neste exemplo, está definido para o Steam, mas pode ser qualquer serviço on-line, incluindo serviços on-line de console.
C++[OnlineSubsystem] DefaultPlatformService=EOSPlus ; Add your additional platform online services below NativePlatformService=Steam
Comunique quais tipos de ID de rede são compatíveis com o OSS padrão.
Isso só precisa ser definido quando SOE/SOE Plus é o OSS padrão.
C++[/Script/OnlineSubsystemUtils.OnlineEngineInterfaceImpl] +CompatibleUniqueNetIdTypes=EOS +CompatibleUniqueNetIdTypes=EOSPlus
Permite a comunicação entre clientes SOE e SOE Plus.
Por exemplo, considere uma situação em que um jogador do SOE Plus conectado a uma outra plataforma on-line, como Steam, hospeda uma sessão do SOE e um cliente SOE (não o SOE Plus) ingressa na sessão do SOE do primeiro. O cliente SOE puro precisa desse mapeamento para que os IDs de rede SOE Plus sejam roteados corretamente para SOE e desserializadas como IDs de rede SOE. Essa configuração
MappedUniqueNetIdTypesé adicionada à mesma seção de configuração da etapa anterior.C++[/Script/OnlineSubsystemUtils.OnlineEngineInterfaceImpl] MappedUniqueNetIdTypes=(("EOSPlus","EOS"))
A seguir estão todas as configurações descritas acima para o SOE Plus:
[OnlineSubsystemEOSPlus]
bEnabled=true
[OnlineSubsystem]
DefaultPlatformService=EOSPlus
NativePlatformService=Steam
[/Script/OnlineSubsystemUtils.OnlineEngineInterfaceImpl]
+CompatibleUniqueNetIdTypes=EOS
+CompatibleUniqueNetIdTypes=EOSPlus
Como o OSS SOE encontra artefatos
Para escolher o artefato específico a ser usado para o OSS SOE na inicialização, você pode especificar várias configurações pela linha de comando da Unreal Engine para encontrar um artefato especificado na configuração da engine ou usar um artefato específico como padrão. A partir da UE 5.5, o que for passado na linha de comando como ID do sandbox e ID de implementação (passado pelos argumentos -epicsandboxid e -epicdeploymentid) será sempre usado. Antes, esses valores eram usados apenas para procurar entradas correspondentes na matriz de configuração de artefatos. Independentemente da entrada de artefato encontrada na matriz de configuração, os IDs de linha de comando do sandbox e de implementação sempre serão usados.
Esse comportamento é descrito na seguinte sequência de etapas:
Em ordem decrescente de preferência, defina
ArtifactNamecomo o valor de:-EOSArtifactNameOverride=<...>-EpicApp=<...>DefaultArtifactNameda configuração da engine
Em ordem decrescente de preferência, defina
SandboxIdcomo o valor de:-EpicSandboxIdOverride=<...>-EpicSandboxId=<...>Não especificado
Em ordem decrescente de preferência, defina
DeploymentIdcomo o valor de:-EpicDeploymentIdOverride=<...>-EpicDeploymentId=<...>Não especificado
Se forem especificados
SandboxIdeDeplymentId, procure um artefato que corresponda aArtifactName,SandboxIdeDeploymentId.Se a etapa 4 falhar ou não for executada, mas
SandboxIdfor especificado, procure um artefato que corresponda aArtifactNameeSandboxId.Se a etapa 5 falhar ou não for executada, procure um artefato que corresponda a
ArtifactName.Se a etapa 6 falhar, procure um artefato com um
ArtifactNamevazio.Se a etapa 7 falhar, reporte um erro, pois nenhum artefato será encontrado.
Quando um artefato é encontrado:
Em ordem decrescente de preferência, use o seguinte para
SandboxId:Se especificado, o valor da Etapa 2.
O valor da entrada do artefato encontrado em uma das etapas 4 a 7.
Em ordem decrescente de preferência, use o seguinte para
DeploymentId:Se especificado, o valor da Etapa 3.
O valor da entrada do artefato encontrado em uma das etapas 4 a 7.
Forneça entradas de artefato específicas na matriz de artefatos de configuração para combinações específicas de ArtifactName, SandboxId e DeploymentId. Isso é útil se você quiser variar o ClientId e/ou a EncryptionKey para cada combinação. Por outro lado, se quiser definir um ClientId que você sempre usará, forneça uma única entrada de artefato na matriz de artefatos de configuração um ArtifactName vazio. Isso força o comportamento acima a sempre usar o artefato com o nome do artefato vazio.
Login
Há dois métodos para iniciar o processo de login na Interface de Identidade On-line:
Login automático: exige que você passe um número de usuário local.
Login: exige que você use um objeto
FOnlineAccountCredentials.
A próxima seção descreve como fazer o log de um usuário usando o Login automático ou o Login no OSS SOE.
Login com OSS SOE
Além de fornecer um número de usuário local válido, o método Login exige que você passe um objeto FOnlineAccountCredentials. Essa classe tem três campos:
Tipo
ID
Token
Métodos de login
Esses três campos indicam o método de autenticação que o OSS SOE deve usar de acordo com seus valores. As seções a seguir fornecem exemplos de como definir cada um dos diferentes tipos de autenticação disponíveis:
Portal da conta
Desenvolvedor
Código de troca
Portal da conta
Tipo:
AccountPortalId:
Token:
O Portal da conta é o método de login mais geral, pois não requer a Ferramenta de Autenticação de Desenvolvedor (Dev Auth Tool) do SOE nem que seu aplicativo seja inicializado a partir do Inicializador da Epic Games.
Com esse método, se você estiver usando o SDK do SOE versão 1.15 ou superior, uma IU de sobreposição de jogo aparecerá quando a chamada de login for feita. Se a sobreposição de jogo não estiver habilitada, será aberta uma janela do navegador. O usuário precisa inserir as informações da conta Epic quando solicitado. Se já estiver logado na Epic Games, o usuário deverá aceitar os escopos de acesso para o produto em questão.
Como as credenciais são fornecidas pelo usuário na IU de sobreposição de jogo ou no navegador, não é necessário fornecer um ID ou token.
Desenvolvedor
Tipo:
DesenvolvedorId:
localhost:<PORT>PORTé a porta especificada na Dev Auth Tool.
Token:
<CREDENTIALS_NAME>CREDENTIALS_NAMEé especificado na Dev Auth Tool.
Desenvolvedor é o método recomendado para desenvolvimento com OSS SOE em plataformas desktop. Esse método exige que a Dev Auth Tool esteja em execução. Confira a documentação a seguir no site dos Serviços Online da Epic para obter mais informações sobre a Ferramenta de Autenticação de Desenvolvedor.
Depois de configurar a Dev Auth Tool, lembre-se do nome da porta e das credenciais que você usa, pois elas são necessárias para preencher os campos Id e Token do objeto FOnlineAccountCredentials, conforme indicado acima. Esse método de login é aberto quando a chamada do login é feita e o usuário é solicitado a inserir as informações da conta da Epic Games. Se já estiver logado na Epic Games, o usuário deverá aceitar os escopos de acesso para o produto em questão. Essa etapa ocorre apenas na primeira vez que o usuário faz login.
Código de troca
Tipo:
ExchangeCodeId:
Token:
<EXCHANGE_CODE><EXCHANGE_CODE>é fornecido pelo Inicializador da Epic Games.
Você só deve usar o método do Código de troca se o aplicativo for inicializado pelo Inicializador da Epic Games, pois ele exige o código de troca fornecido pelo inicializador. Esse método não exige que a Dev Auth Tool esteja em execução e é o que você deve usar com a versão de lançamento do jogo.
Como o Inicializador da Epic Games fornece um token de código de troca, você não precisa fornecer um ID ou token.
Login efetuado com sucesso
Se qualquer um desses métodos for concluído com sucesso, o processo de login termina registrando todos os serviços de notificação do SOE necessários (status de login, amigos, atualizações de presença e atualização de autenticação) e acionando os seguintes delegados registrados:
OnLoginComplete:os parâmetros incluem se o login foi bem-sucedido e oUniqueNetIddo novo usuário autenticado.OnLoginStatusChanged: os parâmetros correspondem ao status de login anterior e atual e aoUniqueNetIddo novo usuário autenticado.
Login automático com OSS SOE
Para usar o login automático com o SOE de Subsistema On-line, passe argumentos de linha de comando adicionais ao executável do jogo na inicialização. Esses argumentos correspondem aos três campos no objeto FOnlineAccountCredentials que seriam passados ao método Login.
Os parâmetros do login acima correspondem a argumentos de linha de comando da seguinte maneira:
| Variável FOnlineAccountCredentials | Argumento de linha de comando |
|---|---|
|
|
|
|
|
|
Métodos de login
Esta seção contém exemplos dos parâmetros necessários para os três métodos de login, conforme explicado na seção anterior.
Portal da conta
-AUTH_TYPE="accountportal"Desenvolvedor
-AUTH_TYPE="developer" -AUTH_LOGIN="localhost:<PORT>" -AUTH_PASSWORD="<NAME_IN_DEV_AUTH_TOOL>"Os argumentos desse comando são:
<PORT>é a porta que você configurou na Dev Auth Tool.<NAME_IN_DEV_AUTH_TOOL>é o nome das credenciais que você escolheu na Dev Auth Tool.
Código de troca
-AUTH_TYPE="exchangecode" -AUTH_PASSWORD="<EXCHANGE_CODE_FROM_LAUNCHER>"Os argumentos desse comando são:
<EXCHANGE_CODE_FROM_LAUNCHER>é o código de troca do Inicializador da Epic Games.
Fluxo de login com credenciais de contas externas
Esta seção descreve o fluxo de login para OSS SOE com uma conta externa. Você deve habilitar o SOE Plus para fazer login com uma conta externa.
Se os Serviços de Conta Epic e a Interface de conexão (EOS_Connect) estiverem habilitados, EOS_Auth_Login será chamado com as credenciais de conta externa para a plataforma não SOE, como Steam. Se o login falhar com um erro de usuário inválido (EOS_InvalidUser), EOS_Auth_LinkAccount será chamado. Essa chamada solicita que o usuário faça login na conta da Epic Games por meio de um navegador da web ou de uma sobreposição da interface de usuário. Esse login vincula a conta da Epic Games do usuário à conta externa não SOE.
Confira a seção Problemas identificados abaixo para obter mais informações sobre o processo de vinculação de contas.
Se os Serviços de Conta Epic não estiverem habilitados, mas a interface de conexão estiver habilitada, EOS_Connect_Login será chamado com as credenciais da conta externa.
A configuração do provedor de identidade é necessária para a interface de autenticação (EOS_Auth) e a interface de conexão. Para usar a plataforma externa desejada, adicione-a à lista de provedores de identidade no Portal de Desenvolvedores de Projeto do SOE. Se você configurou as plataformas corretamente no provedor de identidade, a autenticação do SOE deverá ser concluída com sucesso e desbloqueará o acesso a todas as funcionalidades de jogo do SOE. Para obter mais informações, confira a documentação Recursos para Desenvolvedores da Epic sobre Gerenciamento de Provedores de Identidade.
O SOE Plus deve estar habilitado para usar o login de conta externa.
Como usar os Serviços de Conta Epic
Se essa configuração estiver habilitada, o processo de login continuará como se Usar IDs de usuário multiplataforma também estivesse habilitado. O token de autenticação externa é adicionado ao conjunto de credenciais necessárias para o método de login, e o SOE tenta se autenticar chamando o método EOS_Auth_Login.
Interfaces
Esta seção fornece informações adicionais sobre as interfaces implementadas no plugin SOE do Subsistema On-line. Para obter informações mais detalhadas sobre cada uma dessas interfaces, consulte a documentação do Subsistema On-line. O plugin OSS SOE é compatível com as seguintes interfaces do SDK do SOE:
Interfaces compatíveis
| Interface do OSS SOE | Interface do SDK do SOE | Descrição |
|---|---|---|
Desbloqueie e confira o status das conquistas do usuário. | ||
Compre itens e verifique a propriedade desses itens. | ||
Exiba a sobreposição da interface de usuário. | ||
Verifique contas de usuário, incluindo login e logout. | ||
Crie e recupere tabelas de liderança. | ||
Informe amigos sobre as atividades atuais. | ||
Gerencie o pareamento baseado em sessão. | ||
Adicione ou remova jogadores da lista de amigos. Recupere listas de amigos. | ||
Atributos | Ingira e consulte atributos de usuário. | |
Arquivo de título | Baixe dados de títulos criptografados da nuvem. | |
Acesse informações de exibição do usuário. |
Sessões
ID do bucket
Nas sessões do OSS SOE, BucketId é um nível superior, com informações de filtro específicas do jogo para pesquisas de sessão. Para obter mais informações sobre o BucketId das Sessões, confira a documentação do SOE sobre Sessões.
O BucketId pode ser definido para qualquer coisa que seu projeto precise usando um atributo personalizado adicionado a FOnlineSessionSettings::Settings. Para fazer isso, adicione o seguinte ao código do seu projeto:
SessionSettings.Settings.Add(OSSEOS_BUCKET_ID_ATTRIBUTE_KEY, FOnlineSessionSetting(FString(TEXT("BUCKET_ID_PLACEHOLDER")), EOnlineDataAdvertisementType::ViaOnlineService));onde:
BUCKET_ID_PLACEHOLDERé o BucketId que você deseja usar.
Esse BucketId personalizado também precisa ser adicionado aos parâmetros de pesquisa da sessão de maneira semelhante.
Atributos
Nomes dos Atributos
O OSS SOE converte todos os nomes de atributos em maiúsculas antes de passá-los para o SOE. Ao configurar o projeto no Portal de Desenvolvedores do SOE, certifique-se de configurar os nomes dos atributos em letras maiúsculas para garantir a compatibilidade com o OSS SOE.
Problemas identificados
Vinculação de contas
No momento, a vinculação de contas durante o processo de login só está disponível na plataforma Steam. Se você tentar fazer login em qualquer outra plataforma, o seguinte erro de autenticação aparecerá no log:
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=[...]Essa funcionalidade estará disponível em outras plataformas em versões futuras. Enquanto isso, a vinculação manual de contas pode ser feita na aba Contas na seção Conexões das Configurações de Conta da Epic Games.
A conta Epic usada no processo de vinculação precisa aceitar os escopos de acesso do aplicativo (conforme descrito na seção Login com OSS SOE), ou este outro erro aparecerá no log:
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=[...]Após a vinculação da conta, os escopos de acesso são aceitos e, se a configuração de autenticação do SOE estiver correta, o login será concluído com sucesso e o aplicativo poderá usar todos os recursos adicionais do EAS.