Mirror Networking 插件 - 自动化游戏服务器托管 - Unity 教程

我们将介绍如何在您的项目中设置Mirror Networking的免费开源网络代码与Edgegap的托管服务结合使用,直接从Unity的编辑器中部署和托管自动化游戏服务器,以在数秒内将您的游戏上线并在全球范围内可玩。

让我们开始吧。

第一章:设置

在使用插件之前,有三个要求以确保Unity适用于专用服务器。

首先,请确保您使用的是最新的Edgegap插件。

虽然Edgegap可在Unity资产商店中找到,但通过“Git”方法直接从Unity编辑器添加并保持Edgegap的最新是更简单的方式。

在Unity编辑器中,选择“窗口”,然后选择“包管理器”。 点击“+”按钮并选择“从git URL添加包”。 然后,输入GIT URL,即“https://github.com/edgegap/edgegap-unity-plugin.git”。

最后,点击“添加”,该包将自动下载并添加到您的项目中!

其次,前往Unity Hub确认您已在项目中安装了所有三个“Linux Dedicated Server Build Support”模块。 如果没有,只需点击该包并安装即可。

第三个也是最后一个先决条件是安装和运行Docker。 它将您的游戏服务器容器化以帮助其更快地部署和运行。 安装Docker很容易,只需几分钟,只需前往Docker.com,并按照安装步骤操作。

现在,让我们开始吧!

第二章:Edgegap的Unity插件

加载您的项目。在我们的案例中,我们使用的是Mirror Networking的坦克示例项目,该项目已经为专用游戏服务器进行了设置。任何为专用服务器设置的项目都可以使用Edgegap的插件。

从顶部导航菜单中,选择“工具”,然后点击“Edgegap Server Hosting”以打开插件的窗口。

要使其有效,您首先必须生成一个令牌。

为此,您只需要一个Edgegap帐户。 点击“登录Edgegap”按钮,这将打开您的浏览器。

如果您没有帐户,注册是免费的,只需几秒钟。 在底部选择“开始使用”,然后输入您的电子邮件和密码并同意我们的条款。 您会立即收到一封验证电子邮件。 点击“确认您的电子邮件”以验证您的帐户。 最后,输入您组织的名称并确认。   

这是Edgegap应用程序的仪表板。我们强烈建议您通过巡演探索它,但我们将为此视频跳过。自动会弹出具有您唯一OneClick Token的弹出窗口。只需点击剪贴板图标将其复制,并直接粘贴到插件的文本框中。

然后,选择“验证令牌”。如果令牌有效,“构建服务器”标签会自动打开。

首先,您可以验证Linux依赖项是否正常。

对于已建立的项目,请确保编辑Unity构建设置以支持专用服务器。

可选地,改变您的构建文件夹名称。

然后,选择“构建您的服务器”。 

一旦服务器构建过程成功,转到第三步——容器化您的游戏服务器。

首先,检查Docker是否在运行。

然后,这里的每个字段都已经填充好了。 对于高级用户,它们可以用于调整构建路径,镜像名称,镜像标签和dockerfile路径。 对于大多数人,包括这个初始教程视频,我们将保持默认设置。 

我们开始吧。选择“用Docker容器化”。

几分钟后,您的容器化应该成功。

让我们在本地部署,即在您的机器上,以确保服务器镜像在我们上传和部署之前正常工作。 确保阅读我们的文档以了解更多这些细节。

我们将为此视频跳过它。

不过,请确保记下端口号,这里是7777,以及协议类型——在这种情况下是UDP,以备后用。

现在是时候将您的服务器上线到我们的平台容器注册表并使您的游戏在全球范围内可玩了。

应用名称,服务器镜像名称和标签提供了更多的自定义选项,但我们这里再次保持默认设置。

点击“上传镜像并创建应用版本”,几秒钟后,平台的浏览器会打开。您可以再次配置可选设置,包括vCPU资源使用、内存等,但我们将以默认设置创建一个新版本。

现在,您将被提示为您的新应用版本定义一个端口。 确保设置与“本地测试您的服务器”步骤相同的服务器端口值。 点击“提交”。

我们将直接从平台部署服务器。 虽然您可以从网络平台部署服务器,但返回到插件以从Unity部署。

在“部署服务器到Edgegap”部分中,应用名称会自动填充,选择要部署的来自平台的版本。 点击“部署到云”,经过几秒钟的等待,您的游戏服务器现在可供世界各地的人们玩了。

恭喜!

第三章 - 测试

显然,在项目中测试一些东西。

Mirror样本有其自己的简单测试,并且每个项目可能都是独特的。 在我们的案例中,从平台选择部署,并复制主机的URL并记下外部端口。 然后,在引擎中,关闭插件窗口并启动项目。 一旦运行,将客户端的地址替换为主机的URL,并更改为从部署中的外部端口。最后启动服务器,它即可连接部署。

测试完毕后,返回到Edgegap插件,通过选择“停止服务器”自动停止服务器实例。

这就是Edgegap的Unity插件,它为游戏开发者提供了自动化的游戏服务器和简单的托管。

您游戏开发的下一个可能步骤是连接玩家。要了解更多关于Edgegap的免费、简单和完全自动化的matchmaker的信息,您可以查看我们的教程。