《魔兽世界》已经运营了22年,但即便是现在,暴雪有时仍然难以应对玩家的热情。昨天,《魔兽世界:永恒》的beta测试服上线,随即在大量玩家同时涌入的压力下崩溃。暴雪在这方面已经有几十年的经验,为什么还会发生这种事?开发者自己说,他们确实被《永恒》beta测试服的火爆程度吓了一跳。
“天哪,昨晚我激动得很难入睡,”高级游戏设计师 Josh Greenfield 在推特上说。“Beta测试服……太疯狂了。这是我在暴雪工作17年、做经典服将近8年以来见过最夸张的数字。我们手里这东西真的很特别。”
![]()
这话听起来可能有点夸张,但高级游戏制作人 Tom Ellis 在推特上发布了一篇更详细的技术复盘,说明了《永恒》beta测试服开放头几个小时到底出了什么问题。“这压根不是一个正式的生产环境,差得远,差得远,差得远,差得远,差得远,差得远,”Ellis 解释说。“魔兽的beta测试服通常不会带来多大的流量波动,所以这套环境本身就没那么强的性能。”
因为“我们这个小破beta环境只用了单个区域服务器”,Ellis 说,当这一个小小的连接点突然要涌入这么多玩家时,服务器上的“算术”就开始出问题了。这就是为什么很多人排完长长的登录队列后,进去没一会儿就被踢出来。
开发团队花了“大约半小时”才定位到这个瓶颈,因为游戏和 Battle.net 服务两边显示的负载都很低。“我们都意识到,当这个系统触发时需要更多的日志和通知机制,但这是第一次有人遇到系统触发时,没有伴随明显的 CPU 问题,”Ellis 解释说。“20年了,总有新东西。”
Ellis 也回应了玩家在拾取、接任务以及类似需要服务器响应的操作时遇到的长时间等待。“我们勇敢的 Oracle 数据库工程师不得不手动对所有表做一次分析,并设置一些定时任务周期性执行,”但因为服务器被访问得太频繁,常规频率根本不够用。开发团队一解决这个问题,数据库性能“立刻就清爽了”。
还有重启的问题。“开服几个小时后,我们注意到运行游戏模拟的 WORLD 池 CPU 飙得离谱,内存也快见底了,”Ellis 解释说。空地图没有被正确关闭,这些空地图慢慢——其实“也没那么慢”——把服务器的 CPU 和内存占满了。开发团队找到了修复方案,但这个方案需要重启才能生效。暴雪也借这个机会加了更多世界,并扩展了区域服务,用来提升稳定性。
2019年,我们曾采访过许多开发者,问为什么大型网游总在开服时崩掉,看起来所有同样的问题都会不可避免地冒出来。当时有位开发者说,这类上线问题“根本不可能”彻底解决,而《魔兽世界:永恒》这次的表现,恰好说明每次冒出来的都是新问题。不过至少,修复来得比过去快了。我年纪够大,还记得《暗黑破坏神3》上线后,玩家好几周都玩不痛快……
《魔兽世界:永恒》不允许 GDKP,暴雪表示,这款新 MMO 的经济系统“是我们认真对待的事情”。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.