

完成一场属于玩家的 " 特别行动 "。
过去两周,《皇牌空战》系列的粉丝迎来了两件值得庆祝的事。
一件理所当然:系列最新作《皇牌空战 8:希孚之翼》终于定档 10 月 2 日发售;另一件则有些意外:一款八年前就停服的《皇牌空战》PS3 网游,被人给复活了。

2014 年上线的《皇牌空战 无限》是系列中的网游独苗。作为一款免费网游,它保留了《皇牌空战》系列一贯的街机空战玩法。但游戏的运营一直被当年的玩家所诟病:游戏采取了 " 体力氪金 " 的商业化途径,每天只免费提供可供出击三次的 " 燃油 "。为了进一步刺激消费,在每次出击后,玩家还有机会解锁收益更高的 " 紧急任务 ",倘若玩家此时已将出击数用尽,就只能氪金买油或是看着机会白白浪费。

这套做法无疑不得人心,游戏的媒体和玩家评分都没到 60 的及格线
最终游戏在 2018 年停服,玩家和运营方不再有直接的利益交集,可以更冷静地审视游戏的玩法设计,《皇牌空战 无限》那些让人惦记的点也就逐渐浮现了上来。
《皇牌空战》系列的核心卖点从来都是单人模式的剧情体验,长年以来,多人玩法方面不是开发的重心,这就让身为网游的《皇牌空战 无限》十分特别。尤其是该作中成熟的多人合作玩法循环,更是系列一向缺失的内容。
玩家可以和朋友组队,以最多 8 人的队伍挑战各种关卡,在通关后还可以用获取的资金和道具来购入、强化飞机和武器。
在 4 年的运营中,该作不断扩充收录的飞机,在数量和广度上都达到了系列之最。除去历代经典 Boss 机,像是战略轰炸机、二战螺旋桨飞机等常规正作中少见的机种都可以在该作中驾驶。

未来科幻机和二战电风扇组队,或许比 " 安东星分房 " 还夸张

该作解锁新飞机使用的科技树系统,也被系列后续正作吸收,成为了《皇牌空战》系列正作的标杆设计
1
所以很容易理解游戏真停服后,有玩家对其念念不忘,也有人曾尝试将它复活。
这事儿通常不算太难,相关环境和工具越来越成熟。比如 PS3 模拟器 RPCS3 的制作团队就搭建了专为自家模拟器设计的 PSN 私服—— RPCN,这让很多依赖 PSN 服务的网游有了复活可能。同时,一只名为 PSORG 的非盈利技术团队,则在近几年致力于解析 PS3 上老游戏通讯和加密协议,并配合 RPCN 将这些游戏的线上模式复活。

像是《PS Home》《GT 赛车 4》《捉鬼敢死队》等游戏的多人玩法都重见天日
但《皇牌空战 无限》的情况有些特殊,游戏并未使用 PS3 网游常见的 Medius 协议,而是用了万代自家的 Wind API。这个协议在技术上有诸多不同,PSORG 小组也不是很熟悉,一时间无从下手。
此外,游戏大量使用了索尼的 "TSS"(Title Small Storage)技术。服务器通过下发 TSS 文件提供网络配置、动态变量等信息,可以用来配置诸如 " 油料翻倍 " 这样的限时活动。在很多关键节点,游戏都会向服务器请求下发 TSS 文件。而关服后开发者更新了 TSS 文件,只给客户端返回一个停运提示。

大多数尝试者都被这个界面挡住了
由于无法访问服务器,游戏就会自动返回标题界面,即使进行网络抓包,也只能拿到一段加密数据。这无疑让游戏复活的难度大幅提升,PSORG 小组选择先不死磕《皇牌空战 无限》,转向其他项目。
最终的转机,来自于一名普通玩家。
2
Optimus1200 既不是 RPCS3 的成员,也与 PSORG 团队无关,只是一位曾经玩过《皇牌空战 无限》的玩家。
他对这款游戏的态度有些复杂。作为自己玩过的第一部《皇牌空战》,游戏里那种要靠氪体力才能持续出击的设定,让他当年难以充分体验游戏。可即便如此,与朋友联手迎战巨型空中航母的经历,即使隔了十多年,依旧是难以忘怀的美好片段。
后来,PS4 发售后,Optimus1200 对《皇牌空战 无限》的热情逐渐冷却,转而投入了《辐射 4》《蝙蝠侠 阿卡姆骑士》等其他作品的世界里。
直到近几个月,Optimus1200 开始进行《皇牌空战》社区中十分流行的 " 全系列回顾 " 挑战。而当他玩到《皇牌空战 5》时,那首曾在《皇牌空战 无限》中无数次播放的标题音乐再次在耳边响起。突如其来的感伤和怀念让他萌生了 " 把 PS3 翻出来做点什么 " 的念头。

