《魔兽世界》已运营22年,即便到了现在,暴雪有时仍难以应对玩家需求。昨日,《魔兽世界永恒》开启测试,随即因玩家扎堆涌入导致服务器直接崩溃。暴雪拥有数十年MMO内容上线经验,为何还会出现这种情况?开发者表示,他们也完全没料到《永恒》的测试会如此火爆。 高级游戏设计师乔希·格林菲尔德在推特上表示:“天呐,昨晚我激动得都睡不着觉。测试的情况……太疯狂了。这是我在暴雪工作17年、在怀旧服项目待了近8年来见过的最离谱的数据。我们这次做的东西真的非同凡响。” 这话听起来或许有些夸张,但高级游戏制作人汤姆·埃利斯发布了一份更详尽的技术分析,解释了《永恒》测试开服初期的故障原因。埃利斯在推特上说明:“这根本不是生产级的服务器集群,差得远了去了。《魔兽世界》的测试服通常不会有太大的流量波动,所以这套环境的配置本身就没那么高。” 埃利斯表示,由于“我们这套小型测试环境只启用了一台区域服务器”,海量玩家突然涌向这唯一的接入点,导致服务器的运算逻辑开始出错。这就是玩家排了漫长的登录队列后,还频频掉线的原因。 开发者花了“约半小时”才定位到这个瓶颈,因为游戏本身和战网服务都显示负载极低。埃利斯解释道:“我们都清楚,这套系统触发时需要更多的日志记录和通知提醒,但这种没有明显CPU异常伴随的触发情况,所有人都是第一次遇到。二十年了,总能碰到新问题。” 埃利斯还提到了玩家在拾取物品、接取任务等需要服务器响应的操作时出现的延迟问题。“我们敢打敢拼的甲骨文数据库工程师不得不对所有数据表执行手动分析,还设置了一些自动任务定期维护”,但由于服务器访问频率过高,常规的处理速率根本跟不上。开发者一解决这个问题,数据库性能“立刻就恢复了正常”。 之后还进行了服务器重启。埃利斯解释:“开服几小时后,我们发现运行游戏模拟的世界服务器池CPU占用飙升,内存也快耗尽了。”空地图没有被正确关闭,这些进程正慢慢——或者说“其实也没那么慢”——挤占服务器的CPU和内存。开发者找到了修复方案,但需要重启服务器才能生效。暴雪也借此机会新增了更多世界服务器,扩容了区域服务,进一步提升稳定性。 早在2019年,媒体就曾采访过多位开发者,探讨大型网游开服必崩的原因,看来这些老问题总会不可避免地反复出现。曾有开发者表示,要彻底解决这类开服问题“根本不可能”,而《魔兽世界永恒》的情况也证明,每次开服总会冒出新的状况。不过话说回来,至少现在修复速度快多了。我可是还记得当年《暗黑破坏神3》发售后,玩家折腾了好几个星期都没法好好玩…… 特别