理解多人游戏的网络出口

理解多人游戏的网络出口
理解多人游戏的网络出口
理解多人游戏的网络出口

关键洞察

关键洞察

关键洞察

  • 网络出口仅仅是数据离开云端 — 在多人游戏中,它可能会意外地超出你的托管预算。

  • 当你的服务器向玩家流式传输状态更新、语音数据包或资源下载时,每个字节都算作出站流量,直接推动你的月账单。

  • 入口(玩家输入)通常是免费的,而出口(下载到客户端)是按每吉字节计费,这造成了一个非对称的成本模型,这种模型在高频率、高玩家数量的游戏中最为明显。

  • 你可以通过使用CDN、紧凑的二进制协议、每包压缩、差异增量、私有网络以及警惕的实时监控来缩减出口带宽和费用。

  • 要小心那些隐藏其出口价格的编排平台,因为它占你总体云成本的一部分,并始终仔细检查云成本计算器中的估算,因为它们可能会低估看起来更便宜。Edgegap是唯一一个对其出口价格非常透明的编排平台,提供“一个价格”,无论地点如何,并让你访问世界上第一个且唯一的无区域网络,覆盖全球615多个地区。

网络输出简单来说就是数据从云端流出。这对于游戏开发者来说,通常意味着在多人游戏发布后,他们的云预算会面临意想不到的、未估算的费用。

具体来说,当您部署多人游戏服务器时,所有状态更新、语音数据包和从提供者网络流出的资源流都算作出站流量,而这些千兆字节很快就会累积。换句话说,数据一旦传送到您的玩家设备上,您就得为这些费用买单。

尽管对于某些类型的游戏(例如回合制游戏、交易卡游戏),网络输出的费用可能相对较小,但对于具有高同步要求和资源流的游戏(如大型多人在线游戏)、玩家数量众多的游戏(如大逃杀)或高频率的游戏(如电竞准备游戏VR/XR游戏),其费用可能大得多。

因此,在推出之前了解网络输出的工作原理并学习如何优化它是“值得的”。在alpha测试期间,网络输出费用可能微不足道,但一旦您达到数千的日活跃用户(DAU),费用可能会飙升。考虑成本进行设计是“值得的”。

什么是网络输出,以及它对多人游戏的意义

网络输出是数据从云端流出。

在游戏上下文中,它是您发送到客户端的每一帧游戏状态、语音频道中的每一个音效,以及您从存储中提供的每一个纹理或地图下载。

当您的服务器每秒向数百名同时在线的玩家推送位置更新数十次时,这些字节直接转化为您的月度账单。即便是看似微不足道的功能——比如游戏内重播片段或聊天记录——如果其频繁流媒体传输或下载,也会产生意想不到的出站流量。

多人游戏的入站与出站流量

被定义为“入站”(即上传玩家输入)的流量通常是免费的。当客户向您的服务器发送移动指令或聊天信息时,该入站流量通常不会产生费用,从而形成一种不对称的计费模式。

另一方面,出站流量(或更直观的,称为“下载”)会触发网络输出费用。云服务提供商会计算出站的千兆字节费用并相应开账单,这可能会使您的成本预测出现偏差,如果您没有密切关注。

为什么提供商会对游戏流量收费

不出所料,云网络的运营是需要成本的。

每一个数据请求背后都有一张路由器、与互联网服务提供商(ISP)的传输协议以及数据中心互连网络的复杂关系,这些都会产生实际费用,提供商通过网络输出费用将成本转嫁给客户。对等交易也很重要。一些云平台与网络运营商谈判获得更优惠的费率,或部署更广泛的全球骨干网络,从而能够在某些地区或服务之间提供较低的网络输出成本,而其他则会对相同的流量收取溢价。

此外,通过对出站带宽定价,提供商鼓励架构师将内容缓存到离用户更近的地方,优化数据管道,或者重新思考跨云的传输,而不是简单地在不顾成本的情况下转移大量数据集。

因此,游戏开发者必须利用减少网络输出费用的编排,同时优化自身的后台基础设施和游戏服务器,以降低网络输出费用。

裸金属与网络输出

裸金属服务器看起来很吸引人,因为它们通常按月费用包含固定的带宽,这样您就不会像在云中那样看到按千兆字节计算的出站费用。

然而,这种可预测性也有代价:您被锁定在特定的硬件配置中,扩展意味着订购、架设和配置新机器——通常需要几天或几周的时间。没有即时的弹性,没有快速配置,也没有按一下按钮就能增加额外的数据中心。

