如何在几分钟内为Unreal Engine添加专用游戏服务器托管

在本教程中,我们将介绍为任何Unreal项目添加专用游戏服务器的最简单和最快速的方法的每一步骤。Edgegap的Docker扩展是唯一的解决方案,它帮助你跳过从源代码构建Unreal的极不可靠过程,这意味着添加游戏服务器只需几分钟而不是几个小时。为您节省大量时间。

除了本视频,我们建议参考我们的文档

让我们开始吧。

第一部分 - 设置

第一部分 - 设置

第一部分 - 设置

有五个简短的要求来设置您的项目。

第一步是创建您的免费Edgegap账户。只需前往app.edgegap.com,选择您的登录方式,例如Google或GitHub,如图所示,并创建您的组织。

第二步是安装并运行Docker桌面。Docker被数百万用户和组织使用。只需下载并按照安装步骤操作。

第三步是下载Edgegap的Docker扩展。使用文档中的链接,或视频评论中的链接,或直接在Docker的扩展市场中,选择“安装”。加载几秒钟后,扩展即可使用。

第四个要求是访问Unreal Engine在GitHub上的资源。Epic Games本身在他们的网站上概述了这个过程,但简短的版本是登录或创建一个GitHub账户。然后,在您的Epic Games账户中,选择“Linked Account”菜单,并将您的Epic Games账户关联到GitHub,如此操作。查看许可协议并同意条款。在后续弹出窗口中选择“授权Epic Games”。最后,您将收到来自GitHub的电子邮件,邀请您加入“@EpicGames”组织。点击链接并选择“加入Epic Games”按钮。

最后一步是生成您的GitHub个人访问令牌。使用我们文档中或评论中的URL,为将来参考输入一个备注,并选择“readpackage”复选框。向下滚动页面并点击“生成令牌”。

第 2 部分 - Edgegap:游戏服务器托管与调度

第 2 部分 - Edgegap:游戏服务器托管与调度

第 2 部分 - Edgegap:游戏服务器托管与调度

现在我们来谈谈Unreal。 

在这个例子中,我们将使用Unreal Engine的多人样本——Lyra。

首先,只需选择“添加到我的库”按钮。

样本将出现在Epic Games Launcher的Unreal Engine标签下的Fab库部分。只需为Lyra选择“创建项目”。或者在这里打开您自己的个人项目,如果这是您正在使用的。

在这里,我们将选择计算机上的项目名称和位置。然后选择“创建”以初始化项目。

过了一段时间,项目出现在我们的Unreal库中。打开它。

这是Unreal Engine编辑器中的Lyra。

为了指引Unreal使用哪个地图作为游戏服务器,我们将进入“项目设置”,然后选择“地图和模式”,最后选择“ShooterGym”作为服务器的默认地图,如下所示。加载可能需要几秒钟。 

现在,让我们为Linux专用服务器配置项目。

首先,打开Edgegap的游戏服务器Docker扩展。

输入您的项目名称和Edgegap令牌。如果您没有来自您帐户的,选择“获取快速启动令牌”,这将打开您的浏览器到Edgegap的仪表板(如果您已登录)。只需复制弹出窗口中的令牌。

回到扩展,粘贴令牌。“验证令牌”按钮应出现,点击它确认其有效性。

自动地,您的平台被选择,即Unreal Engine。

通过选择“浏览”按钮并在您的文件夹中选择项目位置来将项目添加到扩展。

选中后,点击“创建项目”按钮以开始构建您的游戏服务器阶段。

自动地,扩展程序会预填您的项目使用的Unreal Engine版本。

现在,输入您的GitHub账户用户名。

然后,粘贴您先前生成的GitHub个人访问令牌。如果正确,它将自动验证。

无论您的机器操作系统如何,您都需要构建您的Linux服务器。为此,我们必须禁用Unreal Engine的版本兼容性检查,以便于专用服务器,并设置IpNetDriver作为默认驱动程序或复制网络的备用驱动程序。

从我们的文档中复制代码片段。

