许,来日方长。在深圳生活的日子里,我曾因为拿着4000块的工资而感到迷茫,不知道自己想要怎样的生活。然而,在这一年里,我有幸遇到了我的老婆大人,她一直陪伴在我身边,支持我度过了最艰难的时光。即使拿着这么少的薪水,我也觉得这一切都是值得的。

那时每天下班后,我都会玩游戏放松一下。在一个单机游戏中,我结识了GM(花花)。得知他需要花钱请人写一个对战平台时,我被震惊了!这样一个简陋的界面配一个免费的皮肤库,居然要价3000大洋!花花当时还在网上四处求助。于是,我决定无偿帮他写一个。

在我写完之后,花花给我了游戏的最高权限GM,让我可以在游戏里拥有最高权限。然而,他的WEB后台常常被人入侵。为了帮助他修复漏洞,我还兼职为他安装了安全狗。从那以后,他的主机就再也没被入侵过了。后来,他送了我一套游戏端,让我也可以开设自己的私服。

拿到部分代码后,我才发现这是花花请人写的。这个技术大牛(baby)也在深圳,业余时间喜欢写一些脚本。通过他的介绍,我认识了他。得知他已经在深圳安家多年,一直在SOHO办公。在空闲时间,他将整个游戏插件的代码全部重写完整。

当时算了一下前期投入得2W左右,手上也只有1W多。于是,我找了儿时发小LHL借了5000块钱入股,声称稳赚不赔。并且承诺说如果真亏了,算我借的只能后续慢慢还上。这样他才同意了,勉强算是正式步入私服之路。

然而,好景不长。没过几个月时间,我就被打脸了......那时候的腾讯阿里云主机还没做起来,主流的还是托管或租用。当时也不太懂行,硬是花了5000多去买了一台当时还算比较主流的配置:Xeon 5606 + 8G + Intel S5500BC。后来发现租个4核/8G/20M的,每月也才六七百没必要买,换机房还麻烦。

转眼间,2013年已经到来。那时候,由于一线机房的费用太高,大家都搬到了二线周边城市。在那个时候,我认识了东莞的老李,他在东莞一通IDC做销售。这家公司在当时的东莞算是最出名的IDC代理了。于是,我们把主机寄过去签好合同,一年托管20M共6000块,这都是自己掏血本的(想想深圳4000多的工资一年时间能存个一万多都节省成什么样子,每天尽是炒河粉炒面炒饭的吃得要吐了!)。

手续办全了,结果这家伙在我用了不到四个月后,得知他的公司一通欠了电信太多钱跑路了,我这交的年费自然就打水漂了。最关键是整个一通的机柜全部被电信局贴了封条要用来充公抵债,因为电信局也不知道这些机器里,哪些是你托管的,哪些是一通自己出租用的。我的主机也同样被扣压,虽然签得有合同,但人家大朗电信局根本不搭理你这种小角色。

于是有人建QQ群组织起来,一起去大朗电信局门口拉横幅,要求退还托管的机器。早上7点坐了4个小时公交才到了大朗美景中路那个电信局门口。我去得算晚的,当时来了差不多有七八十号人,其中还有群英的人,因为他们托管的机器是最多的,给害得最惨!其他都是十几台、几十台主机的,才知道只有一台主机的没几个人,反正二手机便宜,一千多没人愿意跑那么远来认领。想想也是,他们跨省的来回机票都不够。也许那时毕竟是自己血本买的主机,肯定不想放弃。

来了几个领导,现场调解一下,也不确定什么职位,这才同意托管合同、购机收据或发票等手续齐全的,才可优先退还主机。于是那天等到下午5点多才领到机器,然后找了家快递当场发到了东城主山那边的机房。回到深圳已经快10点了......

后来把这事儿讲给LHL,我说这绝对是意料之外的,现在要么再凑钱重开,要么我慢慢还你钱。后来兄弟也是碍于情面,说亏了就算了他也没多少钱再投入了。从小学一路的发小,虽然平时联系甚少,我始终觉得这事过意不去,并当时就承诺年底回老家了一定还他的5000块钱。