如今的 Optimus1200 已经和《皇牌空战 无限》的商业化和解,在他来看,这款网游的 " 回血 " 客观上支撑了 Project Ace 做出了 AC7 和 AC8
虽然是首次尝试逆向开发和汇编,Optimus1200 对自己的能力和此次的技术难度却表现得十分谦虚。他将《皇牌空战 无限》的复活定义为 " 简单,但不轻松 "。并直言自己的成功是建立在大量前人的铺垫上的:比如名叫 Vega 的网友制作了详尽的汇编语言教程,而众多社区开发者则早已备好他此行所需的各类工具。

Vega 的汇编教程最初用于模拟 Wii 上的游戏,因此被托管在《马力欧赛车 Wii》的一个社区网站上
最开始,Optimus1200 尝试用模拟器直接链接官方服务器,和其他先行者一样,他很快也被挡在了标题界面。
将游戏的二进制文件反汇编成相对可读的汇编代码后,Optimus1200 开始逐行审查,很快认出了 "HTTPS" 这个字段,这无疑是个惊喜。只要将该字段改成 "HTTP",游戏发出的网络请求就会全部变成明文,这意味着大家第一次有机会看懂客户端与服务器之间 " 说了什么 "。
接下来,Optimus1200 开始分析抓取的日志。他选择将日志中出现的网络域名作为锚点:这些字段足够特殊,在汇编代码中也方便定位。只要对比日志中各个域名的出现时间,他就可以厘清相关代码的先后执行顺序,从而还原出游戏网络交互背后的大致逻辑。
利用收集到的信息和对程序的分析,Optimus1200 尝试搭建了一个简单的服务器伪装成官服返回指令,但依旧被一个错误指令挡住了。然而这次失败给了他新的灵感,通过反查错误代码,他找到了这段挡住大伙的 " 元凶 "。

绿色部分是进入游戏的主要代码,途中会转入红色部分进行网络校验,这部分也是大家一直卡住的关键
最终,靠着现场手搓一个自制补丁跳过校验流程,Optimus1200 让游戏绕开了那堵无形的墙,再度进入了久别 8 年的主菜单。
3
Optimus1200 将自己的成果发到网上后,包括 PSORG 小组在内的众多爱好者都被鼓舞了起来。大家聚在一起,利用 Optimus1200 创造出来的突破口寻找下一步的可能性。
很快,这个项目有了一个响亮的名字 " 永恒解放行动 ",简称 "OEL"(Operation Eternal Liberation),取自《皇牌空战 无限》中出现的同名作战。

后来架设了《皇牌空战 无限》" 国服 " 的中国网友 "Windofxy- 风 ",也是这时候参与到了 OEL 中。Windofxy 在 2017 年通过手机上的 PSP 模拟器接触到《皇牌空战 X》和《X2》,并被剧情和玩法吸引,之后陆续补完了系列多部作品。
和国内大多数《皇牌空战》玩家相似,他首次了解到《皇牌空战 无限》时,游戏早已停服。对于这一点,Windofxy 最初只是感到可惜,并未想过游戏能有复活的一天。
因此,在外网上看到 OEL 项目时,他第一时间加入了团队的 Discord 频道,看看能帮大家做点什么。

再次感慨一句我社社友卧虎藏龙
进入 " 复活赛 " 第一阶段的《皇牌空战 无限》还只能当个 " 技术 demo":在 Optimus1200 进一步完善伪装服务器后,大伙可以进入游戏体验单人剧情。但这只是个离线版网游,无法保存任何玩家进度。由于缺少关键的 TSS 文件,大伙也不能正常游玩多人模式:一旦游戏发出 TSS 文件请求,伪装服务器就露馅了,游戏也会报错退出。
Windofxy 之前曾有过给街机做魔改和汉化的经验,如今虽已退圈,但技术依然没落下。他很快成为 OEL 团队中 "CE 组 " 的一员,通过修改内存代码,让团队成员得以调取并游玩游戏内众多在线关卡,获得更多数据。

