
理解多人游戏的网络出口

网络出站流量(Network egress)简单来说就是流出云端的数据,在多人游戏中,它可能会出乎意料地超出您的托管预算。
当您的服务器向玩家推送状态更新、语音数据包或资源下载时,每一个字节都算作流出流量,并会直接推高您的月度账单。
入站流量(玩家输入)通常是免费的,而出站流量(向客户端下载)则是按千兆字节(GB)计费,这形成了一种不对称的成本模型,高刷新率、多玩家在线的游戏对此感受最为强烈。
您可以通过使用 CDN、紧凑的二进制协议、每包压缩、增量差异、私有网络以及密切的实时监控来减少出站带宽,从而降低费用。
警惕那些隐藏出站流量价格的编排平台,因为这占了您整体云成本的很大一部分。务必仔细核对云成本计算器中的预估值,因为它们可能会低估费用以显得更便宜。Edgegap 是唯一一家既公开透明出站流量价格、又不论地区实行“统一价格”的编排平台,并让您能够访问全球首个也是唯一一个拥有 615+ 个网点的无区域限制网络。
对于某些服务商,出站流量价格会因地区而异。如果不仔细查看,在特定地区的费用可能会高出 4-5 倍;如果游戏在这些地区之一流行起来,这可能会成为一个问题。Edgegap 无论流量来自何处,均收取统一的价格。
网络流出(Egress)简单来说就是离开云端的数据。对于游戏开发者而言,这通常意味着在多人游戏发布后,云预算中出现了一笔令人意外且未曾预估的费用。
具体来说,当你部署多人游戏服务器时,离开服务商网络的每一次状态更新、语音数据包和资产流都会被计算为出站流量,而这些千兆字节(GB)的累积速度非常快。换句话说,数据传送到玩家设备的瞬间,你就需要承担相应的费用。
虽然对于某些游戏类型(如回合制游戏、集换式卡牌游戏)来说,网络流出费用可能相对较小,但对于具有高同步性要求和资产流的游戏来说,这可能是一笔大得多的开销,例如 MMO、大逃杀等高玩家人数游戏,或具有高 tick 率的游戏,如适合电竞的游戏和VR/XR 游戏。
因此,在发布前了解网络流出如何运作并学习如何对其进行优化是“值得的”。虽然在 Alpha 测试期间网络流出费用可能微不足道,但一旦你的日活跃用户(DAU)达到数千人,费用就会飙升。将成本纳入设计考量是“值得的”。
什么是网络流出,它对多人游戏意味着什么
网络流出(Egress)就是数据离开云端。
在游戏语境中,它是你发送给客户端的每一帧游戏状态、语音频道中的每一个音效,以及你从存储中提供的每一个贴图或地图下载。
当你的服务器每秒向数百名并发玩家推送数十次位置更新时,这些字节将直接转化为你的月度账单。即使是看似微不足道的功能——比如游戏内的回放剪辑或聊天记录——如果被频繁传输或下载,也会产生令人惊讶的出站流量。
多人游戏的流入(Ingress)与流出(Egress)对比
被定义为“网络流入(Ingress)”(即上传玩家输入)的数据通常是免费的。当客户端向你的服务器发送移动命令或聊天消息时,该入站流量通常不会产生费用,从而形成了一种不对称的计费模式。
相反,网络流出(或者更形象地说,“下载”)则会触发网络流出费用。云服务商会统计出站的千兆字节数并据此计费,如果你不注意,这可能会使你的成本预测产生偏差。
为什么服务商会对游戏流量收费
不出所料,云网络的运营是需要资金支持的。
在每一次数据请求的背后,都是由路由器、与 ISP 签订的传输协议以及数据中心互连组成的网络,这些都会产生实际费用,服务商会通过网络流出费用将这些费用转嫁给客户。对等互连协议也很重要。一些云平台与网络运营商谈判达成了更好的费率,或者部署了更广泛的全球骨干网,从而使他们能够在某些地区或服务之间提供更低的网络流出成本,而其他云平台则对相同的流量收取高额溢价。
裸金属与网络流出
裸金属服务器看起来很有吸引力,因为它们通常在月费中包含固定数量的带宽,因此你不会像在云端那样看到按吉字节(GB)计算的网络流出费用。
然而,这种可预测性是有代价的:你被锁死在特定的硬件配置中,而横向扩展意味着需要订购、上架和配置新的机器——这通常需要数天或数周的前期准备时间。没有即时的弹性,没有按需置备,也无法通过点击按钮来增加数据中心。
你还需要自己承担硬件维护、固件更新和物理安全的重担,这可能会分散团队对功能开发的精力。
简而言之,虽然裸金属可以消除令人意外的网络流出费用,但它引入了资本支出、运营复杂性和僵化性,这使得将其作为你唯一的托管策略具有一定的风险。
或者,对于拥有可预测玩家群体的游戏,像 Edgegap 这样的服务拥有利用裸金属和云服务器的混合游戏服务器编排,以优化并节省成本。
通过在平稳期(即最高并发用户数 CCU 的“低潮期”)使用裸金属,工作室可以从稳定且降低的价格中受益。由于采用简单的单台机器费率,持续的使用成本很容易预测。当流量激增时,Edgegap 的快速扩展编排会迅速调整以满足玩家需求,确保无缝的游戏体验。此外,由于玩家人数在数月和数年内波动很大,我们建议避免在使用率高(即“高潮”或“峰值”CCU)时过度使用裸金属而为未使用的容量买单,这会在未使用时使你的裸金属承诺变得昂贵。
降低网络流出费用的策略
除了像 Edgegap 这样经过优化以最大程度降低网络流出成本的编排平台之外,在开发多人游戏时,你还可以参考以下一些关键见解:
缓存:缓存可以带来巨大的节省。部署内容分发网络(CDN)可以分担从源存储重复下载静态资产的压力,从而大幅减少实际离开云环境并体现在账单上的字节数。
网络代码(Netcode):高效的网络代码可以减少数据传输,从而直接降低网络流出成本——通过仅发送基本更新(例如差分更新而非完整状态)并优化消息频率,你可以最大程度地减少云服务商计费的出站流量。
消息优先级划分:将关键消息或更新的优先级置于次要消息之上,以确保高效利用可用带宽。
缓存与缓存失效:实施缓存机制以减少频繁更新的需求并最小化网络流出。确保制定好缓存失效策略以维持数据一致性。
数据序列化优化:优化数据序列化以最小化开销,例如对整数使用 varint 编码,或利用 MessagePack 或 BSON 等序列化库。
监控:监控至关重要。设置使用量和计费阈值的警报可确保你在网络流出飙升并滚雪球般变成不受欢迎的惊吓之前捕获它们,从而让你有时间调查流量来源或重新配置你的架构。
数据合池(“分批处理”):将多个小的更新或消息分组在一起,以减少数据包头的开销并提高压缩率。
编排平台之间的网络流出费用对比
因为网络流出通常是游戏服务器托管编排平台背后“隐藏”的成本。更糟糕的是,服务商会故意在他们的计算器中低估它,使他们的估算看起来更漂亮。这只是他们隐藏成本的一部分,因为他们通常会避免提及他们会向游戏工作室收取传统编排中未使用的容量费用。
在 Edgegap,我们对专属服务器的定价坦诚且透明——截至撰写本文时(2025年),每月网络流出为 $0.10/GB。
作为对比,让我们来看看常见编排平台的网络流出价格信息(以及可用时的价格):
平台名称 | 网络流出价格(每 GB,截至 2025.04) | 备注 |
|---|---|---|
Edgegap | 每月网络流出 $0.10/GB | 网络流出定价为“单一价格”,适用于全球其所有 615+ 个位置 |
用于游戏 / Agones 的 Google Cloud (GCP) | Google 根据使用量对网络流出价格进行分级,并且每个位置的价格也有所不同。 | 因此,虽然前 200GB 的网络流出通常是免费的,但其每 GB 的价格差异很大,从较低的 $0.085(多伦多)到关键位置高得多的价格,例如东京 ($0.11)、首尔 ($0.119)、悉尼 ($0.12)、圣保罗 ($0.12) |
Unity Multiplay | $0.14/GiB | Unity Multiplay 的网络流出比 Edgegap 贵 140% |
AWS Gamelift | AWS 根据使用量对网络流出价格进行分级,并且每个位置的价格也有所不同。 | AWS Gamelift 网络流出定价同样按 GB 收费,因位置而异。从较低的 $0.09(北美地区)到关键位置高得多的价格,例如香港 ($0.12)、首尔 ($0.1386)、悉尼 ($0.114)、圣保罗 ($0.15)。 |
i3D.net | 无 – i3D.net 未公开分享其网络流出定价 | |
Gameye | 无 – Gameye 未公开分享其网络流出定价 | |
Hathora | 无 – Hathora 不再公开分享其网络流出定价 |
得益于其在全球范围内实行的网络流出“单一价格”,Edgegap 比北美以外市场上的任何其他平台都更实惠,并且在北美(AMER)市场也极具价格竞争力。
它也是唯一允许 vCPU 分拆(即 ¼ vCPU = 列表价格的 ¼)的编排平台,并且其在全球 615+ 个位置的无区域网络均采用“单一价格”,所有位置均可按需使用,而其他服务商则按位置收费。
结论
将成本纳入设计考量,可以让您在游戏因受欢迎而规模扩大时实现全球扩展,而无需看着预算爆炸。请控制好那些出站字节!
书写者
Edgegap团队