倒霉的事总是一件接一件,更郁闷的是,开私服起连续的半年里,游戏在线人数一直在个位数漂浮不定。当时可愁死了,我那时用的手机还是诺基亚3100这种六七百块的彩屏机,每月七八百都是从那点死工资挤出来的。这他妈要是再亏一年怎么办?于是再次找了花花请教,当然他没那么吝啬,因为他那边有7个游戏区满人的话(每个区30个人),都是自动转给我的,所以我这边晚上高峰期偶尔还是有几个人玩。

当时,他为了实现这个功能,投入了大约2000元购买了一套专业的工具——假人引诱服的转服工具。这套工具的特点是模拟了多个游戏协议包,使其能在QQ、浩方等主流对战平台上运行,并在局域网中扫描到主机列表。当玩家进入游戏时,数据会被转发到私服主机的IP上,使玩家误以为进入了对战平台的局域网。然而,实际上他们已经进入了私服IP。

尽管这套工具对他来说价值不菲,但他并没有充分利用它。由于这工具是绑定机器码运行的,他试图破解它,但发现自己的技术水平还不够成熟,因此决定自己摸索,尝试制作一个类似的工具。经过三个通宵的努力,他成功地突破了技术瓶颈,并完成了这款引诱工具,效果甚至比收费版更加稳定。

实际上,这个过程并不复杂。游戏中的“搜索服务器”是通过UDP广播包进行的。当玩家刷新时,会发送一个固定格式的广播包到同一网络段。服务端收到这个包后,会返回特定格式的数据,这些数据都是UTF8编码的明文。要处理好这三个数据包:1. 玩家查找主机的包(广播查找主机列表),服务端返回主机固定格式的服务器信息;2. 客户端根据包1返回的主机IP和端口再发送查询人数的包,服务端则返回固定格式的人数信息;3. 玩家加入游戏的包,服务端返回将玩家转服到其他IP的命令。

然而,这三个简单的数据包却让他花了整整三天的时间来解决!最令人沮丧的是,这个游戏的几个简单协议竟然是V社(VALVE)官方开发文档中公布的。如果他在开始时就查阅了Google资料,就不会浪费那么多时间和精力了。这让他感到非常懊悔和痛苦。

以下是重构后的内容:

在这段时间里,我开始考虑如何提高私服的人气。为了实现这个目标,我决定投入更多的资金,购买了一台性能更好的服务器。我花费了700元,又租了一台4核/8G/20M的主机,并在其上安装了十几个WIN2003的VM虚拟机。这些虚拟机专门用来搭建引诱工具,以吸引更多的玩家。虽然效果一般,但从下半年开始,几乎每天晚上都有二三十人同时在线玩。偶尔高峰期,一个区(30人)都能凑满。然而,收入仍然不理想,每月保持不亏本只能赚个两三百,还不够我通宵的烟水钱。

为了进一步优化工具,我想出了一个绝妙的办法:把上面包1的服务器信息前面加上若干0x01这个字符。这样一来,我的服务器名字就能永久排序在最前面。果然,这个方法使得人气大幅提升,从二三十人在线一下子提升到晚上可以达到近百人在线。在这个私服游戏里,VIP价格也不贵,分为20/30/50/100四个档位。扣除租金后,每月大约能剩下一千多的额外收入。尝到甜头后,我仍不能满足,继续优化引诱工具。无意间发现这个游戏协议有一个BUG:在前面广播协议包1的时候,正常的是服务端收到一次就sendto一次。我心血来潮加了个for循环来sendto,居然可以刷满客户端的房间列表。这个小小的进步使得我的私服人气得到了极大的提升。想象一下,同样是一个ListCtrl报表里,你的占了几千行,人家才一行行的直接被淹没了!

这半年来,我的私服人气始终在三五十人左右,没有赚到什么钱。反倒是卖引诱赚了两三万块,回老家就把发小的5000块还上了,并陪酒道歉,两人相谈甚欢直到很晚。

