文章摘要
UE5 提供了一款名为 Lyra 的 TPS 游戏作为示例游戏。
这个游戏是使用虚幻引擎的各种功能实现的,当然也包括网络匹配功能。
默认只有局域网比赛,Epic Games提供的线上平台史诗在线服务通过将后端替换为 ,您可以轻松地通过 Internet 进行比赛。
Lyra 以名为 CommonUser 的插件的形式实现在线功能。
在 CommonUser 插件中,通过设置在内部使用在线子系统可以切换。
CommonUser 插件支持 OSS 未涵盖的高级游戏会话流,旨在提供原始在线功能。
请参阅下面的详细资料。
https://docs.unrealengine.com/5.0/ja/common-user-plugin-in-unreal-engine-for-lyra-sample-game/
Lyra 有 EOS 的设置,您可以通过激活它轻松切换到 EOS。
在本文中,我会将下面博客中解释的内容翻译成日文,并解释以 EOS 为后端运行 Lyra 的过程。
https://dev.epicgames.com/community/learning/tutorials/375e/using-epic-online-services-with-lyra-starter-game
此外,UE5 还计划改进 OnlineSubsystem,该系统目前处于试验阶段,但已作为 OnlineServices 插件实现。
我还将在这里向您展示如何替换它。
设置 EOS 开发者门户
为了使用 EOS,需要在 Epic Games(开发者门户)为开发者提供的网站 Developer Portal 上创建/配置必要的资源。
-
开发者门户创建自己的组织。
1.1 在每个组织内,每个游戏都可以通过创建与游戏对应的“产品”来访问EOS服务。 -
在 DevPortal 上创建新产品
2.1 创建一个产品,这次叫做“LyraTestProduct” -
打开已创建产品的详情页面,从“产品设置”中创建各种资源
3.1 单击“客户端”选项卡中的“添加新客户端策略”
3.2 策略类型选择“Peer2Peer”
3.3 点击“添加新客户”
3.4 设置3.2中创建的客户端策略 -
设置 Epic 账户服务
4.1 在您的 Epic 帐户服务详细信息页面中,单击“创建应用程序”
4.2 在“权限”中启用“在线状态”、“好友”
4.3 在“Linked Clients”中链接3中创建的客户端至此,EOS端的必要设置就完成了。
在“产品配置”页面中,可以列出配置 OSS 所需的每个参数。对于实际投放市场的游戏,需要在 Epic 账号服务中完成“品牌化”,但像这样的测试使用,则没有必要。
获取 UE5 源码
因为我们在打包 Lyra 时调整了构建过程,所以我们需要从源代码构建虚幻引擎。
如果您可以访问 Perforce,则可以从那里获取源代码,如果没有,则可以从 GitHub 获取。有关详细说明,请参见下文。
https://docs.unrealengine.com/5.0/ja/downloading-unreal-engine-source-code/*从 GitHub 下载源码时的注意事项
目前可供下载的 Lyra(2022 年 4 月 5 日)在使用“ue5-main”分支的最新源代码时出现编译错误。
从标签“5.0.3-release”下载它作为 zip 或 tar.gz,而不是从分支下载。
https://github.com/EpicGames/UnrealEngine/releases/tag/5.0.3-release安装 Visual Studio
安装 Visual Studio 2019 或 2022 以构建源代码。
安装时包括以下组件。- C++ 分析工具
- C++ 地址清理程序(可选)
- Windows 10 SDK(10.0.18362 或更新版本)
- 虚幻引擎安装程序
另外,安装UnrealVS扩展也方便开发。
安装程序位于上一节下载的 UE 源文件夹下的 Engine\Extras\UnrealVS\。
有关详细说明,请参见下文。
https://docs.unrealengine.com/5.0/ja/using-the-unrealvs-extension-for-unreal-engine-cplusplus-projects/安装天琴座
如果您从 Perforce 下载 UE5 源
Samples 下有一个 Lyra 项目,请在此处构建。
如果您从 GitHub 下载 UE5 源
您需要从 Epic Games Launcher 中单独下载 Lyra Starter Game。
- 从“Unreal Engine”=>“Samples”,选择 Lyra Starter Game
- 点击“创建项目”
- 设置安装文件夹为上一节下载的UE源的根文件夹
- 在 UE 根文件夹中运行 setup.bat
- 在 UE 根文件夹中运行 GenerateProjectFiles.bat
- 在 Visual Studio 中打开 UE5.sln
完成至此的步骤后,您应该可以在 Visual Studio 的解决方案探索的“游戏”下看到一个名为 LyraStarterGame 的项目,让我们来构建它。
设置 EOS 参数
Lyra 有自己的自定义配置,设置为使用 EOS。
它位于 Config/Custom/EOS 文件夹下,包括启用 OnlineSubsystemEOS 和替换 NetDriver 等设置。通过在启动时指定“-customconfig=EOS”作为参数,将从该配置文件中读取设置。
默认情况下,写入 EOS 工件设置的行被注释掉,因此删除以下行开头的冒号 (;) 以启用设置。
";+Artifacts=(ArtifactName=..."激活设置后,将各种 ID/Secret 值替换为 EOS Developer Portal 中创建的资源值。
EOS 开发者认证工具设置
启动游戏后登录EOS有多种方式,但这次我们将使用开发者认证工具。
这是一个在本地运行的网络服务器,通过在这个工具上登录你的 Epic 账户,你可以获得使用 HTTP 登录所需的认证信息。- 从开发者门户的 SDK 页面下载最新的 EOS SDK
- 解压拉链解压
- SDK\Tools\EOS_DevAuthTool-win32-x64-1.1.0.zip
- 启动 EOS_DevAuthTool.exe
当你启动这个工具时,会要求你指定本地运行的端口,所以这次是8080。
然后登录任何 Epic 帐户并提供一个名称以获取您的凭据。 (示例中的“Player1”)使用带有 EOS 的 Lyra 启动
在 Visual Studio 上,将以下参数添加到命令行并执行调试。
(将 -AUTH_LOGIN 的端口号和 -AUTH_PASSWORD 的用户名酌情替换为上一节中指定的值。)-game -customconfig=EOS -AUTH_LOGIN=localhost:8080 -AUTH_PASSWORD=Player1 -AUTH_TYPE=开发者
如果一切设置正确,Lyra 应该会成功启动并自动将您登录到 EOS。
右上角显示登录完成弹窗后,按下“Shift+F3”即可显示社交叠加,如下图。包装 LyraGameEOS
一旦你可以在调试运行中没有问题地登录到 EOS,让我们打包 LyraGameEOS。
- 从 Visual Studio 命令行中删除项目名称后的所有参数,然后调试运行以在编辑器中启动 Lyra 项目
- 从“平台”=>“Windows”=>选择“LyraGameEOS”作为构建目标
- 选择“Platform”=>“Windows”=>“Package Project”并指定适当的输出文件夹
通过选择“LyraGameEOS”作为构建目标,您可以使用-CustomConfig=EOS以嵌入在可执行文件中的形式打包。
请注意,打包的游戏必须在运行开发者认证工具的情况下启动,才能获取认证信息。
与调试执行类似,可以通过在启动游戏时传递适当的参数来进行身份验证。
-AUTH_LOGIN=localhost:8080 -AUTH_PASSWORD=播放器1 -AUTH_TYPE=开发者通过以上步骤,EOS 可以作为 Lyra 的后端。
如果你有指定的EOS资源(ID/Secret),你也可以对战互联网,所以请尝试一下。附录:在线服务的替换
目前,UE5 正在开发一个 OnlineServices 插件,用于改进 OnlineSubsystem(BP 支持、简化描述方法等)。
虽然仍处于试验阶段,但可以通过更改设置来代替 CommonUser 插件中的 OnlineSubsystem。使用 Lyra 的 Online Services 界面的过程如下。
- 在 LyraStarterGame\Plugins\CommonUser\Source\CommonUser\CommonUser.Build.cs 中,b使用在线子系统V1假的
- 在 Config/Custom/EOS 下的 DefaultEngine.ini 中禁用 OnlineSubsystemEOS
[OnlineSubsystemEOS] bEnabled=false [OnlineSubsystemEOSPlus] bEnabled=false- 注释掉OSSv1配置
;For OSSv1, fill in the following line ... ;+Artifacts=...- 启用 [OnlineServices.EOS] 设置并将其指向适当的 EOS 资源。
(*如果你下载了5.0.3的源码,【OnlineServices.EOS】前面还有一个“+”,请删除。);For OSSv2, fill in the following lines with actual details and then uncomment [OnlineServices.EOS] +ProductId=PRODUCTID +SandboxId=SANDBOXID +DeploymentId=DEPLOYTMENTID +ClientId=CLIENTID +ClientSecret=CLIENTSECRET通过更改上述设置,将使用 OnlineServicesEOS 插件代替 CommonUserSubsystem 中的 OnlineSubsystemEOS。
游戏画面上并没有什么特别的区别,但是如果看一下CommonUserSubsystem/CommonSessionSubsystem等,就可以看出实现上的区别。
- 启用 [OnlineServices.EOS] 设置并将其指向适当的 EOS 资源。
- 注释掉OSSv1配置
- 在 LyraStarterGame\Plugins\CommonUser\Source\CommonUser\CommonUser.Build.cs 中,b使用在线子系统V1假的
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308622834.html