了解Edgegap的工作原理

了解Edgegap的工作原理

主机迁移

主机迁移是指在点对点比赛中,当当前主机断开连接时,将主机职责移交给另一个玩家。如果处理得当,比赛会短暂暂停然后继续。如果处理不当,或者根本没有处理,所有人都会丢失该会话。这是专用服务器旨在避免的故障模式之一。

由

由

由

菲利普·科特

菲利普·科特

菲利普·科特

,

首席技术官

首席技术官

首席技术官

已发布

已发布

已发布

为什么总是发生主机迁移?

在许多多人游戏中,其中一名玩家的游戏会充当服务器(即侦听服务器),而其他所有人都会连接到它,这通常是通过中继来实现的。该玩家即为房主。他们的设备保存着游戏状态,决定发生什么,并承载着其他所有玩家的连接。

“如果主持游戏的玩家退出,所有人都会断开连接。这是一个你需要解决的根本问题,因为它会彻底终结整个游戏会话。”

Michal Buras,Highwire Games,实时服务游戏峰会,2024 年 9 月

主机迁移的存在就是为了在这种情况下挽救比赛,这种情况经常发生,因为房主只是一个普通玩家。房主可能会退出、崩溃、失去 Wi-Fi 连接或让主机进入睡眠状态,而且许多人并不知道自己正在主持游戏。在《费卢杰六日》中,Buras 看到玩家“因为我们的游戏很难而随机退出游戏”,并且“也许他们没有意识到自己是房主”。游戏越难,比赛中的陌生人越多,房主离开的可能性就越大。

中继并不能改变这一点。它们可以隐藏 IP 地址并帮助通过 NAT 进行连接,但房主仍然是一个玩家,Buras 将其称为他评估过的每一个中继方案中的“一个根本性挑战”。

当房东/主持人离开时,有哪些需要转移?

在旧主机已经断开的情况下,主机迁移需要完成三项工作:

  1. 选择新主机,通常是连接状况最好的剩余玩家。

  2. 在该机器上重建比赛。新主机需要一份完整、最新的游戏状态副本。敌人的人工智能(AI)、物理效果和奖励往往只存在于主机上,因此游戏必须提前在其他玩家的机器上保留副本。

  3. 重新连接所有人到新主机,即再次进行连接设置。

当某个步骤失败时,玩家报告的是症状而不是具体步骤:

玩家报告的内容

失败的步骤

卡在“正在进行主机迁移”

重新连接到新主机

丢失战利品或进度

重建仅存在于旧主机上的状态

被送回菜单或大厅

整个迁移过程

《星际战甲》(Warframe)清楚地展示了第二行的情况。其官方维基指出,在任务期间收集的资源、MOD和经验值“在主机迁移失败时将会丢失,因为这些奖励是在客户端确定的”(Warframe wiki)。

构建主机迁移需要多少成本?

在每台可能成为主机的机器上保留一份游戏比赛的副本,这几乎涉及到游戏中的每一个系统。Buras 在 Unreal Engine 的网络驱动程序中,为《费卢杰六日》(Six Days in Fallujah)添加了基础的主机迁移功能:

“整个项目都需要进行全面的重构,以便所有功能都能支持它。现在,每个小功能,每个设计师制作的蓝图都必须重做。”

引擎和库可以提供帮助,但也伴随着他提到的代价:“实现主机迁移没有万灵药,除非你的引擎原生支持它,但这会带来网络带宽成本。”每个潜在主机所需的状态必须不断流向它们。

由于每个新功能都必须在迁移中幸存并接受相关测试,因此开销是持续不断的。Highwire 的估计是需要额外增加一名开发人员和一名测试人员,每月“大约 1.5 万美元”,“而且以后还会增加”(实时服务游戏峰会演讲,2024年9月)。

“要么你雇用额外的人员,要么你推迟项目发布日期。在这两种情况下,你都是在烧钱。”

你如何完全避免主机迁移?

免去玩家机器作为主机的麻烦。服务器不会愤怒退游、休眠或失去 Wi-Fi 连接,因此无需进行主机迁移。Buras 从中继端也得出了相同的结论:一旦中继运行了游戏逻辑,“它就不再只是个中继服务器了。它变成了一种专用服务器的形式。”

这就剩下了两种形态:

  • 完全专用服务器为每场比赛运行权威模拟。这是保证公平性和防作弊最强大的选择,但对于基于主机-客户端架构构建的游戏来说,开发工作量也最大。

  • 类中继专用服务器是一种小型服务器,或者是在一个进程中运行多场比赛的多房间服务器,它以极少的资源接管主机的角色:成本接近中继服务器,却拥有专用服务器的性能、覆盖范围和安全性。对于主机-客户端游戏来说,这通常是一条更快的捷径,因为主机的逻辑通常可以作为无头(headless)版本运行。

移动端游戏《Bloody Bastards》从主机受信任的对等网络(P2P)转型为无头权威服务器,通过“微型 vCPU 规格”使其能够运行“更小、尺寸更合适的世界专用服务器”(案例研究,Tibith Ltd,2026年)。

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

大多数延迟来自距离,而非代码。Edgegap 的边缘云是一个分布式网络,按需提供高达 615+ 个可用位置,因此每场比赛都能在最适合玩家的可用位置运行。对直播工作室流量的独立重放测试表明,与公共云相比,平均往返时间减少了 58%。

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

为稳定性买单,而非为迁移买单

主机迁移是为了挽救因架构问题(即玩家的主机承载了会话)而导致的比赛中断。花在这上面的资金实际上让这个问题在游戏中一直存在。

Buras 估计这笔费用大约是每月 15,000 美元的员工成本,而且还在上涨。按照 Edge Cloud 2026年9月18日的平台数据,即每 vCPU 每分钟 0.00115 美元的价格计算,在不计算流出流量费用的情况下,这大约相当于在一台 2 vCPU 服务器上运行 217,000 场 30 分钟比赛的计算量。如果是在只占用一小部分 vCPU 的中继类服务器上运行,或者每个进程运行多场比赛,则可以进一步延长运行时间。

因此,我们从玩家的角度出发:每场比赛都在专属服务器上运行,无论是全功能服务器还是中继类服务器,其规模均与原主机的实际工作量相匹配。如需估算您游戏的具体情况,请使用价格计算器,并输入实际的比赛时长、玩家人数和资源。

-

-

-

菲利普·科特

菲利普·科特

菲利普·科特

,

首席技术官

首席技术官

首席技术官

常见问题

为什么有些游戏仍在使用主机迁移?

Unity、Unreal 和 Godot 是否支持主机迁移?

Steam 大厅支持主机迁移(Host Migration)吗?

专用服务器需要主机迁移吗?

Get your Game Online Easily & in Minutes

立即开始集成!

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