一个平台,三种截然不同的网络配置文件
与...合作撰写
Warped Games
主要亮点
Warped Universe 并不是单一的服务器工作负载,而是包含三个:一个容忍延迟的社交枢纽、一个对帧率敏感的实时合作模式,以及一个由 RPC 驱动的回合制合作模式。这三者各自有着不同的规模和延迟需求。一位工程师将这三个模式全部连接到同一个 Edgegap 部署 API 和同一个容器流水线,仅根据每个模式改变版本模板。
Warped Universe 的战斗是实时且由服务器决定的。这意味着伤害、命中检测和人工智能等核心游戏元素需要权威的确认,而一个往返时间在 150 到 250 毫秒之间的遥远服务器会影响到每时每刻的游戏体验。Edgegap 会自动在每位连接的玩家附近部署一个服务器,并代表 Warped Games 管理多地区服务器集群。
每个任务都会启动单独的游戏会话(无论是通过匹配还是队伍邀请),并在任务结束时关闭。Warped Games 的匹配后端会针对每个任务调用 Edgegap 的部署 API,这会立即在最靠近玩家的位置部署游戏服务器,以便大厅玩家可以直接进入游戏。容量会随着实际需求而变化,一个任务接着一个任务。
负责后端微服务的工程师同时也负责编排工作。部署新版本只需一个 CI 步骤,即发布一个受版本控制的 JSON 模板。本地 Docker 循环运行与实际生产容器完全相同的形态,因此团队可以在本地测试服务器版本,然后将其游戏服务器部署到全球,供玩家加入。
工作室
Warped Games 是一个由 12 人组成的独立工作室,凝聚了行业资深人士的创意协同效应,其成员曾参与过《乐高宇宙》(LEGO Universe)、《巨龙与泰坦》(Dragons & Titans)和《跃迁门》(Jumpgate)等标志性项目,并与《星际公民》(Star Citizen)、皮克斯(Pixar)和迪士尼(Disney)等行业领军者进行过合作。没有发行商,没有投资者对他们指手画脚。只有开发者在打造他们自己想玩的游戏。
这款游戏就是《Warped Universe》,使用 Unreal Engine 5 打造。用工作室自己的话来说,这是一款免费的科幻 PvE 掠夺射击游戏,背景设定在一个不断变化和扩张的宇宙中,每一次任务都会推动玩家和社区共同进步。每个任务都服务于整个赛季的宏大目标。占领一个设施,就能为整个社区解锁永久的增益效果。发现一颗新星球,就能为所有人开放更多的地图区域。而且,每次任务都可以作为实时动作或回合制策略来玩,无论是在地面还是在太空,每次都由玩家自己选择。
在这一切的背后,运行着一个专用的、服务器权威的多人游戏模型。这就是 Edgegap 的用武之地。
挑战
Warped Games 带着三个问题找到了 Edgegap,而且他们已经对每一个问题进行了精确的评估。
全球玩家群体,单地区托管无法满足需求。 合作战斗是实时的且由服务器权威主导,因此延迟会直接影响到玩家。如果仅在美区或欧区部署服务器集群,会导致其他所有玩家面临 150 到 250 毫秒的往返延迟,这在实时战斗以及保持在线的回合制会话中都能明显感觉到。服务器需要主动靠近玩家,而不是让玩家去适应服务器。
爆发性、难以预测的需求。 这不是一个持久的主世界服务器。会话是以任务为范围的、四人组队、通过匹配或队伍邀请创建、按需启动并在任务结束时销毁。Warped Games 希望服务器容量能够追踪这种节奏,在多支队伍点击“开始”的那一刻就准备就绪,而在其余时间无需承担常开服务器的成本。
团队中没有专职的运维角色。 编排工作需要是负责后端微服务的工程师也能兼顾的事情。它必须能够无缝嵌入到现有的 CI 流水线中,并且保持轻量化运行。
“我们需要服务器部署在每个玩家附近,而不是让玩家去适应服务器,同时又不想自己去搭建和管理多地区的服务器集群。” —— Scott Brown,Warped Games 联合创始人 / 总裁 / 首席游戏开发
解决方案
无地区限制的边缘部署。 Edgegap 不需要 Warped Games 提前挑选地区,而是自动将每个服务器部署在连接玩家的附近。延迟问题在部署时就得到了解决,而且多地区服务器集群也由平台代为管理。
按需部署。 Warped Games 运行匹配和游戏大厅的 Beamable 后端会为每个任务调用 Edgegap 的部署 API。服务器在玩家附近部署,并在游戏大厅加载时准备就绪,然后在任务结束时释放。容量随着真实需求而动,不漏掉每一个任务。
“我们的匹配后端会针对每个任务调用 Edgegap 的部署 API,并在大厅完成加载的时间内完成服务器的部署和启动。无需为闲置的服务器集群付费或进行管理。” —— Scott Brown
一条流水线,由一名工程师掌管。 这就是集成的成效所在。部署新版本只需一个 CI 步骤:流水线提交一个包含镜像标签、资源限制和端口的受版本控制的轻量 JSON 模板,Edgegap 就会将其构建并发布为一个运行版本,无需在每次发布时进行手动的控制台操作。为了快速迭代,团队构建了一个本地 Docker 循环,运行与 Edgegap 在生产环境中运行完全相同的 Dockerfile 和启动脚本,使用相同的容器形态、相同的环境变量和相同的内存限制。当他们想要检查活动服务器时,Edgegap 的部署和容器日志 API 以及导出到 S3 的持久日志,能够提供会话期间发生事件的清晰证据,而无需搭建独立的观测堆栈。
“我们构建了一个本地 Docker 循环,运行与 Edgegap 在生产环境中运行完全相同的 Dockerfile 和启动脚本。这种本地的一致性使得一个小团队能够快速迭代,而不用在每次修改时都消耗云端部署资源。” —— Scott Brown
每次合并都会自动生成一个新的容器镜像和 Edgegap 版本,而且因为它始终是“最新的”,所以故障排查变得非常简单。团队时刻清楚哪个版本是在线运行的。
“每次合并都会自动生成一个新的容器镜像和 Edgegap 版本。因为始终是‘最新’版本,我们永远不需要问‘这个 Bug 存在于哪个版本’。” —— Scott Brown,Warped Games 联合创始人 / 总裁 / 首席游戏开发
一个平台,三种截然不同的网络配置。 《Warped Universe》拥有的不止一种服务器工作负载。它有三种,每种都有不同的规模和延迟需求,而这三种都运行在同一个 Edgegap 部署 API 和同一个容器流水线上:
空间站枢纽,社交大厅。 许多玩家同时处于一个具有持久感的空间中,处理聊天、在线状态和组队。对延迟不敏感,但需要一个能够容纳人群的服务器。
实时战斗合作,地面与太空。 四人小队,服务器权威的移动、伤害和 AI,对延迟极其敏感,精确到帧。它需要将服务器部署在靠近每个玩家的地方,针对每个任务重新启动,并在任务结束后销毁。
回合制战斗合作。 采用相同的四人、服务器权威模型,但动作通过 RPC 驱动的回合交换来解决,而不是连续的实时状态。带宽和 Tick 压力要小得多,但具有相同的会话生命周期:在大厅启动时部署,在任务结束时销毁。
一个集成点灵活适应了所有这三种情况。Warped Games 只需根据工作负载、资源限制、启动地图和模式来更改版本模板,其他一切保持不变。
“《Warped Universe》不止有一种服务器工作负载,它有三种,每种都有不同的规模和延迟需求,而 Edgegap 覆盖了所有这些需求,我们不需要寻找不同的供应商,也不需要为每种模式进行定制化设置。” —— Scott Brown
结语
该团队将部署和编排融入到现有的微服务后端和 CI 流水线中,区域选择和集群管理则交由 Edgegap 处理。三种截然不同的网络配置,一个统一的集成点。容量能够完美追踪波动性大、以任务为范围的游戏进程。
“按部署付费的模型符合我们的实际使用情况——呈爆发性且以任务为范围,而不是强迫我们使用常开的服务器,导致我们在凌晨3点没人在线时还要为此付费。” —— Scott Brown
这正是工作室继续推动一个雄心勃勃、社区驱动的宇宙向前发展所需要的。基础设施不再是障碍,团队可以重新专注于游戏本身。








