如何将专用游戏服务器添加到 Godot 引擎 - Edgegap 插件

本教程将介绍如何为任何 Godot 多人游戏部署和托管专用游戏服务器,并使用 Edgegap 插件直接从 Godot 编辑器中实现全球在线玩家可玩。

与此同时,我们建议您参考我们的文档

让我们开始吧。

第 1 部分 - 设置

在我们开始之前,有几个准备工作。

首先,下载并安装 Docker,它用于将游戏服务器容器化。数以百万计的开发者和全球最大的公司都在使用 Docker。

其次,使用与该插件兼容的 Godot 版本,最好是 Godot 4 及以上版本。

第三,使用已为专用服务器设置好的项目或网络代码。在本教程中,我们使用的是 “Forest Brawl”,这是来自 “netfox” 网络代码的多人游戏示例,它已经为专用服务器设置好了。任何为专用服务器设置好的 Godot 项目都可以与该插件配合使用。

第 2 部分 - Edgegap:游戏服务器托管与编排

在 Godot 中打开您的项目,第一步是添加 Edgegap 插件。

我们建议从 Godot 资源商店(Asset Store)进行安装:

  1. 选择顶部的 "AssetLib"。

  2. 搜索 "Edgegap Servers Quickstart"。

  3. 选择 "Download"(下载),然后选择 "Install"(安装)。

您也可以手动安装它:从 GitHub 下载该插件,并将其文件夹移动到项目的 addons 子文件夹中。

然后启用它。在 "Project"(项目)、"Project Settings"(项目设置)、"Plugins"(插件)下,找到 Edgegap 并将其激活。属性检查器(Inspector)旁边会出现一个新的 "Edgegap" 标签页。如果没有出现,请选择 "Project",然后在 "Tools"(工具)下选择 "Edgegap Game Server Hosting"(Edgegap 游戏服务器托管)。

连接您的账户。在插件中,选择 "Get token"(获取令牌)。浏览器将打开 Edgegap 平台。使用您选择的 SSO 提供商进行登录,如果收到提示,请创建一个组织。随后将出现 Edgegap 控制面板(欢迎您对其进行探索),它会自动提供您的专属令牌。复制该令牌,返回 Godot 编辑器并将其粘贴;插件会自动对其进行验证。如果没有自动验证,请选择 "Validate Token"(验证令牌)。

安装导出模板。在构建之前,该插件需要 Godot 的 Linux 导出模板。选择 "Validate Export Templates"(验证导出模板);如果缺少这些模板,请选择 "Open Export Presets"(打开导出预设)并选择 "Download & Install"(下载并安装)。您只需要 Linux 服务器模板,因为 Edgegap 的服务器运行在 64 位 Linux 上;在不提供单项选择的平台上,安装完整的模板包也是可以的。

构建您的游戏服务器。在 "Build Your Game Server"(构建您的游戏服务器)部分,选择 "Export server"(导出服务器)。几秒钟后,导出就会成功。

容器化您的服务器。在 "Containerize Your Server"(容器化您的服务器)部分,通过选择 "Validate Docker"(验证 Docker)来确认 Docker 正在运行。在本教程中,我们将跳过所有可选参数,但高级用户可以在我们的文档中找到详细信息。选择 "Containerize with Docker"(使用 Docker 容器化);稍等片刻,容器化即告成功。您可以在此处在本地测试服务器,但在本教程中,我们将直接进行在线测试。

上传到 Edgegap。选择 "Upload image and create App version"(上传镜像并创建应用版本)。这会将您的服务器镜像推送到 Edgegap 并创建其应用程序版本。您可以在版本页面上编辑资源使用情况,但我们将保留默认值并选择 "Submit"(提交)。在 "Create Port"(创建端口)步骤中,针对此网络代码,将端口保持设置为 7777,协议保持设置为 UDP。对于其他网络代码,这可能会有所不同;请务必查看您的网络代码文档,以获取适合您使用场景的准确端口。

部署到云端。在最后一个部分中,确认已选择正确的应用程序和版本,然后选择 "Deploy to Cloud"(部署到云端)。加载几秒钟后,您的游戏服务器就准备就绪了。

恭喜,您的游戏服务器现在已在 Edgegap 上上线,供全世界玩家游玩!

第 3 部分 - 测试

当然,首先要进行测试。

打开部署的详情页面。其中包含大量信息,但您需要的是服务器的“主机 (Host)”地址和其外部“端口 (Port)”。复制它们。

回到 Godot,启动游戏,并从主菜单选择“在局域网玩 (Play on LAN)”。将地址替换为您部署的主机地址,端口替换为详情页面中的外部端口。选择“连接 (Connect)”。您现在已连接到运行在云端的专用游戏服务器。

多人游戏通常有多个玩家,您需要对此进行模拟。Godot 已内置此功能。前往“调试 (Debug)”,然后选择“自定义运行实例 (Customize Run Instances)”,启用多个实例,将数量设置为两个,然后确认。启动时,会打开两个游戏窗口。让第一个窗口像之前一样进行连接,然后再连接第二个。

恭喜,您现在有两位玩家在线游玩您的游戏,他们的动作在彼此的游戏中得到了复制。

完成后,请记得通过插件或控制面板停止您的部署。

第 4 部分 - 后续步骤

以上就是 Edgegap 的 Godot 插件的全部内容,它为游戏开发者提供了自动化游戏服务器和简单的托管服务。

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

如果您有任何问题,请加入我们的 Discord

轻松在线游戏,尽在数分钟内

立即开始集成!

轻松在线获取游戏
及分钟内完成