通过卡 bug 或者修改代码进入多人关卡,这种技巧在不少老游戏上都能见到
不过他也提到,虽然团队内部有 "CE 组 "" 逆向组 " 这样的说法,但实际上并没有形成一套规范化的管理结构。每个人具体都干了什么,他也只知道一小部分:
如 Killer0byte 负责后续服务器和 OEL 启动器的开发;PRORG 成员 Jumpsuit 搞定了游戏存档;曾做过《皇牌空战 6》模拟移植的 Volcano Water 参与了服务器开发。
这种景象,不禁让人想起《皇牌空战 7》中的最终战:不同阵营、互不相识的飞行员自发集结、迎战军械巨鸟。而现实中 OEL 团队的故事,正是这一幕的翻版,《皇牌空战》系列的受众,或许从骨子里就带着点浪漫的中二劲。

剧情中的 " 军械巨鸟 " 最初靠无敌的护盾挡下了攻击,但还是没能敌过主角一行的努力奋战
靠着众人拾柴,团队的进展飞速。大伙很快发现,服务器与游戏之间的通信协议有时简单得出乎意料。在很多场合,游戏发出的请求,服务器只需回复一个简单的 "OK" 就能跑通。
当针对《皇牌空战 无限》制作好了定制版的 RPCS3 模拟器和 RPCN 服务器后,就差关键的 TSS 文件了。这一步却意外地顺利:有一位成员直接获取到了共计 15 个 TSS 文件,补上了最后一块拼图。
由于团队结构松散,无论是 Optimus1200 还是 Windofxy,都不清楚这个过程的具体来龙去脉。他们只知道有人从索尼的某个 CDN 服务器上找到了这些文件,并发给了项目组。除去 TSS 文件,那个服务器上还保存着游戏美版本体及其后续全部更新包。
不过,就算没有这样的意外之喜,团队也留了后手。Windofxy 提到,他自己的群里就有一位老玩家,至今还保管着当年的 PS3 主机,如有必要,他们可以直接从这些实体收藏中提取所需文件。
在集齐了所有条件后,爱好者们搭建的伪装服务器就变成了完整的私服。它通过模拟 PSN 的各项服务,实现了玩家数据的保存和联机匹配;而 15 个 TSS 文件不仅保障了游戏的基本运行,也让随现实时间变化的周期活动得以重现。团队还破解了原作饱受诟病的燃油机制,将复活版改为无限燃油,让玩家从此不再受制于曾经的商业模式,可以真正自由地翱翔在这片蓝天之下。

PSORG 团队甚至参考《皇牌空战》官方的风格,用游戏画面给这个免费的私服剪了一段宣传视频
从 RPCN 的网站上可以看到,《皇牌空战 无限》社区服的玩家最多时达到了 124 人在线。这个数字看上去不多,却是 RPCN 历史上第二高,仅比第一名《铁拳 Tag Tournament 2》的记录低了一人。网上也时不时能看到新玩家上传视频,分享自己在这个复活项目中收获的喜悦。
对于 Windofxy 等人而言,这还远不是终点。他们开始为《皇牌空战 无限》的汉化工作筹集人手,打算将这份努力,再往前推进一步。

结语
从 4 月中旬启动,到 5 月底 " 永恒解放行动 " 圆满成功,这一个半月的历程,恰好对应了 Optimus1200 那句 " 简单,却并不轻松 "。
巧合的是,不久后的索尼发布会上,沉寂已久的《皇牌空战 8》也高调登场,放出了更多宣传内容。

这次新作更是附带了一个名为《皇牌空战 Online》的在线玩法,从详尽的捏人界面、首次出现的社交大厅和旁白对于合作玩法的暗示等来看,官方这次在多人模式上的投入堪称历代之最。这让那些《皇牌空战 无限》的老玩家,以及那些为了游戏复活不断奋战的人,品出了几分 " 隔空呼应 "。



登录后才可以发布评论哦
打开小程序可以发布评论哦