年后,晚上高峰期的人擞从100人瞬间提高到300多人。Xeon5606的CPU已经支撑不了10个游戏分区了。再之后,每月纯收入均在6000以上。相比之下,这四五千多的死工资真的无所谓了。这期间,很多人都是慕名而来的找我买引诱工具。因为之前那个2000多还单刷房间的已经没有任何吸引力,我这个是多刷或无限刷就卖3000至5000/套。累计也卖了近十套出去,光这个工具差不多就纯赚了四五万块了。这比开游戏当GM来钱快多了。当然这个只是快钱,工具一旦散开大家都有的话就失去了刷屏的意义。最蛋疼的是,当时加的VMP在半年后居然被人强撸了,这工具被破解免费发出去了。最恶心的是还捆绑了木马,有好多人的服务器中招。

在经历了一段服务器故障和频繁更换机房的过程后,我深知 Xeon5606 这款处理器已经无法承受 300 人的在线压力。在一个分区满载 30 人的情况下,CPU 占用率在 8%至 15% 之间波动。如果晚上高峰期人气爆满,开启 10 个分区,CPU 基本会在 90% 以上波动。这时,我已经准备好投资更好的硬件配置来扩大规模了。

在一个周末,我正准备去电脑城选购 1U 配置的服务器时,一个游戏玩家告诉我他的服务器进不去了。我原以为是他网络出了问题,便建议他重启路由器。然而,群里的许多人都告诉我他们的服务器也进不去了。这时,我才知道原来是服务器出现了故障。我赶紧打开电脑尝试 PING,发现无法连接。网管告诉我,2G 流量已经被封禁,要解除封禁需要攻击停止。这时,我意识到我的私服崛起得太快,已经被同行盯上了。

为了解决这个问题,我赶紧联系朋友换到了一家 IDC,那里可以托管 20M,每月仅需 600 元就可以承受 5G 流量。在攻击消停了半个月之后,接下来的一年多时间里,我不断地换了三四次机房,几乎把广东周边的几个机房都换了个遍。然而,这样换来换去并不是解决问题的办法。

令人意想不到的是,在这段时间里,攻击仍然频繁发生,而服务器的人气也依然火爆。只要稳定在线人数在 300 人左右,每月基本收入一万左右是可以轻松应对的。最多的时候,收入甚至可以达到两三万。这样粗略计算的话,一年内大概可以轻松赚取十几万元。这也是为什么同行如此眼红的原因。

经过一番周折,通过朋友的介绍,我终于知道了袭击我的是当时上海有一家出名的同行叫 LB。他们专门提供游戏端口出租服务(即客户租用他们主机的一个端口,并给他们一个网页后台管理)。

在那段时间里,我联系了当时圈内有点名气的朋友ZYR。他找来了搞黑产的朋友,托了几层关系,内部拿到稳定10G流量按200/天随意打。于是我直接花了5000块买了一个月,叫人盯着上海LB打了一个月。他的8台主机,十几个IP轮流干,即使换IP也没用,在我眼里稍稍抓包就拿到真实IP了,因为UDP游戏最大的弊端就是无法隐藏真实IP。

我并不是一直压着打,而是用HLSW游戏监视器看着,有人就秒掉,过几分钟掉光就停了。他跟我不同之处是,我自己是单干的,他是搞出租的。我的被打死了无所谓,他的被打死了下面一堆租他服的客户找他麻烦。而且搞出租的稳定性不够的话,以后很难再在圈子里混了,这就叫“赤脚的不怕穿鞋的”!后来上海LB托别人劝和我也没搭理楞是打满一个月,逼得没办法LB亲自找到我说:“哥们,可以消停会吧,以后你的有攻击别找我!”(这言外之意就是我不打你,你也别再打我了呗!)

呵呵,这家伙终于扛不住了!于是这事之后,我的服务器攻击几乎很少了,但偶尔每月还是有那么几次,只要一有攻击,把国内私服人气最好的同行前十家轮流秒掉就行了。因为北方已经由LB和LD两大派系垄断了,南方的被攻击基本就是北方的在搞鬼了。当然开了这么多年我还是比较恪守节操的,就是绝对不会主动攻击别人。真要惹毛要打的话,就花血本连续一个月打死这种。只可惜现在主流的防火墙弱都爆了,比如ChinaDDOS,这简直就TMD一个软路由,没任何防御能力,被坑过;傲盾的话是比较牛逼,早些年10G以内的攻击对游戏没任何影响,他的规则比较灵活,误封也少。缺点是流量超过10G就有点力不从心了;而现在至今这边主流的都是在金盾,他的集群比较强大。但是缺点是规则改来改去误封总是太多。有几次都是机房找金盾技术支持远程协助,楞是做不到傲盾那种极少的误封。

