
如何使用 Edgegap 的分支版本向 Unity NGO Boss Room 示例添加专用服务器
本教程将介绍如何使用 Edgegap 的派生版本 (fork) 将专用服务器添加到 Unity 的 NGO Boss Room 示例中,以便你可以在全球范围内,根据需求在靠近玩家的地区启动服务器。原版 Unity 示例仅通过大厅进行点对点运行;而此派生版已准备好作为专用服务器运行,并已集成了 Edgegap 的 Unity 插件。
我们还建议你参考我们的文档。
第 1 部分 - 设置与安装
在 Unity 中打开任何内容之前,我们需要克隆项目。这需要 Git 和 Git LFS。Git LFS 用于拉取示例的大型美术资源,如果没有它进行克隆,您将得到一个空项目。在 macOS 上,我们通过 Homebrew 安装这两者。
安装适用于您操作系统的先决条件:
macOS
Linux (基于 Debian/Ubuntu)
Windows (PowerShell)
确认已安装这些工具:
现在克隆项目。我们将其保存在一个简短、整洁的文件夹中。git clone 命令在每个操作系统上都相同;只有文件夹语法不同。Git 会根据存储库命名克隆的文件夹,因此我们随后将其重命名为 bossroom。
macOS / Linux
Windows (PowerShell)
要确认资源是否正确拉取,请检查 Assets 文件夹的大小。它应该显示为几百兆字节。如果显示为零,说明 Git LFS 未拉取真实文件,因此在继续之前请重新查看上述安装步骤。

克隆项目后,使用构建该分支时所用的确切编辑器版本在 Unity 中打开它:
打开 Unity Hub,选择“Add”(添加),然后选择“Add project from disk”(从磁盘添加项目)。
找到并选择您刚刚克隆的“bossroom”文件夹。
Unity Hub 会提示该项目需要特定的编辑器版本。在撰写本文时,此分支固定为 Unity 6000.0.54f1。请安装该确切版本,而不是最新的 LTS 版本,因为较新的版本可能会破坏示例的部分内容。安装编辑器时,请包含 Linux 服务器依赖项:“Linux Build Support”(包括 Mono 和 IL2CPP)和“Linux Dedicated Server Build Support”。
打开项目。首次打开时,Unity 可能会进入安全模式(Safe Mode)。这是正常现象,不需要修复:全新的克隆缺少示例的匹配客户端所依赖的 Unity Gaming Services 包,我们现在就将其添加进去。
从顶部导航栏中选择“Window”(窗口),然后选择“Package Manager”(包管理器)。
将包源设置为“Unity Registry”(Unity 注册表)。
搜索“Multiplayer Services”并选择“Install”(安装)。
此包解除了缺失的引用,并使项目退出了安全模式。在继续之前,请确保控制台(Console)显示零编译错误;干净的编译是后续一切步骤的门槛。
您的示例现已安装,并可在固定的 Unity 版本上打开。
第 2 部分 - Edgegap:游戏服务器托管与编排
要向您的项目添加专用游戏服务器,请打开 Edgegap 用于游戏服务器托管的 Unity 插件。此分支中已集成该插件。如果您的项目中没有,请使用我们文档中的链接,通过 Unity 的 Package Manager(包管理器)进行添加。
第一步是添加令牌:
选择 “Get Token(获取令牌)”。系统将打开一个浏览器窗口。
使用您首选的单点登录 (SSO) 方式登录该平台。您可能需要创建一个组织;完成后,您的令牌会自动显示。复制它。
返回插件,粘贴令牌并选择 “Validate Token(验证令牌)”。
现在插件的其余选项将打开。
首先,确认您已安装 Linux Server 依赖项,我们在第 1 部分中已将其与编辑器一起安装。
接下来,将 Linux 设置为您的内置目标:
选择 “Edit Settings(编辑设置)” 以打开 Unity 的 Build Settings(构建设置)。
将平台切换到 “Linux Server”。
确认您的游戏场景已包含在内且顺序正确。在此处,列表以 “Startup” 开始,接着是 “MainMenu” 场景,然后是游戏场景。
返回插件,使用 “Build Server(构建服务器)” 按钮构建您的服务器。几秒钟后,成功编译构建。
在 “Containerize your Server(将您的服务器容器化)” 下,通过选择 “Validate(验证)” 确保 Docker 正在运行。如果您没有安装 Docker,请先安装 Docker Desktop;它是将游戏服务器和其他应用程序容器化的标准工具。在本教程中,我们略过可选参数;关于其使用的详细信息请参见我们的文档。选择 “Containerize with Docker(通过 Docker 容器化)”。不久之后,容器化成功。
您现在可以在本地测试您的游戏服务器,但在此处我们直接进行在线测试。将容器化的服务器上传到 Edgegap平台:
确保选择正确的应用程序,然后选择 “Upload Image and Create App Version(上传镜像并创建应用版本)”。几秒钟后,浏览器会打开该平台。
“Create Version(创建版本)” 页面已预先填好。您可以配置可选设置,包括 vCPU 资源使用情况、内存等,但我们使用默认设置创建一个新版本。向下滚动并选择 “Submit(提交)”。
将打开 “Create Port(创建端口)” 弹出窗口。确认您的 netcode 的默认端口和协议类型。请注意,在此示例中,该端口为 UDP 端口 7777。这可能与其他 netcode 不同。因此,请务必查看您的 netcode 文档,以获取适用于您具体用例的准确端口。选择 “Submit(提交)”。

最后,部署您刚刚容器化的服务器:
返回 Unity,从列表中选择正确的应用程序及其版本。
选择 “Deploy to Cloud(部署到云)”。这将自动把游戏服务器部署到 Edgegap 的平台。
加载几秒钟后,您的游戏服务器就准备就绪并上线了。
第 3 部分 - 测试
让我们来测试部署。首先选择该部署以打开其详情页面。此页面包含了关于您正在运行的服务器的一系列信息。
要进行连接,请向下滚动并复制 主机 IP (Host IP),并注意 外部端口 (external port),例如在我们这种情况下是 32699。
然后,启动您的游戏场景并选择“通过 IP 加入 (Join with IP)”。粘贴您的 IP 地址并输入您的外部端口。忽略任何开发警告,选择您的角色,然后启动游戏。它会自动连接到托管在 Edgegap 网络上的游戏服务器。
恭喜您,您现在正在在线游玩由 Edgegap 修改以在专用服务器上运行的 Unity Boss Room 示例。







