
Fish-Networking 插件 - 自动化游戏服务器托管 - Unity 教程
我们将介绍每个步骤,以结合Edgegap托管为您的项目设置Fish-Networking的免费开源网络代码,以直接从Unity的编辑器部署和托管自动化游戏服务器。这样可以让您的游戏在线,并且可以轻松地在全球范围内进行游戏,仅需几分钟。
让我们开始吧!
有三个要求,以确保一切正常。
首先,请确保您使用的是最新的Fish-Networking插件;至少是v3及以上版本。可以直接从Unity资产商店或GitHub下载。描述中有直接链接。
一旦从商店安装并导入Fish-Net后,通过选择顶部菜单中的“窗口”,然后选择“包管理器”来访问它。
从下拉菜单中选择“我的资产”以找到Fish-Net插件。
对于新用户,我们强烈推荐观看社区的精彩教程,以充分利用Fish-Net的功能。
其次,在Unity中,前往Unity中心,确认您的项目中安装了“Linux专用服务器构建支持”模块。如果没有,只需点击软件包并安装它。确保重新启动Unity以避免问题。
第三个也是最后一个前提是安装并运行Docker。它将您的游戏服务器容器化,以帮助更快地部署和运行。如果您还没有,您可以观看我们的Docker安装视频,或者访问Docker.com并遵循安装程序。非常简单,只需几分钟。
现在,让我们在 Unity 中开始吧!
从编辑器中,打开 Fish-Net 的示例项目之一 – 在我们的例子中,我们将使用为专用游戏服务器设置的 Hash Grid 演示。
打开后,选择场景中的“Network Manager”游戏对象,在组件检查器中,确认启用了“Run in Background”和“Don’t Destroy On Load”两个配置。
在下方的“Tugboat”部分,注意“Network Address”当前应该设置为“Local Host”。在 Edgegap 游戏服务器部署后,这将替换为托管地址。同样,“Port”值可能设置为默认的内部状态,如本例中的 7112,需要更新。
如果缺少“Tugboat”部分,请选择“Add Component”并输入 Tugboat。它会在搜索中出现。
从顶部导航菜单中,选择“Tool”,然后点击“Edgegap Hosting”,这将打开插件窗口。
如果 Edgegap 不可用,即使它从 Fish-Networking 3.0 开始打包,可以直接从我们的 GitHub 页面下载到插件的最新版本。
此时,如果您看到“Error 400”警告,这意味着您缺少或版本过旧的 Newtonsoft。转到“Window”,然后选择“Package Manager”。选择加号,并选择“Add package by name”。粘贴 Newtonsoft 包名,可以在此 YouTube 视频的描述中找到。
要运行,您首先必须生成一个令牌。
为此,您必须创建一个 Edgegap 账户。点击“Get a Token”按钮,这将打开您的浏览器。
注册是免费的,只需几秒钟。首先,在底部选择“Get Started”,然后在登录屏幕输入您的电子邮件和密码,并同意我们的条款。然后您将立即收到一封验证电子邮件。点击“Confirm Your Email”以验证您的账户。最后,输入您的组织名称并确认。
这是 Edgegap 应用程序的仪表盘。我们强烈建议您通过游览来探索它,但我们将在此视频中跳过。您的独特的 OneClick Token 会自动弹出。只需点击剪贴板图标复制并直接粘贴到插件的文本框中。
然后,选择验证以确认令牌有效。“Application Info”选项卡现在会自动打开。
如果您已经在我们平台上有一个应用程序,请在文本框中输入其名称并将其作为现有应用加载。如果没有,这是本教程中的情况,直接输入您的项目名称。必须是小写且无空格。
“Create Application”按钮已启用。选择它。这将打开“Container Registry”和“Deployment”选项卡。
容器注册表是存储您的游戏服务器容器的地方。您只需确保端口和协议类型与您的 netcode 传输协议相符,以确保服务器能够正确监听连接。
此信息可以在网络管理器的检查器标签中找到。这是 Fish-net 的示例项目端口,位于视频中的“Tugboat”传输下。
这里协议类型是准确的,因为 Fish-net 的这个示例项目使用 UDP。
如果不确定使用哪种协议类型,请参阅网络代码的文档以确认其使用的传输,或者根据您的独特选择选择合适的选项。
“New Version Tag”指的是服务器的唯一版本。此字段需要您手动输入。我们建议每次更新游戏服务器时更改此值。
对于高级用户,Edgegap 提供使用“Custom Container Registry”的选项。对于本教程,我们将使用 Edgegap 的默认选项。
接下来,选择“Build and Push”。这会自动将项目编译到专用的 Linux 服务器,然后创建一个 Docker 容器并部署到 Edgegap 的注册表中。
然后,创建一个新的部署。在“Status”下,您将看到其进度。准备就绪后,会出现一个 URL。点击剪贴板按钮复制它,然后在“Tugboat”组件下,通过粘贴 URL 替换当前的“Client Address”,并去掉端口和冒号。
用 Edgegap URL 中的新端口替换端口。
在左侧编辑器的“Network Manager”下,选择“network HUD Canvas”,在“Script”部分,确保“Auto Start Type”选项设置为“Disabled”。
最后,点击编辑器顶部的播放按钮开始您的游戏场景。
恭喜,您的游戏现在可供全球玩家在线玩了!
显然,先测试事物。
在游戏场景中,选择“客户端”以测试您的部署是否与由Edgegap托管的游戏服务器配合良好。
完成测试后,返回到Edgegap插件,通过选择“停止服务器”来停止服务器实例。
请记住,如果您想制作新的游戏服务器构建,您必须将客户端地址、端口和自动启动类型改回游戏服务器的相关信息。
这就是使用Fish-Networking网络代码的Edgegap插件的全部内容,它为游戏开发者提供自动化的游戏服务器和简单的托管。
您游戏开发的下一个可能步骤将是连接玩家。有关 Edgegap 免费、简单且完全自动化的配对程序的更多信息,您可以查看我们的教程。
或者加入 Edgegap 的 Discord 社区,与像您一样的游戏开发人员进行开发和分享。
感谢您的观看!
