了解Edgegap的工作原理

了解Edgegap的工作原理

多房间游戏服务器

多房间游戏服务器是一种同时托管多场比赛的服务器进程,每场比赛都在自己的房间中进行,并拥有自己的状态和玩家。该进程的固定成本(如引擎和已加载的游戏数据)只需支付一次并由所有房间共享,因此每场比赛仅需要几分之一个vCPU。它适用于轻量级模拟的游戏,如卡牌、回合制、修闲和移动游戏,并以接近中继的成本赋予它们服务器权限。

又称

多房间服务器,多会话服务器

由

由

由

雅库布·莫蒂尔

雅库布·莫蒂尔

雅库布·莫蒂尔

,

产品总监

产品总监

产品总监

已发布

已发布

已发布

多房间与多进程服务器之间有什么区别?

“每场比赛都有一个游戏服务器吗?”是多人游戏中的一个常见首要问题。其实并非必须如此。多场比赛可以通过两种方式共享一台机器:

  • 多进程。 每场比赛都有自己的服务器进程,多个进程在一台主机上并排运行,每个进程使用自己的端口。

  • 多房间。 一个进程同时主持多场比赛,每场比赛都在一个拥有自己状态和玩家的房间内。

其区别在于新比赛接收到的是什么:是一个新服务器,还是一个已经在运行的服务器中的空闲房间。在服务器内部,游戏自身的代码会确保各个房间相互隔离。

哪些引擎和网络代码可以在单个进程中运行多个比赛?

许多基于房间的框架在设计上就是这样做的。Unreal 则指向了另一个方向。

  • Colyseus。“一个房间类可以生成多个实例(例如,同一游戏类型的多场比赛)”(Colyseus 文档)。

  • Nakama。每个节点运行多个权威比赛,每个比赛都有自己的循环(Heroic Labs 文档)。

  • Mirror (Unity)。其“多叠加场景”示例为每场比赛提供了一个带有自己物理场景的子场景(Mirror 文档)。

  • Unreal。其专用服务器通常在每个进程中运行一个地图和游戏模式;通常的建议是每台机器运行多个进程(Epic 开发者社区论坛,2016 年)。Unreal 游戏主要通过进程而不是房间来进行扩展。

在早期做出选择会更容易:转换单场比赛服务器意味着从单例到物理世界的每一处共享状态都必须变成针对每个房间的。

玩家如何进入房间?

运行中的服务器会列出其开放槽位,玩家可以通过以下两种方式之一加入其中。

  • 服务器列表。 玩家选择一个有开放槽位且运行中的服务器,这适用于持久性游戏和社区游戏。请参阅服务器浏览器。

  • 撮合系统。 它接收一组玩家并做出决定:将他们回填到开放房间中,或者在没有合适房间时部署新服务器。加入的感觉就像任何匹配游戏一样。

无论哪种方式,您都可以按房间进行缩放。要让服务器退役,请停止向其发送玩家,并让其房间运行结束(容器部分介绍了回收利用)。

多房间服务器应该在哪里运行?

多房间服务器的位置在启动时一次性选定,此后每个房间都在该位置运行。而每场匹配则为每场比赛的玩家选择一个位置(游戏服务器编排)。

房间在满员时才开始盈利,因此多房间服务器会聚集在玩家密集的地方。如果把它们分布得更广,每个服务器满员的速度就会变慢;如果保持它们数量稀少,远处的玩家连接距离就会更远。

回合制、卡牌、拼图和休闲游戏以及大厅,可以容忍额外几毫秒的延迟。而由延迟决定胜负的游戏模式则会使用专属的独立服务器。许多游戏会同时运行这两种模式。

来自我们的赞助商(其实就是我们自己!)的寄语

发布当天绝不是发现编排系统边缘情况的好时机。自2019年2月以来,Edgegap的自动化编排系统已在其分布式多云网络上运行了1.35亿次游戏服务器部署。如今,它每天都在为数千款游戏和数百万玩家进行部署。

在多房间服务器上,一场比赛的费用是多少?

在游戏对局开始之前,服务器进程就已经产生了固定成本:引擎、已加载的游戏数据、基线内存。多房间模式在不同房间之间共享这些资源,这就是为什么专用服务器在承载对局的同时,其成本能够接近中继服务器。

以一款对局时间为 15 分铱的卡牌游戏为例进行估算:

  • 服务器。2 个 vCPU 托管 40 个房间,因此每局游戏使用 0.05 个 vCPU。

  • 小时。2 vCPU × 60 分铱 × $0.00115 = 在 Edge Cloud 上为 $0.138(参考 平台数据,2026 年 9 月 18 日)。

  • 对局。在 85% 的房间处于忙碗状态时,该小时可房间承载 136 局对局:每局对局约 $0.001。

接下来是出站流量:每台服务器的计算成本保持不变,而出站流量则会随着玩家人数的增加而增长。按照 Edge Cloud 每 GB $0.10 的价格计算,当大约有 150 名玩家(每人发送速率为 20 kbps)或大约 3,000 名玩家(每人发送速率为 1 kbps)时,一台 2 vCPU 服务器的出站流量成本即与其计算成本持平。房间密度越高,出站流量就越己成为账单上最大的一笔开支。

这也让私有服务器阵列(Private Fleet)值得去权衡:在 58 个地区提供包含出站流量的预留主机,并在已u满时自动溢出到 Edge Cloud。需要折中的是覆盖范围,因为 Edge Cloud 在 615 个以上的地区运行。在 Private Fleet 上部署高密度的基线业务,同时利用 Edge Cloud u5e应对峰值和更遥远的地区,则可两者兼得。

将每个进程的房间数限制在性能分析版本测量的数值内,并按计划定期回收服务器。了解填充率如何影响您的托管成本。

Edgegap 的观点(仅代表个人意见,姑且听之即可!)

以中继器的价格享受服务器权威性

各大团队通常会选择中继和点对点连接,主要是因为为每场比赛配备一台服务器的成本太高,而极少是因为中继能带来更好的比赛体验。多房间服务器改变了这一局面:每场比赛在微型服务器中获得一个房间,仅需增加约 0.05 个 vCPU,且服务器依然保留其状态。

与中继相比,这是一次巨大的升级。服务器决定了发生的一切,每位玩家与其仅有一跳之隔,没有人拥有主机优势,而且任何人的离开都不会影响比赛的继续。拥有 4000 万下载量的移动端游戏《Bloody Bastards》从点对点连接转向了专用服务器和匹配系统,并实现了“自此零作弊”的效果(案例研究,2026 年)。

当服务器的任务较轻时,这是最具性价比的选择:例如回合制规则、牌桌、或裁判比赛结果。而繁重的模拟则更适合配备专属且规格相符的服务器。

-

-

-

雅库布·莫蒂尔

雅库布·莫蒂尔

雅库布·莫蒂尔

,

产品总监

产品总监

产品总监

常见问题

一台服务器可以运行多少个游戏会话?

一个服务器上最多可以有多少人同时在线玩游戏?

大多数游戏服务器是单线程的吗?

托管平台会限制一台机器上可以运行多少个服务器进程吗?

Get your Game Online Easily & in Minutes

立即开始集成!

轻松在线游戏
且在几分钟内