玩家在修改《史丹利的寓言》时意外发现了类似“千年虫”的Bug

500

经典Meta游戏《史丹利的寓言》有一个非常著名的成就叫作“Go Outside”,需要玩家连续五年不打开游戏才能解锁,而在今年发售的《史丹利的寓言 豪华版》中,同样设置了一个名为“Super Go Outside”的成就,这次的解锁条件则变成了“连续十年不打开游戏”。

按照成就说明,在这个于今年4月份上线的游戏里,想获得这个成就最快也必须得等到2032年4月,但如果你现在打开Steam的游戏页面,会发现已经有3.8%的玩家解锁了该成就。

500

显然,这次又有“时间刺客”了。通过调整系统时间来提前获得成就,这种卡Bug般的玩法早在多年前就被玩家们熟练使用。初版《史丹利的寓言》于2013年发布,但在2018年到来前,不少玩家就已经通过修改时间提前拿到了成就,官方无法制止这种行为,却也曾半开玩笑地发布过一条推文:

500

这段话最开始是玩家用来嘲讽一位开修改器通关《只狼》的游戏编辑所做,官方这么用更像是玩梗。但最近,有人在试图通过修改时间获取成就时,却意外发现了一个奇怪的Bug。

一位玩家在推特上分享了自己的经历:当他为了图省事,一口气将系统时间拉到2040年时,突然发现Steam的客户端莫名其妙被修改了字体。

500

根据玩家的说法,他仅仅是修改了电脑的系统时间,Steam的客户端就发生了错误并切换到了上图的手写字体模式。

在经过一系列调查后,这位用户自己给出了结论——这得归结于“2038年问题”。如今在32位Unix系统中,都是以1970年1月1日0时作为时间的基准点,往后的时间都以“秒”为单位记录成一个有符号的32位正整数(1970年以前则用负数记录)。

32位有符号正数换算成十进制就是“2,147,483,647”,如果用秒来计算,则时间刚好到2038年的1月19日3点14分07秒,如果时间再往后,系统就会出现一些未知的错误。

这位用户推测可能是在调整时间后,计算机32位unix系统内的字体库出现了其他bug,并导致Steam内的字体被随机替换了。

虽然如今多数用户的操作系统已经换成了64位,但并不能解决所有问题,这次因为字符溢出仅仅改变了字体,但谁也不知道下次会发生什么更离奇的时间。在弄清了原因后,这位发现问题的玩家总结道:

“2038年将会是格外有趣的一年。”

全部专栏