您还需要亲自承担硬件维护、固件更新和物理安全的负担,这可能会使您的团队无法专注于功能开发。

简而言之,虽然裸金属可以消除意外的出站费用,但它带来了资本支出、运营复杂性和刚性,这使得它作为唯一的托管策略变得风险较大。

相反,对于拥有可预见玩家基础的游戏,像Edgegap这样的服务提供了利用裸金属与云服务器的混合游戏服务器编排以优化成本节约。

在稳定的期间使用裸金属(即CCU的“低潮”)时,工作室可以受益于稳定、降低的定价。使用简单的按机器计费,持续的使用成本易于预测。当交通飙升时,Edgegap的快速扩展编排迅速调整以满足玩家需求,确保无缝的游戏体验。此外,我们建议避免因玩家数量大(即“高峰”或“最高”CCU)而过度支付未使用的容量,因为玩家数量在数月和数年中波动很大,如果未使用,您的裸金属承诺将变得昂贵。

最小化出站费用的策略

除了一个优化了最小化出站成本的编排平台(如Edgegap)外,以下是开发您的多人游戏时需要检查的一些关键见解:

  • 缓存:缓存提供了巨大的节省。部署内容交付网络可以卸载从源存储反复下载静态资源,从而大幅减少实际离开云环境并计入账单的字节。

  • 紧凑的二进制协议:使用协议缓冲区或FlatBuffers代替JSON是一个不错的选择。二进制协议在数据大小和序列化/反序列化速度方面更为高效,从而减少出站流量。

  • 逐包压缩:应用如zlib或Brotli等压缩算法可以进一步减少快照或大批消息的大小。然而,该方法的有效性取决于具体的使用案例和数据模式。测试和评估压缩比与计算开销之间的权衡至关重要。

  • 消息优先级:优先处理关键消息或更新,以确保有效利用可用带宽。

  • 缓存和缓存失效:实施缓存机制以减少频繁更新的需求并最小化出站流量。确保实施缓存失效策略以维护数据一致性。

  • 数据序列化优化:优化数据序列化以最小化开销,例如对整数使用可变长度编码或利用序列化库(如MessagePack或BSON)。

  • 监测:监测至关重要。设置使用和计费阈值的警报可以确保您在出站流量激增之前发现它,给您时间调查交通来源或重新配置架构。

  • 数据汇聚(“批处理”):将多个小更新或消息组合在一起,以减少数据包头的开销并改善压缩比。

编排平台之间的出站费用比较

由于出站流量通常是游戏服务器托管编排平台背后的“隐性”费用。更糟糕的是,提供商会故意在其计算器中低估它以使其估算看起来更好。这只是他们隐性成本的一部分,因为他们通常不会提到他们对传统编排的游戏工作室收取未使用容量的费用

在Edgegap,我们对我们的定价保持透明。使用专用服务器的网络输出费用为每月$0.10/GB(截至撰写时为2025年)。

作为对比,让我们看看常见编排平台(如适用)的出站流量价格信息:

平台名称

出站价格(每GB,截止2025年04月)

备注

Edgegap

$0.10/GB的每月网络输出费用

出站价格为“一个价格”,适用于全球所有615多个位置

Google Cloud (GCP) for Games / Agones

Google根据使用情况分层定价出站流量,并根据地点变化价格。

因此,尽管前200GB的出站流量通常是免费的,但其每GB的价格略有变化,从多伦多的$0.085到东京等主要地区($0.11)、首尔($0.119)、悉尼($0.12)、圣保罗($0.12)等都较高。

Unity Multiplay

$0.14每GiB

Unity Multiplay的出站流量费用比Edgegap贵140%。

AWS Gamelift

$0.10/GB

AWS Gamelift的出站费用与Edgegap相同,但仍按地点收取托管费用,而不是像Edgegap那样提供无地区托管服务。

i3D.net

不适用 - i3D.net未公开其出站费用


Gameye

不适用 - Gameye未公开其出站费用


Hathora

不适用 - Hathora不再公开其出站费用


Edgegap的费用与市场上任何其他平台相当(AWS Gamelift)或更具竞争力。

它也是唯一允许vCPU按比例分配(即¼个vCPU = ¼个列表价格)的编排平台,并且在全球615多个位置的无区域网络中提供“一个价格”,所有位置可按需使用,而其他提供商则按位置收费。

结论

从成本角度进行设计,使您能够在全球范围内扩展,而不必担心当您的游戏因受欢迎而扩展时预算会爆炸。保持对出站字节的控制!

书写者

Edgegap团队