
将专用游戏服务器添加到Mirror Networking的Pong示例——学习如何托管Unity多人游戏
在本视频中,我们将介绍如何从 Unity 的编辑器使用 Edgegap 简单部署一个游戏服务器,以便直接托管 Mirror Networking 的“Pong”多人示例供两个玩家使用。
让我们开始吧
第1部分 - 设置
从 Unity 的 HUB 开始一个全新的项目,选择“安装编辑器”并选择可用的最新版本。在录制时为 Unity 6.1。
创建并开始一个新的项目。
编辑器打开后,前往 Unity 的资产商店,确保您已登录,找到 Mirror Networking 项目并选择 “添加到我的资产”。
您的“包管理器”应自动打开。如果没有,在编辑器中从顶部导航栏选择“窗口”,然后选择“包管理器”。
打开后,选择“导入到项目”以将 Mirror Networking 添加到您的项目中。点击“安装/升级”
然后,Unity 会提示您导入它。再次选择“导入”。
恭喜,Mirror 已经在您的项目中,并且应该在编辑器左下方的“资产”导航菜单中可见。
要打开示例,请选择“Mirror”,然后选择“示例”,接着是“Pong”,最后是“场景”。打开“MirrorPong”场景。
在 Unity 的编辑器中的“游戏场景”中,确认场景已打开。
第2部分 - 创建游戏服务器并在 Edgegap 上托管
下一步是部署游戏服务器,以便玩家连接到主机并在线玩游戏。Edgegap 是一个为多人游戏量身定制的游戏服务器编排平台,帮助您轻松托管多人游戏。
首先,创建一个免费的 Edgegap 帐号。
前往“Edgegap.com”并选择“免费开始”。输入您的电子邮件和密码,并选择我们的条款。然后,您会立即收到一封验证邮件。点击“确认您的电子邮件”以验证您的帐户。最后,输入您的组织名称并确认。
这是 Edgegap 应用程序的仪表板。我们强烈建议通过导览来探索它,但我们将在本视频中跳过。
Edgegap 已经自动化了使用 Mirror Pong 示例创建应用版本的流程。虽然您可以手动创建版本,但只需前往我们的文档并选择“为您的应用程序创建新应用版本”链接,该链接也可在描述和评论中找到。
“创建应用程序”提示现在已預填。选择“创建应用程序”,然后选择“Mirror Pong Unity”按钮,自动填写应用程序的元数据。
然后向下滚动并选择“提交”。“创建端口”提示会突出显示正确的端口,即 7777 以及协议,在本例中为 UDP。向下滚动并选择“提交”。
创建应用程序后,下一步是创建一个玩家将连接到的游戏服务器部署。
从导航菜单中选择“部署”。然后,点击“创建部署”按钮。
您的最新应用程序及其版本已默认为 Mirror Pong 示例。选择您理想的区域,在我们的案例中为美洲,向下滚动并点击“部署”。
几秒钟后,游戏服务器的部署状态从“等待”变为“就绪”。
恭喜,您已经部署了第一个游戏服务器!
点击部署以打开其详细信息页面,此页面突出显示游戏服务器的部署位置。
请确保在“主机”部分记下玩家必须连接到的 URL。记下用于测试的外部端口也很重要。
第3部分 - 测试
要测试多人游戏,您需要不止一个玩家。为了模拟这一点,您需要“多人游戏模式”包。
返回 Unity 的包管理器,选择“Unity 注册表”选项卡并向下滚动查找它。或者输入“多人游戏模式”。安装包。
安装完毕后,返回您的游戏场景。然后,从顶部导航栏选择“窗口”和“多人游戏模式”以打开编辑器。
在“虚拟玩家”下选择您需要的玩家数量。在本教程中,我们将有两个。选择并保存您的选择。
倒数第二步是启动 Unity 的游戏场景。
加载后,表示“玩家1”的游戏场景和表示玩家2的多人游戏模式窗口都应该正常运行。
我们将移动每个窗口以使事情更易于查看,但这纯属可选。
在两个窗口中,将“localhost”替换为游戏服务器部署的主机 URL。只需返回详细信息页面并复制 URL 然后粘贴。
返回详细信息页面,现在选择“外部端口”并将其粘贴到玩家1(编辑器)和玩家2(多人游戏模式)中。
在两个玩家的窗口中,选择“客户端”以使每个玩家连接到游戏服务器。
如您所见,两个玩家都已连接到游戏服务器,并且游戏与每个玩家的输入同步。
如果您在控制台中遇到有关输入的错误,我们建议从包管理器卸载“输入系统”以解决此问题。
恭喜,您现在正在使用 Mirror Networking 的传输来通过 Edgegap 的游戏服务器托管平台进行多人在线游戏。
Mirror 的示例是学习网络的绝佳工具。
在您的开发之旅中的下一步是为您自己的 Unity 项目创建游戏服务器。
我们的 Unity 游戏服务器教程在 YouTube 上可观看,可以在屏幕上看到,并展示每一步使您的游戏上线并让玩家连接到它。
Edgegap 还提供了一个匹配器,其教程也在此屏幕上链接。
