Boss Room 是 Unity 的多人合作地牢示例,最多支持 8 名玩家,基于 Netcode for GameObjects (NGO) 构建。Edgegap 的分支版本将其运行在专用游戏服务器上,并添加了可选的撮合功能,让玩家可以进入同一个地牢。
Boss Room 本身几乎未作改动:相同的场景、相同的 Prefab、相同的角色选择(Character Select)以及相同的 Direct IP 加入方式。撮合系统所需的所有内容都位于 Assets/Edgegap/ 中,并在运行时自行添加。
无需玩家主持(Host)对局。无头(Headless)Boss Room 服务器负责运行地牢,不需要 Unity Gaming Services、Relay 或 Lobby,并且在对局变空时会自动停止自身部署。
Edgegap 的网络覆盖 615 多个边缘云节点(了解更多)。每台服务器都会部署在最适合其玩家的可用位置,并且仅在对局运行期间计费。
完整指南:使用 Netcode for GameObjects 集成指南构建、容器化和部署任何 NGO 游戏
平台:Windows、macOS 和 Linux 桌面客户端 (UDP)。已在 Windows 客户端上经过测试。原始示例由 Unity Technologies 提供,遵循 Unity Companion License。
工作原理
玩家在主菜单面板中点击 Find Match。每个客户端都会向 Edgegap 撮合系统发送一个凭据(Ticket)。
撮合系统将 2 到 8 名玩家分为一组,并为他们启动 Edgegap 部署。
服务器启动,通过 Boss Room 自身的
ConnectionManager在0.0.0.0和gameport端口上运行,并记录预期的匹配玩家数量。当 Ticket 显示为 HOST_ASSIGNED 时,每个客户端通过
ConnectionManager.StartClientIp连接到服务器的公共 IP 和外部端口。所有玩家进入同一台服务器的角色选择界面,然后一起进入地牢。当场内无人时(最后一名玩家离开 30 秒后,或者 120 秒内无人加入),服务器将停止自身部署。
分支所做的更改:
路径 | 作用说明 |
|---|---|
| 在第一个场景之前运行,并添加以下组件。无需修改场景。 |
| Find Match 面板:生成 Ticket,等待 |
| 服务器构建:记录匹配和连接的玩家,在对局变空时停止部署。 |
| 撮合系统的开关、URL、认证令牌(Auth Token)、配置文件、本地端口、超时时间。 |
| 在 Edgegap 端口或本地 9998 端口上通过 |
| 使用服务器代替主机( |
| 要上传的撮合系统配置文件以及服务器镜像。 |

两名玩家在Boss Room的地牢中,位于由Edgegap托管的一个Netcode for GameObjects服务器上。
1. 开始之前
一个免费的 Edgegap 账户。
Unity 6000.0.54f1 (Unity 6.0 LTS),附带 Linux Build Support (Mono) 和 Linux Dedicated Server Build Support,以及适用于您客户端平台的模块。
正在运行的 Docker Desktop。
Git LFS:在克隆之前运行
git lfs install,否则美术资源和 Edgegap 设置资源将无法下载。克隆该 fork。
Git:Unity 需要在您的 PATH 中配置 Git 客户端(2.14.0 或更高版本),以便从 Git URL 安装软件包(例如 Edgegap 插件)。macOS 通常已自带一个(Xcode Command Line Tools);在 Windows 上,请安装 Git。
2. 在 Edgegap 上获取 Boss Room 服务器
對局配對需要一个已在 Edgegap 上运行的服务器。Netcode for GameObjects 指南的第 4 步和第 5 步涵盖了其构建、容器化和部署。此分支特有的内容如下:
通过 Tools → Edgegap → Build Linux Dedicated Server 构建服务器。位于仓库根目录的该分支
Dockerfile会打包Builds/EdgegapServer/。在应用版本上,配置一个端口:名称为
gameport,端口号为 7777,协议为 UDP。名称必须为gameport:服务器从中读取其端口。在本地(以及在
docker run中),服务器改为侦听 9998 端口。手动检查部署:在两个客户端中依次点击 Start with Direct IP → Join,并输入部署的公网 IP(非主机名)以及
gameport的外部端口。
要在本地运行服务器镜像:
docker run --rm -p 9998:9998/udp ngo-bossroom:local
一台 PC 上的两个副本需要各自独立的配置文件,否则服务器会因视为同一玩家而拒绝第二个副本:
Game.exe -AuthProfile p1
Game.exe -AuthProfile p2
3. 将其添加到您自己的非政府组织游戏中
该分支是一个可用的参考:您的代码智能体可以直接复制其经过测试的文件,而无需从头编写。只需进行四处修改,即可让 NGO 游戏在 Edgegap 上配合对局配对运行:
服务器自动启动。在服务器构建中,在
0.0.0.0和gameport端口上调用StartServer,切勿调用StartHost(Assets/Scripts/EdgegapServerStarter.cs、StartingHostState.cs)。服务器自动停止。当没有人在规定时间内加入或最后一名玩家离开时,它会停止部署,从而停止计费(
Assets/Edgegap/EdgegapServerLifecycle.cs)。客户端寻找对局。它发送一张票据,等待
HOST_ASSIGNED,然后加入分配的 IP 和端口(Assets/Edgegap/EdgegapMatchmakingClient.cs)。如果您的游戏具有自己的连接流程(例如 Boss Room 的ConnectionManager),请通过它加入,以确保有效载荷和批准机制仍然正常工作。场景中的内容无需任何改动。
Assets/Edgegap/EdgegapBootstrap.cs会在启动时添加组件,并由EdgegapSettings.asset进行配置。
配合您的智能体使用:
“加载 edgegap 技能,然后加载 edgegap-ngo。以 github.com/edgegap/netcode-game-sample-unity-ngo-bossroom 作为参考,让我的 Netcode for GameObjects 游戏在 gameport 端口上启动无头专用服务器,在对局为空时停止部署,并通过我游戏本身的连接流程添加一个‘寻找对局’按钮以加入 Edgegap 撮合器分配的服务器。”
有关手动完成每个步骤的详细信息,请参阅 Netcode for GameObjects 集成指南。
4. 在首领房间开启匹配功能
對局配對 默认处于关闭状态。直接连接正常工作后即可将其开启:
在分支的
matchmaker-config.json中,将application.name和version设置为您的应用程序和版本。在控制台中,打开 Matchmaker → Create Matchmaker,上传文件,然后点击 Create and Start。复制其 API URL 和 Auth Token。Auth Token 在游戏客户端中是安全的:它仅允许 matchmaking 调用。
选择
Assets/Edgegap/Resources/EdgegapSettings.asset。勾选 Use Edgegap Matchmaker,并粘贴 Matchmaker Url 和 Matchmaker Auth Token。重新构建客户端并启动两次。在两个客户端的主菜单左侧面板中均点击 Find Match。状态将显示为 searching → match found → joining,随后两名玩家都会进入同一服务器上的角色选择界面。
casual 配置文件可创建 2 到 8 名玩家的对局,最多可达 Boss Room 的 8 个英雄席位。它会尽量凑满 8 人;15 秒后,只要至少有 2 人就会开始。请保留该扩充阶段:如果没有它,少于 8 人的对局只有在票据于 5 分钟后过期时才会开始。
若要进行免点击测试,请在命令行中传递设置(步骤 2 中的 <url> 和 <token>),为第二个客户端附带 -AuthProfile p2 和 -edgegapAutoReady 1:
Game.exe -AuthProfile p1 -edgegapMatchmaker true -edgegapMatchmakerUrl <url> -edgegapAuthToken <token> -edgegapFindMatch -edgegapAutoReady 0
当您发布新的服务器构建时:新镜像标签 → 新应用版本 → 在 matchmaker 中依次点击 Stop、编辑 application.version、Start。否则对局将继续部署旧的构建版本。
已知限制
仅限桌面客户端。Boss Room 通过 UDP 连接,而浏览器无法打开 UDP。WebGL 构建需要 Unity Transport 的 WebSocket 以及带有 TLS 升级的 WS 端口:不属于本示例的一部分。
“寻找比赛”面板是一个简单的浮层,不属于 Boss Room 菜单的一部分。对于真实游戏,请从您自己的按钮调用
EdgegapMatchmakingClient.FindMatch()和CancelMatchmaking(),并将ShowGUI设置为关闭。服务器端无票据检查。任何拥有 IP 和端口的人都可以通过 Direct IP 加入。在连接审批中根据
MM_TICKET_IDS检查每个客户端的票据 ID 是下一步操作。无法加入进行中的比赛。稍后点击“寻找比赛”的玩家将获得一台新服务器;未设置回填 (backfill)。
无害的服务器错误。无头服务器会在
ClientCharacter.OnAnimEvent中记录NullReferenceException,并记录来自 Boss Room 客户端视觉效果的Transform child out of bounds。它们不会影响游戏体验。免费层级:一次只能进行一次部署,且对局配对器每 3 小时重启一次(相同的 URL 和令牌)。
测试了什么
于 2026 年 10 月 19 日在 Edgegap 上进行了端到端测试,配置环境为 Unity 6000.0.54f1、Netcode for GameObjects 1.13.0、Unity Transport 2.5.2 (UDP) 以及 Edgegap Unity SDK 3.5.6:
直接连接:两个 Windows 客户端通过 IP 加入了同一个 Edgegap 服务器,并在地下城中进行了游戏。
匹配系统:两个 Windows 客户端点击“寻找匹配”,完成匹配,并在启动后 40 秒内连接到同一服务器并进入“角色选择”界面,随后在地下城中进行了游戏。
自动停止:每次玩家离开后,服务器都会自动停止其自身的部署。
macOS 和 Linux 客户端应该也可以正常运行,但尚未经过测试。该分支的命令行测试标志(-edgegapConnect、-edgegapFindMatch、-edgegapAutoReady、-edgegapScreenshots、-edgegapQuitAfter)列在 EDGEGAP.md 中。
常见问题
关于结合使用 Edgegap 专用服务器和匹配系统运行 Unity Boss Room 的常见问题。
Boss Room 可以在不使用 Unity Gaming Services 的情况下进行匹配吗?
是的。Edgegap 的分支添加了一个可选的“寻找比赛”面板,该面板使用 Edgegap 匹配系统。它不需要 UGS 匹配系统、中继或大厅:匹配系统会启动一个 Edgegap 服务器,每个匹配成功的客户端都会加入该服务器。
在 Edgegap 上,一场 Boss Room 比赛最多可以容纳多少名玩家?
该分支的配对系统配置可匹配 2 到 8 名玩家,与 Boss Room 的 8 个英雄席位数量相同。它最多等待 15 秒来凑满对局,之后至少有 2 名玩家即可开始。
这个 Boss Room 分支需要哪个 Unity 版本?
Unity 6000.0.54f1(Unity 6.0 LTS),包含 Linux 专用服务器(Dedicated Server)构建模块。Unity 尚未针对更高版本更新 Boss Room,因此更新的版本可能会导致其出现故障。
当没有玩家游玩时,首领战房间服务器还会继续运行吗?
不会。在最后一名玩家离开 30 秒后,或者如果在 120 秒内没有人加入,服务器就会停止其自身的 Edgegap 部署,因此空闲服务器不会产生任何费用。

客户
了解更多已接入 Edgegap 的客户案例
提供 31 个从其他平台迁移至 Edgegap 的工作室案例研究。

《以太之战 2》完美的全球发布
Aether Studios
了解Aether Studios是如何快速添加Edgegap并向他们的社区交付完美的启动和后启动服务的。
Case Study

克服因虚拟现实在竞技Multiplay中使用WiFi而引入的延迟
Halfbrick Studios
Discover how Halfbrick successfully launched & maintains a multiplayer-focused Early Access on META Quest's VR platform.
Case Study

MENA的社交应用添加了在线游戏
WOLF
了解这款在中东和北非地区广受欢迎的社交应用如何轻松地将 matchmaking 和多人游戏编排添加到 WOLF Qanawat。
Case Study

混合编排让开球策略随时应对任何流量做好准备
Birch Games
混合编排如何帮助 Birch Games 应对流量——将免流出费用的 Fleets 与无区域限制云相结合。
Case Study

7天血月
The Fun Pimps & iLLOGIKA
了解 Illogika 如何大幅降低服务器成本,并确保提供《七日杀 (7 Days to Die)》玩家所期望的在线体验。
Case Study

真实的在线战争需要终极的协调
Highwire Games
了解Highwire对性能的需求如何需要只有Edgegap才能提供的编排。
Case Study

22,000 条评价、4.8 颗星以及自动扩展的基础架构
Sinn Studios
一个由 Slack 提供支持的简单集成,如何让 Sinn Studio 的热门 VR 游戏快速上线并保持稳定运行。
Case Study

动态服务器编排
Under NDA - AAA Studio
了解世界上最大的AAA工作室之一如何通过边缘计算改善其对等多人游戏体验。
Case Study

对于 AAA 格斗游戏的近零延迟
AAA Studio - Under NDA
一个未宣布的项目如何实现了最低延迟,并改善了其1v1游戏中的公平性。
Case Study

Play Gods with Multiplayer Physics
Squido Studio
Learn how Squido uses Edgegap's highligh optimized game servers to deliver mind-bending & chaotic VR gameplay.
Case Study

全面托管的解决方案为独立游戏节省时间 多人VR恐怖游戏
Dirty Pearl Studios
了解Dirty Pearl Studios如何通过Edgegap的轻松集成和自动编排,以及其Nakama集成,节省了开发时间。
Case Study

即时全球服务器部署以促进协作式XR医学教育
AlensiaXR
AlensiaXR如何利用Edgegap为全球医学生提供低延迟、始终可用的共享解剖课程。
Case Study

守光人:具有专用服务器的 VR 社交合作游戏
Spectral Games
Spectral Games 如何在无需任何服务器经验的情况下,利用 Edgegap Matchmaking 和 Server Browser 为其 VR 社交大厅启动专用服务器。
Case Study

全球范围内快速可靠的部署,适用于PvPvE挑战者Gravebound
Crater Studios
Edgegap 的调度和配对如何帮助 Crater Studios 使他们能够将重心从基础设施转移到游戏玩法上。
Case Study

快速扩展网络元宇宙
Hiber
了解Hiber如何通过Edgegap消除服务器容量规划中的猜测。
Case Study

高硬件要求和自定义游戏服务器池
Alderon Games
了解Alderon Games如何瞬间利用全球多个供应商的自定义游戏服务器池来支持其热门MMO。
Case Study

独立开发者的简单集成
WhaleFood Games
阅读关于WhaleFood Games如何使用Edgegap解决其网络代码问题的文章。
Case Study

推动东南亚首款电子竞技游戏的尖端技术。
Anantarupa Studios
了解Edgegap如何通过一个无缝解决方案简化复杂基础设施和尖端技术,从而改变东南亚的游戏格局。
Case Study

一次打击。全球抵达。
Triple Hill Interactive
Triple Hill Interactive如何利用Edgegap的编排来提供低延迟,并提高在每毫秒都至关重要的游戏类型中的公平性。
Case Study

快节奏团队大逃杀...带着枪的动物毛绒玩具!
SANDYFLOOR
了解一家韩国独立工作室是如何将其多人游戏发布到全球的。
Case Study

移动端赛马游戏凭借即时、高效能的服务器走向全球
Mirai Labs
看 Mirai Labs 如何通过即时服务器部署和细分 vCPU 来运行 Pegaxy Blaze 的全球多人竞速游戏,从而将单个玩家的成本保持在极低水平。
Case Study

服务器管理与分发
Matrioshka Games
阅读关于Matrioshka Games如何在资源有限的情况下发布早期访问的战斗 Royale。
Case Study

听我的信号,释放地狱!
TyGames
探索独立工作室TyGames如何让玩家沉浸在第三人称角斗士战斗的多人游戏中。
Case Study

瞬时全球编排
Soliton Interactive
探索Soliton Interactive如何做到了不可能……首次推出可多人玩的版本!
Case Study

竞技游戏具有服务器端物理引擎,确保理想的低于50毫秒的延迟
NS7
了解为什么仅有Edgegap能够使独立工作室通过服务器端物理和权限实现其AAA质量的免费游戏体育玩法愿景。
Case Study

iGaming的区域部署
X1 Contra 1
X1 Contra 1 通过经济高效的托管和区域部署,为其巴西玩家提供实时 PvP 休闲游戏,确保数据和法律合规。
Case Study

仅在玩家游玩时付费:经济实惠的多人游戏基础设施
Meltdown Interactive
Edgegap 如何帮助独立开发商 Meltdown Interactive Media 在无需复杂方案的情况下,以高性价比解决扩缩容和匹配问题,从而让他们能够专注于游戏开发。
Case Study

同一个 Edgegap 平台,三种截然不同的网络配置
Warped Games
了解 Warped Games 如何在同一个 Edgegap 部署 API 和同一个容器管线上运行社交中心、实时合作以及回合制合作。
Case Study

台球大师巡回赛Max
RETA Games
Case Study

韩国的Web3 POP提取射击游戏走向全球,即刻启程
NDUS Entertainment
XOCIETY 如何轻松地添加 Edgegap 编排并集成自定义 matchmaking,与 Edgegap Ping Beacons 一起优化延迟。
Case Study

Multiplayer in Every Dimension
Arcadia.tv
Discover how Arcadia.tv uses Edgegap's edge network to deliver an innovative, team and location-based athletic VR sport.
Case Study

F2P 移动格斗游戏利用即时(Just-In-Time)服务器降低基础设施成本
Game Changers Worldwide
Game Changer Worldwide 如何在全球移动端托管 Rumble Rush 的实时 3v3 PvP 游戏。
Case Study
他们选择 Edgegap 的关键原因
了解 Edgegap 自动化游戏服务器编排如何带来无缝的多人游戏体验。









