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

我们将介绍设置Fish-Networking的免费开源网络代码并与Edgegap托管相结合的每一个步骤,以便您可以通过Unity的编辑器直接部署和托管自动化游戏服务器。让您的游戏在线并可在全球范围内轻松且快速地上线。

让我们开始吧!

第1章要求

确保一切正常运行有三个要求。

首先,请确保您使用的是最新的Fish-Networking插件;至少是v3及以上版本。它可以直接从Unity资产商店或GitHub下载。直接链接在说明中。

安装并从商店导入Fish-Net后,通过选择顶部菜单中的“窗口”,然后选择“Package Manager”访问它。

从下拉菜单中选择“我的资产”以查找Fish-Net插件。

对于新用户,我们强烈建议观看精彩的社区教程,以充分利用Fish-Net的功能。

第二,在Unity中,访问Unity的Hub以确认您已在项目中安装了“Linux Dedicated Server Build Support”模块。如果没有,只需点击该软件包并安装它。确保重启Unity以避免问题。

第三个也是最后一个先决条件是安装并运行Docker。它将您的游戏服务器打包,以帮助其更快地部署和运行。如果您尚未安装,可以观看我们的Docker安装视频,或访问Docket点com,按照安装程序进行操作。这很简单,只需几分钟。

第2章:Fish-Networking  

现在,让我们在Unity中开始吧!

从编辑器中,打开一个Fish-Net的示例项目——在我们的例子中,我们将使用Hash Grid演示,该演示为专用游戏服务器设置。

打开后,选择场景中的“Network Manager”游戏对象,并在组件检查器中,确认两个配置,即“后台运行”和“加载时不销毁”已启用。

在下方的“Tugboat”部分中,请注意“网络地址”当前应设置为“本地主机”。在Edgegap游戏服务器部署后,这将更改为托管地址。同样,“端口”值可能设置为默认的内部状态,例如在本例中为7112,这需要更新。

如果缺少“Tugboat”部分,请选择“添加组件”并输入Tugboat。它将在搜索下出现。

第3章Edgegap  

从顶部导航菜单中选择“工具”,然后点击“Edgegap托管”,这将打开插件窗口。

如果Edgegap不可用,即使它已打包为Fish-Networking 3.0及以后的版本的一部分,插件的最新版本可以直接从我们的GitHub页面下载。

此时,如果您看到“错误400”警告,这意味着您缺少或拥有过时版本的Newtonsoft。转到“窗口”,然后选择“Package Manager”。选择加号并选择“按名称添加软件包”。粘贴Newtonsoft包名称,可以在此YouTube视频的描述中找到。

要运行,您必须首先生成一个令牌。

为此,您必须创建一个Edgegap帐户。点击“获取令牌”按钮,将打开您的浏览器。

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

这是Edgegap应用程序的仪表板。我们强烈推荐通过导览探索它,但我们将在本视频中跳过。您的唯一OneClick令牌会自动弹出。只需点击剪贴板图标复制并直接粘贴到插件的文本框中。

然后,选择验证以确认令牌有效。“应用信息”选项卡现在自动打开。

如果您已经在我们平台有一个应用,请在文本框中输入其名称并作为现有应用加载它。如果没有,在本教程中,只需输入您的项目名称。必须为小写,无空格。

“创建应用”按钮现在已启用。选择它。这将打开“容器注册表”和“部署”选项卡。

容器注册表是存储您的游戏服务器容器的地方。需要确保端口和协议类型与您的网络代码传输的一致,以确保服务器正确监听连接。

此信息可以在网络管理器的检查器选项卡找到。这里是Fish-net的示例项目端口,位于视频早些时候的“Tugboat”传输下。

这里,协议类型是正确的,因为Fish-net的这个示例项目使用UDP。

如果您不确定要使用哪种协议类型,请参考您的网络代码文档以确认其使用的传输,或者根据您的特殊选择选择适当的选项。

“新版本标签”指的是您的服务器的唯一版本。此字段需要您的手动输入。建议每次更新游戏服务器时更改该值。

对于高级用户,Edgegap提供使用“自定义容器注册表”的选项。在本教程中,我们将使用Edgegap的默认选项。

接下来,选择“构建并上传”。这将自动将项目编译为专用Linux服务器,然后创建Docker容器并部署到Edgegap的注册表。

然后,创建新的部署。在“状态”下,您将看到进度。准备好后,会出现一个URL。通过点击剪贴板按钮复制它,然后在“Tugboat”组件下,将当前的“客户端地址”替换为粘贴的URL,并移除端口和冒号。

用Edgegap的URL中的新端口替换端口。

在编辑器左侧的“网络管理器”下,选择“网络 HUD 画布”并在“脚本”部分下,确保“自动开始类型”选项设置为“禁用”。

最后,通过点击编辑器顶部的播放按钮开始您的游戏场景。

恭喜,您的游戏现在上线,全世界都可以玩了!

第4章测试  

显然,首先进行测试。

在游戏场景中,选择“客户端”以测试您的部署是否与Edgegap托管的游戏服务器一起工作。

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

请记住,如果您希望制作新的游戏服务器构建,您将不得不将客户端地址、端口和自动启动类型更改回游戏服务器的相关信息。

这就是使用Fish-Networking网络代码和Edgegap插件提供自动化游戏服务器和简单托管服务给游戏开发者的全部内容。

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

或者加入Edgegap的Discord社区,与像您这样的游戏开发者一起开发和分享。

感谢您的观看!