后来,ZYR告诉我说,他想把广东这一片搞私服的全部集中起来,如果不从他这里托管或出租的被攻击一律不管也不要找他。这种垄断我觉得没什么不妥的,实际上这样有个很大的好处,就是如果大家集中管理的话,可以联系IDC拿到一个很实惠的价格,随便就是四五个柜子的主机,找任何IDC代理商都好谈价格,可以拿到一线资源。至于ZYR搞“垄断”嘛,我觉得每台主机出租的每月赚点也丝毫不为过,毕竟这样的价格和防御在外面是根本拿不到的。

这样攻击的事情算是稳定下来了,直到从2011年到2017年,见证了攻击流量一路从2G飙升到200G。国外DDOS平台的开放,大多在国内买比特币在国外DDOS平台买流量,30G的流量,一月才RMB一两百块,真是白菜价了。这样一搞瞬间没办法了。如果广东这边内部托熟人拿话160G防御的价格也得3000左右了,这是硬成本拼的不仅是防御带宽,还有规则。所以之前微博上有个阿里的普通用户,认证是什么总经理的,大骂阿里云防御不行之类的,当时就心想怎么会有这么弱智的总经理,你TMD一月200块的云主机,我得给你抗2000块的防御,这不是铁定亏本的买卖,高防本身就是一个独立的产品。

所以告诉他唯一的办法只能以彼之道打回去,当然如果要是不知道谁打的,那就真没办法,毕竟要是真查起来没任何卵用,除非你能调用全国网警资源帮你查。实际上任何公司被打真的没什么卵用,如果是个人的,就真的呵呵了......15-16年大家疯狂的互相攻击后,17年又回归平静了,中间一些“小罗罗”自然就被打死不开了。在16年底的时候我建了一个群,把国内知名的私服GM都拉到群里,这样大家才算平静至今。毕竟大家真的都老了,圈子就这么大,没有年轻气盛的斗气。现在这些剩下的老油条们都天天在群里吹吹牛皮了,当然也没办法彻底杜绝。直到现在几百G流量还是没少过,也只能笑笑打回去了。当然现在就是广东ZYR与上海北京那边LB与LD的冲突了。

如果仔细算算,从2011年至今,开了五六年的私服,如果粗略的算算,差不多也赚到了三四十万。不过随着结婚生子也就花掉大半。

在2016年中旬之后,这款游戏的生意逐渐走下坡路。每月收入不到一两千,以至于我都没有时间和心情去关心它了,甚至连远程操作主机的兴趣都丧失了。于是,游戏的日常维护工作就交给了游戏中的新玩家们。

之前我一直使用免费版的sXeInject,但由于全球范围内大量使用作弊器,使得反作弊系统的更新速度非常快。2015年初,在2哥的帮助下,我结合游戏引擎,对这个游戏进行了反作弊系统的重写。我们在ring3层下采用了各种猥琐的方法,基本上可以过滤掉大部分伸手党的行为。此外,我还曾在论坛上分享过一些基于栈检测的片段代码(Ring3反作弊篇——基于EBP遍历调用栈及模块名)。

现在,这款反作弊系统在国内依然非常流行。当初编写它的初衷是想免费开放给大家使用,但由于作弊者实在太多,我不得不放弃这个想法。毕竟,生活的压力让我不得不放弃了很多事情......

如果当时没有陪项目经理PX一起创业,我可能会选择成立自己的公司,专心做私服。因为我已经为公司取好了名字,并在工商局官网上申请保留了名称。所以,私服剩下的十多万资金就留着以后创业时单干用了......(未完待续)

收集故事 | 分享故事

投稿邮箱:cherie@kanxue.com