昨晚的Valve源代码泄露,到底是怎么一回事?
或许是虚惊一场,也可能另含隐忧。
昨天晚上, 4chan上有人泄露了《CS:GO》和《军团要塞2》的源代码,并提供了下载链接。
SteamDB发现了这个情况,让这件事在推特上迅速炸开了锅。源代码泄露通常来说是一件非常可怕的事,只要掌握一点编程知识,意图不轨的人都可以通过阅读这些代码,了解游戏运行的机制和逻辑。
从商业角度,游戏可能会被轻易克隆换皮:《传奇》私服的大流行,就是来自2002年的一次源码泄露。而个人安全方面,黑客将可以轻易地开发出外挂程序,对运行游戏的电脑进行攻击,上百万《CS:GO》玩家的隐私和安全都可能受到威胁。
在泄密发生以后,Creator.TF已经紧急关停了他们的《军团要塞2》社区服务器,许多网友和程序员都建议玩家暂时不要玩任何基于Source引擎的游戏。
几个小时之后,Valve发布官方声明,表示玩家可以放心,虽然这次泄露的确实是《CS:GO》和《军团要塞2》的代码,但是是一个2017年的旧版本,并且Valve知道这个代码在2018年就泄露过一回,经过他们的审核,这个版本可能的漏洞已经被修复,目前的《CS:GO》和《军团要塞2》玩家可以放心游玩。
玩家们能够放下心来固然是好事,但是Valve的这个声明,可能会就让人有点摸不着头脑了:源代码在2018年就已经泄露?这又是什么情况?
这就说来话长了。这起事件的一个核心人物,是以运营“Valve新闻网(VNN)”著名的Tylor McViker。Tylor是Valve的硬核粉丝,和Valve官方的关系也非常好。他的VNN是一个专注于挖掘Valve内幕消息的玩家社区,最近也准确预言过《半衰期:Alyx》的一些玩法和特性。
同时,Tylor还主导了一个叫做“Lever Softworks”的玩家组织,这个组织的计划是利用一部分Valve的代码和素材,代替Valve完成一个叫做“F-Stop”的《传送门》衍生项目(原项目已取消)。
在2018年以前发生的事情缺乏可靠信源,但是可以确定的是, 2018年,Talyor的一些朋友和合伙人得到了这次泄露的《CS:GO》和《军团要塞2》源代码。这部分代码,加上“F-Stop”的代码,再加上一些其它渠道获得的代码镜像,就组成了这次泄露压缩包的全部内容。
Tylor的团队试图替Valve制作完F-Stop,自然对Source引擎的源代码存在需求
根据Tylor的说法,他本人没有经手这份代码,并且在知道代码泄露以后就报告了Valve。他的朋友们与Valve达成默契,不对外流通这份代码,但是依然会利用这份代码帮助“F-Stop”的开发。
前一阵,一个Lever Softworks的长期成员,因为矛盾被踢出了团队,怀恨在心。他最终选择在4chan上泄露这份源代码,并且还打包了一些Tylor和Valve员工的聊天记录。由于Tylor工作性质的问题,这些聊天记录里不可避免地带有了一些Tylor提到“源代码”和“泄密”的内容,导致一部分早期吃瓜群众以为是Tylor泄露了这份源代码。
“一个Tylor的长期熟人因为恐同和种族歧视言行被开除出了Lever Softworks”,随后这个人泄露了在Lever内部流通的源代码
这其实不是Valve第一次发生源代码丢失事件。早在2003年,《半衰期2》的测试版源代码就曾经发生过一次泄露,那次有好几个阶段的开发内容被公之于众,对Valve造成了据说高达2.5亿美元的损失。那次泄密的黑客之后还试图向Valve邀功换取工作机会,被Valve直接报警逮捕。
这次事件后续会怎样发展?泄密的人既然身份已经暴露,那么肯定难逃法律的制裁。Valve声明过期源代码不会对现在的游戏造成太大安全隐患,玩家应该给Valve足够的信任。
不过,玩家同时也应该认识到,而Valve开发Source引擎时,数据共享的程度很高,所有的Source引擎游戏,比如《传送门》《军团要塞2》和《CS:GO》,都可以看作《半衰期2》的大号Mod,在一款游戏里经常能发现另一款游戏的代码。
因此,这份源代码的泄露,多少还是会对未来的Valve游戏造成一定安全风险,包括使用Source2引擎的游戏——因为本质上Source2就是更新了一些现代程序和图形特性的Source引擎,Source2开发的《半衰期:Alyx》甚至还保留了经典的过关读条界面。
不过对于玩家来说,这可能已经是最好的结局。联机游戏运营本身就是不断和漏洞做斗争的过程,只要不是突然出现大规模的底层漏洞爆发,总有寰转的余地。
这场事件里一个比较意外的受害者是Valve的程序员。源代码泄露导致他们编程能力和编程习惯在公众的眼睛下一览无余。很多人修bug时在备注里无奈的吐槽,已经成了圈里的笑话,很可能每当以后有类似的事情出现,都要再被拎出来取笑一番。
“我不知道为什么,我不想知道为什么,我不应该想太多为什么,反正如果我们不这么设参数,这个傻X面板就会出bug”
至于Valve和玩家社区之间的关系,损失更加难以估量。
Valve在2003年发生的事件之后还能够容忍游戏源代码在外小范围流通,靠的是和玩家社区之间十几年逐渐建立的信任。维持这份信任,需要所有人共同的努力,毁掉这份信任,却只需要一个疯子的一念之差。不但Valve以后或许会收紧自己和玩家社区的联系,其它开发者恐怕也会因为这次事件变得更谨慎保守。
这不得不令人感到遗憾。