然后,前往引擎的默认配置文件。在您的项目中,它应位于“Config”文件夹下,并命名为“DefaultEngine.ini”。使用您喜欢的IDE打开文件。

在这里,只需将完整的代码片段粘贴到文件的末尾。

接下来,我们必须创建一个专用服务器目标脚本,通过复制项目根文件夹中的<PROJECT>Editor.Target.cs文件,将副本重命名为<PROJECT>Server.Target.cs。在您的服务器目标脚本中,将任何对“Editor”一词的引用替换为“Server”。对于Lyra,我们已经有这个目标文件,让我们只需添加这个代码片段以在发布版本中启用日志。

具体来说,这个文件应该在项目的“Source”文件夹下找到,并在这里命名为“LyraServer.Target”。如您所见,没有“Editor”字样的引用,只有“Server”。我们可以在文件末尾粘贴代码片段。

返回Edgegap的Docker扩展,以验证配置输入正确。选择“验证配置”按钮。

如果您正确完成了此步骤,所有三个配置都应该有一个绿色的勾号。

这允许我们进入游戏服务器构建阶段。

在这里我们可以查看或编辑“Dockerfile”、“dockerignore”和“StartServer.sh”文件。虽然有用,但在这个例子中我们会保留所有默认设置。

接下来是您的Docker构建。这包括镜像名称和标签。我们也将保持默认。

让我们开始构建项目,选择“构建项目”按钮。正如您所见,过程自动开始。

恭喜,您已将专用游戏服务器添加到您的游戏中!

第三部分 - 测试

第三部分 - 测试

第三部分 - 测试

一旦构建过程完成,我们就可以准备在本地测试服务器。

从“标签”下拉菜单中选择最新版本。

然后,只需选择“启动本地服务器”即可作为容器在您的Docker上部署服务器进行本地游玩。

为了验证,我们将返回到我们的Lyra示例。在“播放”按钮旁的下拉菜单中,我们将选择“新编辑 + 窗口”以生成一个玩家。

回到主编辑器,键入“open”并附上本地容器的端口映射。这被硬编码为127.0.0.1 : 7777。

然后,打开早些时候创建的窗口,Lyra示例正在将自己连接到本地容器化的游戏服务器。证明其有效,如屏幕所示。

我们将在编辑器中停止游玩并开始将游戏服务器部署到Edgegap的边缘网络的过程。

返回到Docker扩展并停止本地服务器。

最后一步是将容器化的游戏服务器部署到Edgegap的平台。

选择您想要部署的版本并点击“上传镜像”。

几秒钟后,新的浏览器窗口会弹出,提示您创建一个应用程序。

名称已预填,您可以选择一个您喜欢的图标。点击“创建应用程序”以继续。

这是您的游戏服务器的部署参数,包括资源需求。虽然可以自定义,但现在我们会保持默认设置。

向下滚动并选择“提交”。

这是“创建端口”选项,您可以选择端口和协议。同样,我们现在将使用默认值7777和UDP协议。选择“提交”。

再次返回Docker扩展,并在“Edgegap应用程序版本”下,打开下拉列表并确保名称与您刚创建的部署匹配。

点击“云部署”以部署您的游戏服务器。这是您的部署详细信息窗口。向下滚动以查找您的主机URL和服务器的外部端口。

复制URL。

返回到Unreal编辑器。再次选择“新编辑 + 窗口”以生成一个玩家。

现在,键入“open”并粘贴从部署详细信息页面得到的URL。

就是这样,Lyra功能正常。恭喜,您正在玩多人在线游戏!

可选地,您可以返回到Docker扩展并停止用于测试的部署。

第4部分 - 下一步

第4部分 - 下一步

第4部分 - 下一步

这就是 Edgegap 的 Docker 扩展对于 Unreal Engine 的全部内容,它为游戏开发者提供了一种简单的方式来在线添加和管理游戏服务器。

在您的游戏开发中,下一步可能是自动启动和停止服务器,以及连接玩家。如需了解有关 Edgegap 免费、简单且完全自动化的匹配器的更多信息,您可以查看我们的教程。

确保加入我们的 Discord