冲级成功的消息在电竞圈里炸开的速度,比星火战队任何人预想的都要快。
当晚,“星火冲级成功”冲上热搜第一,话题阅读量在两小时内破了三亿。各大电竞媒体争相报道——标题一个比一个夸张:“退役女王归来”、“星火涅槃重生”、“电竞史上最燃回归”。沈听澜的名字再次出现在所有社交平台的热搜榜上,和三年前的不同,这一次评论区里最多的词是“对不起”和“欢迎回来”。
老猫连夜发了一篇长文,发布在星火战队的官方账号上。标题只有三个字:“我们回来了。”正文里没有煽情,没有卖惨,只是把三年来的所有战绩、所有人员变动、所有盈亏数字平平地列出来,最后一句话是:“谢谢每一个没有放弃我们的人。”
顾行在评论区的第一条热评里回复了一个表情——火焰。然后他放下手机,转头对阿七说:“看来我得认真想想咱们的粉丝叫什么名字了。”阿七说:“你先把明天的复盘做完再膨胀。”
但这三天不是只有好消息。星火现在面临的压力是两方面的:比赛和舆论。
冲级赛结束后,联盟官方公布了新赛季联赛制的赛程安排。星火作为冲级成功的队伍,将在新赛季首轮对阵五号种子“雷霆”——那支在积分赛阶段就被沈听澜和厉砚辞联手打破过的强队,但当时他们面对的并非雷霆的完全体。与此同时,联盟纪律委员会再次给沈听澜发来了通知,要求她在新赛季开始前完成“补充资格审查”,理由措辞含糊——“关于选手历史数据的完整性存疑”。
“不是说七个工作日内给结果吗?”阿七看到通知的时候皱紧了眉头,“这不是故意拖吗?”
“不止是拖。”沈听澜把通知转发到全队频道,“他们是在给我压力。听证会安排在新赛季首战前一天,不管结果如何,都不早不晚刚好能影响我首战的心态。”
这是联盟惯用的手段——不直接禁赛,而是用反复的程序性问询消耗选手的精力。三年前她父亲被开除之前,也经历过类似的流程:反复问询、反复审查、反复要求补充材料,直到把人拖到筋疲力尽。
所以她决定不接这个招:“我会在听证会上把话说清楚。然后第二天照常打比赛。”
厉砚辞这时候走进战术室,手里拿着一份打印出来的文件。“小K刚发来的,”他把文件摊在桌上,“联盟新赛季的安全系统升级了。他们加了一套实时监控机制,专门针对选手终端的异常数据请求。任何从选手终端发起的非标准查询,都会被秒级记录并报警。他们说这是为了‘保障比赛公平’,但升级的时机和参数范围明显冲我们决赛日的计划来的。”
“镜知道了?”顾行脱口而出。
“不一定。”沈听澜看着那些技术参数,脑子里在飞速运算,“他可能感知到了威胁,也可能只是常规升级——我们冲级赛上打的那些数据曲线太干净,反而让镜这样关注后台的人不会完全安心。无论他知不知道我们的具体计划,这次的防守升级,确实会让我们的后门脚本触发风险。”
厉砚辞说:“那就换一条路。不用选手终端的直接查询权限,改成被动监听模式——让脚本在比赛期间嗅探内网的数据流,把签名和授权记录的数据包截取下来,赛后离线破解。”
“截取容易,破解需要时间。”沈听澜蹙眉,“安全系统升级之后,截取到的数据包会增加一层动态加密,实时解密不可行。我们必须在比赛结束到安全团队发现数据包丢失这段时间内完成破解,窗口期非常短。”
“多短?”
“大约几小时,最多半天。”
战术室里陷入了一阵短暂的沉默。星火刚冲进联赛,马上要面对新赛季的强敌,而且三年前真相的最后一块拼图——镜的电子签名和授权记录——随时可能随着联盟数据清理行动消失。压力在他们肩上沉甸甸地堆着,但沈听澜的背依然挺得笔直。
“够了。”她说。
所有人的目光都集中到她身上。
“几小时够了。把时间窗口具体算给我,脚本我来改。老猫,你负责联络小K,确保我们的离线破解工具在决赛日前到位。厉队,决赛日之后全队必须打出足够的舆论关注度,让联盟没办法在公开场合对我们动手。”她的指节轻扣在桌面那些文件上,没有一丝犹豫,“我们不是在偷东西,是在帮三年前的真相翻案。就算只有几小时的窗口,也足够让证据浮出水面。”
阿城在旁边听到这里,小声说了句:“沈姐好像电影里的那种……”
“闭嘴训练。”厉砚辞说,但嘴角分明往上翘了一点点。
从那天开始,星河基地进入了一边备战、一边备战的双线作战模式。表面上,星火全员在为联赛首轮对阵雷霆做战术准备;暗地里,沈听澜和小K在不断完善决赛日的脚本方案,试图在联盟安全系统升级后的新防御中找到一个可以撬开的缝隙。
而这个缝隙最终被沈听澜找到了。她在新安全协议的底层日志中发现了一条旧加密频道的引用注释——那是联盟早期数据系统中一个几乎被遗忘的冗余接口,原本用于离线赛季数据存档。镜在本次升级中显然没有完全封堵这个接口,因为它不在常规的攻击面上。
“我们可以从这条旧通道进入,”沈听澜指着屏幕上她标注的接口路径,“走存档协议,用比赛期间的正常数据传输流量掩盖请求,把主席签名和镜的授权记录伪装成常规赛事日志的一部分。”
小K在那头沉默了几秒,然后用一种带着敬畏的语气说:“你知道你刚才说的是什么级别的操作吗?如果是在黑客圈里——” “我不是黑客,”沈听澜打断他,“我是选手。我只是想拿回被偷走的东西。”
首战前一天,联盟纪律委员会对沈听澜的补充资格审查问询在总部一间没有窗户的小会议室里再次召开。问询人依然是周明,问题依然是那些绕来绕去的老问题——退役原因、复出动机、是否接触过联盟内部数据。但这一次周明的语气明显紧了一些,提问速度加快了,中间不止一次地推眼镜,额头渗出细密的汗。沈听澜注意到他被问到自己上级的职务范围时,有一个异常短暂的停顿——那是人在被问到不想回答的问题时会有的微反应。
问询结束时,周明合上文件夹,忽然低声说了一句不在台本上的话:“沈女士,我建议你……不要再查了。”
沈听澜看着他。“周先生,您在建议我放弃我的合法权益?”
周明的嘴唇动了动,最终什么都没说。他站起身,几乎是逃一般地离开了会议室。
沈听澜把录音存档,走出联盟总部的时候,春季的夜风带着寒意扑面而来。厉砚辞在门口等她,手里拎着两杯豆浆,其中一杯已经凉了。显然等了很久。
“如何?”
“他们慌了。”沈听澜接过豆浆,喝了一口,“慌了的对手更容易出错。”
“明天首战雷霆,”厉砚辞说,两个人并肩走进夜色里,“准备好了吗?”
“你呢?”
厉砚辞偏过头看她,眼底的琥珀色在路灯下微微发亮。“你回来了,我就准备好了。”
雷霆是联盟排名第五的豪强战队,上赛季距离世界赛名额只差一场胜利。新赛季他们保留了全部主力阵容,还引进了一位韩国教练。所有赛前预测都在说星火将遭遇冲级后最严峻的考验,“能撑到后期就算赢”。
首战当天,光年电竞馆座无虚席。星火穿着那套修补过的旧队服走进赛场时,全场观众的掌声和嘘声混在一起,分不出比例。
BP阶段雷霆三ban中单。沈听澜没有意外,拿了卡莎。厉砚辞选出盲僧。开局阶段,雷霆果然如赛前分析的那样全面压制——他们的上野入侵更快、下路配合更默契,头十五分钟,星火三路被压,经济落后将近两千,只有沈听澜的卡莎发育与对面中单持平。
“现在怎么办?”阿城在语音里问,声音还算镇定,但明显在压着不安。
“输是正常的。”沈听澜的声音在队内语音里响起,像一块镇石,“但我们不会输。从现在开始,听我的指挥。阿城,上路你扛住三分钟,不用反打,只扛。林野,野区资源全部放给他,别争。阿七顾行,下路别压线。”
第二十二分钟,转折点出现。雷霆打野第三次入侵星火野区,意图复制前两次的成功。但这一次林野提前藏好了视野,厉砚辞从对面完全没有预料到的角度切入,盲僧猛龙摆尾把雷霆打野踢进龙坑,沈听澜同时从河道的入射角度打出连招,两人的技能衔接没有一帧浪费,瞬间秒杀。然后两人同时转向下路,配合顾行和阿七完成三杀。
一波零换三。经济反超。
第三十七分钟,星火拿下大龙。第四十二分钟,推掉雷霆主塔。
二比零。整个光年电竞馆在短暂的寂静之后,爆发出山呼海啸般的欢呼声。解说在话筒里喊着星火的名字,弹幕上的“星火”二字几乎把整个屏幕遮满。
从这天起,星火正式进入联赛制后半程的冲刺阶段。所有人都在讨论这支从解散边缘杀回来的队伍,讨论那个叫沈听澜的退役选手——她的反应曲线、她每次逆序连击的帧数、她选手中单支援时永远比对手快的那零点几秒。但沈听澜自己不看这些。她在基地一楼的训练室把全队的录像片段逐帧拉过,补上每一次漏掉的走位;跟小K反复调试脚本在各种模拟环境下的稳定性;在深夜里走到天台,把父亲笔记里那句话默念一遍,然后下去继续。
联赛后半程,星火继续保持着惊人的势头。相继击败了“烈风”、“深渊”、“破晓”等多支老牌劲旅,积分稳居前六。阿城在上路成长为稳定的抗压位,不再需要沈听澜分心照顾;林野和厉砚辞的中野配合从最初的格格不入变成了联赛公认的最具威胁的中野组合之一;顾行和阿七的下路搭档默契度跃居联盟前三;老猫的战术板被越来越多的对手分析师称为“最难预判的布局”。
苏软的消息通过加密频道再次出现时,发来的仍是简练到极致的情报:【镜手上还有一份旧赛季的财务流记录,与决赛数据校准的资金走账相关。如果能拿到它,修改比赛结果就可以和资金链直接挂钩。】消息末尾是一个文档路径,有效期只有一小时。
沈听澜没有回复。她把路径转发给小K和厉砚辞。十分钟后小K回了一条消息,罕见地没有用任何玩笑的措辞:“这个路径是真的。但镜的权限把得很死,常规手段拿不到。只有决赛日,当他们的监控资源被比赛占满的时候,才有机会。”
“那就决赛日。”沈听澜说。
距离决赛日还有不到一周。星火积分稳进前四,已经锁定联赛季后赛名额。沈听澜在总决赛前最后一次队长会议上,对着全队把证据链从头到尾梳理了一遍:三年前的异常比赛日志、老猫手里的原始数据对比、数据校准方案的目录摘要、帝临队长的授权记录、镜的电子签名……每一条证据都被她用红色的箭头连接起来,形成一张完整的关系网。
“决赛日是我们的终点,”沈听澜合上战术板,“也是所有人的起点。”
星河基地窗外,春夜的天空被城市的灯光染成浅橙色,旧工业区一如既往地安静。远处偶尔传来货车的低鸣和风吹过厂房屋顶薄铁皮的声响,天台上那面褪色的火焰旗在夜风里沉稳地翻卷,不再孤独。