手机震动第三下时,林默才意识到不是错觉。
他猛地抬头,屏幕黑着,主机风扇还在转,保温杯里的枸杞沉在底,像几粒泡烂的药渣。刚才那一下震动太轻,像是从桌角传来的共振——可这桌子连鼠标垫都没有,怎么会有震感?
他伸手摸向手机,指尖刚碰上机身,又是一震。
这次看清了:锁屏界面弹出三条警报通知,全来自部署在暗网爬虫的监控脚本。
【警告:检测到Project_N测试包传播源】
【二级节点扩散中,P2P共享数已达47】
【盗版站“游废网”首发,三小时下载量10,283】
林默手指一顿。
“游废网”是专收残血项目的坟场论坛,正经开发者避之不及,只有被大厂拒稿的半成品才会流过去等死。现在他的测试包不仅上了首页推荐位,还被人打包成“国产反物理引擎实机演示”,标题加了三个感叹号。
他点开链接,页面加载出截图:正是昨天上传的那个“空气跳”视频帧,阿婆悬在断桥上的画面被放大,底下跟帖炸了锅。
> “这视角转换会晕3D!!谁受得了?!”
> “技能树是倒三角?点完高级技才能解锁前置?脑子进水了吧?”
> “说好的反物理呢?就这?踩空气算哪门子创新?”
> “建议改名叫《逆智商》。”
评论区已经翻到第十五页,有人录了本地运行视频,显示角色转身时摄像机会绕到模型背后卡两帧;还有人扒出配置文件,发现默认分辨率锁定在720P,怒斥“穷到买不起高清贴图”。
林默一条条往下划,没动表情。
他知道这些声音迟早会来。但问题不在骂什么,而在——他们真的下了,真的在跑,真的连上了服务器。
他切回后台数据面板。
在线人数:**3,142**
连接峰值曲线像根烧红的铁钉,直直捅向上方。请求延迟从最初的80毫秒飙到1.6秒,数据库写入队列积压超过两千条。更糟的是,IP来源分布图上,东南亚和北美西海岸的光点密集得不像话。
“不是国内小圈子自嗨。”他低声说,“是真有人翻墙进来试。”
门被踹开的时候,老周正卡在门口。
那人穿着洗出毛边的格子衬衫,头发三天没梳,手里抱着一台拆了侧板的机箱,脸涨成猪肝色:“谁!把!测!试!包!放!出!去!了!”
林默没抬头:“不是谁的问题。”
“不是谁的问题?!”老周把机箱往地上一墩,“这破宽带撑五百人都费劲,现在三千多人往里冲!内存池马上见底!你知不知道一个未授权访问就能触发链式崩溃?!”
“我知道。”林默终于抬眼,“我也知道,这些人本来不会理我们。”
老周愣住。
“他们在骂,但他们来了。”林默手指敲了敲屏幕,“游废网平时日活不到八百,今天一个帖引来上万下载。海外硬核群组转发了七轮,Discord镜像频道建了三个。这不是泄露,是流量洪峰。”
“可我们扛不住!”老周吼出最后一个字,喉结抖了两下,“服务器在汽修厂二楼,电是从焊机线路分出来的!UPS撑不了十分钟!你让我拿什么接这波?!”
林默站起身,走到主机架前,拧开第一台服务器的固定螺丝。
“换地方。”他说。
“换哪儿?网吧?学校机房?还是——”
“殡仪馆。”林默头也不回,“地下光纤专线,夜间零干扰,之前压力测试跑过八百兆稳定上传。现在搬过去,能多撑六小时。”
老周张着嘴,像被掐住喉咙。
“你说啥?殡……殡仪馆?!”
“王师傅答应过借线。”林默一边拆硬盘阵列,一边说,“说是半夜清净,信号不抖。而且没人敢去那儿偷网。”
“可那是停尸的地方!电力系统根本不兼容民用设备!你让人家太平间给你腾地方摆机柜?!”
“他们有独立变电站。”林默抽出一块SSD,吹了吹灰,“比汽修厂靠谱。”
老周喘着粗气,盯着那块裸露的主板,忽然觉得眼前这人真是疯了。他在大厂干了八年,见过为抢资源撕合同的,没见过为保服务器往殡仪馆搬的。可更疯的是——他居然开始算搬迁耗时。
“两小时车程……要防静电……得找冷链运输箱……”他喃喃道,“至少得六个人手……”
“不用那么多人。”林默已经开始拔网线,“我开赵大勇的货车去。你留下守前端,关掉所有非核心服务,只留登录和主场景同步。”
“那你一个人怎么装?!”
“能装多少装多少。”林默把硬盘塞进防震包,“剩下的明天再说。”
老周看着他弯腰去拆第二台机箱,动作熟练得像拆自家空调外机,突然意识到一件事:这家伙从没打算藏起来。从上传视频那一刻起,他就等着这一天。
骂声也好,下载也罢,都是信号。
只要有人连上来,只要数据在跑,哪怕是在盗版网站,他也敢接着。
“你……”老周嗓子发干,“你就这么想要人玩?”
林默停下动作,看了他一眼:“我想让他们骂不动。”
然后继续拧螺丝。
老周没再说话。他转身走到自己电脑前,打开服务管理后台,开始关停彩蛋模块、粒子特效库、动态天气系统。每一项关闭都像割肉,但他知道必须做。现在的系统就像一辆漏油的摩托车,还得载着三千人上高速。
他刚切到数据库代理层,准备压缩日志写入频率,手机突然狂震。
低头一看,是监控脚本的新警报。
他点开,瞳孔一缩。
在线人数:**4,719**
增长斜率比刚才更陡。而来源地图上,欧洲区的光点正在连成片。
“操……”他低声骂了一句,立刻切换到带宽监测工具。上传流量已突破120Mbps,接近当前线路理论极限。
“林默!”他扭头,“来不及了!现在就得限流!否则下一秒全崩!”
林默正把最后一块硬盘装进背包,闻言只问一句:“殡仪馆那边能远程供电吗?”
“能是能……但他们只答应通宵供电到早上六点……”
“够了。”林默背上包,拎起一把T型扳手当撬棍,“走之前把入口关了,只放白名单IP进来。”
“哪来的白名单?!我们连用户池都没建!”
“用论坛ID。”林默走向门口,“去像素岛那个帖子底下,捞点赞过‘枸枸杞不会死’的人,加进临时通行证。”
老周一怔:“你是说……那个问空气跳是不是bug的?”
“对。”林默拉开门,晨光刺进来,照在他右眼角那道血丝上,“其他人爱骂就骂,但先让看得懂的人玩下去。”
老周站在原地,没动。
他知道这决定有多冒险——放弃九成流量,只为留住那可能存在的千分之一真玩家。可他也知道,如果现在不分流,连这一千分之一都会摔进服务器坟场。
他坐回椅子,打开论坛页面,找到那条孤零零的评论:
> **枸枸杞不会死**:这空气跳……是不是bug?
他鼠标悬停,复制ID,新建一个txt文档,命名为“可信用户池_初筛”。
刚粘贴进去,手机又震。
在线人数:**5,003**
刷新间隔不到十秒。
他抬头看向门口,林默已经走出去,身影消失在楼梯拐角。楼下传来铁皮卷帘门被拉开的声音,接着是货车启动的轰鸣。
老周低头,双手放在键盘上。
他知道接下来几个小时,得靠他自己顶住。
他敲下第一行命令:
`systemctl stop nginx_frontend`
屏幕闪了一下,网页端登录接口关闭。
紧接着,第二条:
`iptables -A INPUT -p tcp --dport 8080 -j DROP`
外网请求开始被拦截。
只剩内网通道还开着,像一根细管,通往未知的终点。
他盯着任务栏右下角的时间戳:
2025年4月5日 上午7:23
窗外,城中村的早市正吵得厉害。油条摊主吆喝着涨价,小孩哭闹着要糖葫芦,电动车挤过窄巷,喇叭按个不停。
老周戴上耳机,屏蔽杂音。
屏幕上,连接数短暂下跌后,又缓缓回升。
新的数据包正在穿透防火墙,带着不同地区的IP地址,固执地敲击着这扇摇摇欲坠的门。
他深吸一口气,敲下最后一行指令:
`echo "Welcome to N-Server Alpha"`
欢迎来到阿尔法服务器。
不管你们是来骂的,还是来玩的。