MOD被注入恶意代码,《城市:天际线》社群陷入混乱
《城市:天际线》本就是一款自由的城市建造游戏,而玩家们的自制模组进一步拓宽了游戏的可能性。《城市:天际线》支持Steam创意工坊,目前工坊里已有超过十万多款模组,从单一的建筑、道路、车辆、景观,再到一整座大都市,应有尽有。
《城市:天际线》的创意工坊页面
然而在这由玩家与官方共建的和谐生态之下,也涌动着不平静的暗流。
有时你会在《城市:天际线》的创意工坊找到两款内容相同的模组,一款是原版,一款自称“改进版”,作者却是两个人。假如你按照思维惯性下载了“改进版”,就落入了圈套:
“改进版”是被注入了恶意代码的盗版模组,会故意制造Bug,导致游戏报错,借机怂恿你下载同一作者的其他模组。要是你对这个模组公开表达批评意见,就有可能被列入“黑名单”,作者会搅乱你的城市存档,让你无数个小时的心血付诸东流。
这样的案例不久前才真实发生过。模组的对应作者叫做Chaos(混乱),人如其名,他的模组在《城市:天际线》的玩家社群中制造了前所未有的混乱。
Chaos自2021年初开始将其他作者的模组代码据为己用。他的第一个目标是Harmony,这是一款《城市:天际线》圈内人皆知的模组,是允许大量工坊内模组顺利运行的必备框架,是需要首先安装的重中之重。
正版Harmony已更新至2.2版本,订阅人数接近130万
2021年2月,Harmony 2迎来了一次比较仓促的更新,导致依赖这一框架的部分模组无法工作。Chaos趁虚而入,在Harmony 2趋于稳定后,扒下代码,在创意工坊上上传了Harmony(redesign),即“重新设计版”,自称对无法工作的模组拥有更加良好的兼容性。
Chaos与Harmony原作者、制作组Colossal Order的工作人员Boformer有些矛盾,发起了多次人身攻击,还曝光了对方的真名。由于涉嫌人肉行为,Chaos的Steam账户遭到社区封禁,还败光了路人缘,一些模组作者明确表示抵制,并停止对他模组的支持。
Harmony“重新设计版”,最后一次更新为2021年3月
此后他以小号Holy Water(圣水)继续活动,扬言称,他受到了官方制作组与一批主流模组制作者的“迫害”,而他“反击”的方式,则是用这个小号上传的更多模组。
2022年1月25日,《城市:天际线》官方发布了新DLC“机场”,模组作者需要跟进维护,让自己的作品兼容新版本游戏。
Chaos再次出动,这回他盯上了Network Extensions 2(网络扩展,以下简称NExt2)。NExt2是一款道路模组,其历史可以追溯至《城市:天际线》刚发售的2015年,目前拥有近120万人的订阅数量。NExt2年久失修,不适配主流的Harmony框架,也暂时不兼容新的“机场”DLC,被一些玩家视作过时的模组。
NExt2最后一次更新在2020年
Chaos照搬了NExt2的代码,以NExt 3的名义发布模组,并强制要求订阅NExt3的玩家使用他的Harmony“重新设计版”框架。当正版Harmony的用户使用NExt3时,游戏就会报错并弹窗。
Chaos将一切错误与问题归咎于其他的模组及作者,把指责NExt3“没有新内容”“存在抄袭嫌疑”之类的批评言论一律当成官方的“迫害”,删除评论,还将这些人记入了一份“黑名单”。
Chaos把这个功能称作“巨魔控制”
在NExt3的后续更新中,Chaos添加了阻止“黑名单”上特定用户使用模组的代码,这串代码能够获取玩家的SteamID。2月9日,Chaos又推出了“Update from Github”(从Github更新)模组,通过直接从Github开源代码网站更新的方式,规避Steam创意工坊的审核。
从头到尾,Chaos的种种行径激发了大量玩家与主流模组制作者的不满。2月11日,另一模组TM:PE的作者Aubergine18站了出来,宣布自己的模组将不再兼容Chaos制作的任何模组,随后在Steam社区写了一篇长帖子,揭露Chaos的所作所为。
帖子翻译:B站@数合天际
简而言之,Chaos的模组是对所有当前《城市:天际线》主流模组的蓄意破坏。他的模组才是游戏停止工作的主要元凶,却实时监测正版Harmony及其他主流模组,再把错误根源栽赃给它们。
面对前来质询的玩家与模组制作者,Chaos会说,自己的代码完全“开源”,指责这些模组搞不好兼容性、水平太次,辩解称自己才是“受害者”,进而为自己的盗版Harmony及后续模组引流。
但与“开源”原则相悖的是,Chaos不仅将自己造成的游戏报错怪罪给主流模组,徒增模组作者的工作量,还禁止制作者复制他的模组代码,为试图兼容Chaos模组的尝试制造更多困难,进一步转移玩家们的注意力。
Chaos的黑名单也暗藏在模组代码之中。黑名单共有两份,被Chaos称作“混蛋”(assholes)与“巨魔”(Trolls)名单,记载了数十名用户的SteamID。
Aubergine18表示,黑名单中对应的用户,涉及多位模组制作者、官方员工,以及一些曾对Chaos及其模组提出批评的普通玩家,大部分人在事发之前对此毫不知情。如果黑名单上的玩家在运行游戏时开启了Chaos模组,恶意代码就会启动,降低城市中所有道路的限速数值,影响交通系统,从而损害玩家的存档。
考虑到Github的开源性质,Chaos将黑名单玩家的SteamID放到网站上,已经构成了对个人隐私的泄露。
Github网站上遗留的“混蛋”黑名单
此外Aubergine18提到,Chaos在Github网站上更新的模组,已经能够绕过Steam,直接从Github网站提取数据,哪怕玩家手动禁用模组,模组也会在打开游戏时自动启动。这样的漏洞意味着Chaos有能力借模组的名义在玩家的电脑中植入任何程序,包括最恶意的那些。
来自玩家的反馈,真不一定是段子
Aubergine18的长帖子还没更完,Chaos就迅速展开反扑,正式宣布决裂,挪用TM:PE的代码,推出了所谓的“一个分支”。当然,这个“分支”也只适配Chaos的所有模组。
“我没有写这段代码,我只是在维护它”
据B站用户@uiop4869爆料,2月11日当天,正版Harmony与TM:PE模组遭到大批用户恶意举报,触发了Steam创意工坊的相关机制,导致两个模组一时无法访问。
大量的玩家与模组作者,根据Aubergine18的帖子了解了事情的全貌,认定举报是Chaos所为,便群起而攻之,采用了包括点踩、刷差评、举报、转发,乃至寻求媒体协助在内的手段,抵制Chaos和他的模组。
外媒NME的报道认为Chaos的模组存在恶意软件威胁
最终,Chaos的Steam小号被封禁,NExt3与“从Github更新”模组也被创意工坊下架,他的Harmony和TM:PE等盗版模组则一度被Steam标记为“少儿不宜”。
2月15日,来自《城市:天际线》官方的一篇公告,正式为这起事件盖棺定论。公告表明,NExt3歧视并阻止特定Steam用户,违反了Steam的用户协议,理应下架;“从Github更新”则会在用户不知情的情况下修改模组内容,可能造成潜在的滥用,也应该删除。
但是公告也提到,已经被删除的两个模组中,官方并未发现如“键盘记录器、病毒、比特币挖掘软件”之类的任何恶意程序。剩下的模组虽然还能正常访问,但失去有效Steam账户的Chaos,无法从正规渠道为这些模组提供更新,等同于废弃状态。
Chaos被赶出了Steam社区,可他给玩家们制造的混乱仍在持续。NExt3被官方正式删除前,订阅人数已经超过13000次,这还没算上创意工坊之外的大量分流下载与分享途径,实际的受害者数字只会更高。
2月以来,国内外的《城市:天际线》社区、玩家组织与意见领袖,纷纷呼吁玩家们仔细检查Steam创意工坊的订阅,退订Chaos及其小号上传的所有模组,且避免使用创意工坊以外的模组,如有可能,把过时模组替换成一些实时更新的模组,在一切都无法挽回之前,拯救自己的存档与城市。
Reddit《城市:天际线》版块的置顶帖
B站数合天际团队的相关声明
在账户被彻底封禁前,Chaos把“圣水”小号更名为“我找到了Colossal Order的键盘记录器”(I found Colossal Order Keylogger)。他翻出了一段《城市:天际线》游戏本体的代码,声称游戏本体就内置“键盘记录器”,同样有违反用户协议、侵犯用户隐私的嫌疑,而针对他的攻击,不过是Colossal Order的一种公关策略,或者说“损害管制”。
不过,鉴于Chaos给社区造成的巨大混乱,就算他真的受到过什么“迫害”,也很难再有玩家愿意相信他所说的话了。