知己知彼吧,游戏公司是这样防止Wg程序的
导读:团灭,封号,追封!是游戏打金工作室一直想克服的一个难题。游戏工作室使用Wg程序在游戏里疯狂刷金,也是游戏公司一直以来的重点打击对象,这场博弈一直没有停止,这种暗战将来还会继续!那么,作为游戏打金者,该如何与游戏公司战斗呢?今天逛某程序员论坛时,看到了一篇关于“游戏公司该如何防止游戏Wg程序”的贴子,转过来给大家看看,知己知彼吧,希望能给朋友们带来一点点防封灵感。
原文:在游戏研发中如何有效防止游戏Wg程序
总的说来,道高一尺魔高一丈,Wg不可能100%被杜绝,只能通过不同的手段来防止大部分的游戏Wg,具体可以从以下几个方面考虑:
1,协议层加密
以flash客户端为例,在与后端做数据通信时,可采用amf协议,它虽然也是基于http协议,但是对传输的内容做了加密。当然,amf协议是透明的,所以该方法只能干掉一部分只知道用httpwatch/firebug等查看明文http包传输工具的小白。如果需要继续增加门槛,可以自定义加密协议。但由于客户端需要知道解密方式,所以客户端本身也需要做好加密。关于flash本身格式的加密解密是另一个比较大的话题,在此就不展开赘述了。
2,checksum校验
客户端发送数据时增加一段checksum校验码,服务器端根据相应的算法进行校验,如果校验不通过则返回错误。与(1)一样,只要破解了客户端就可以知道checksum的校验算法。因此一方面需要注意客户端的安全,另一方面checksum生成算法需要不定期更换。
3,通过任务策划来防治
Wg主要是代替人工来做些重复性的工作,这样玩家可以不操作电脑也能在游戏中获得收益。Wg的出现一般都是和利益有关,最好的治理方式是引导而不是打压,因此我们可以在产品设计方面做些降低Wg的工作:
1)降低长时间重复性任务所获得收益,或同一种获得收益的任务随时间增加收益减少。
2)游戏本身提供一些类似Wg的功能:比如自动打怪等辅助工具。
4,定期检查数据。
通过排行榜等数据统计,可以通过发现一些异常的数据来检测是否有Wg存在。
5,深入内部,了解Wg行情。
这个是客服们的工作,与技术关系不大,但有时能起到意想不到的作用。
防治Wg,首先要了解Wg,知道它有哪些主要功能,具体是怎样运作的,然后针对Wg的一般特性做抓捕脚本,我自己的经验大致总结有以下几点:
稳定周期性:Wg另外一个特点是周期性比较强,一般的设定是每隔XX秒执行XX操作,如果Wg是规律性的周期的话,有一个很容易抓捕的办法,就是每次同样的请求时都在session中记录下当前时间与上一次请求时间,两者的差值如果在多次请求中保持不变,基本上就能判定是Wg了,但是Wg现在很智能,周期是浮动的,比如周期设定为1分钟,浮动值设置为5秒钟,那么两次请求周期就是55秒-65秒,浮动值也可以手动设定,这样的话,这种方法就失效了。这种方法适用于基础级的Wg。
请求次数多:Wg为了定期监测一些数据变动,会频繁的发送一些请求,所以在请求数量上要比正常玩家的操作多很多倍,服务器端可以设置计数器,记录每个玩家每小时的请求次数,每小时筛选出来一批大于平均请求数N倍的玩家(N可以按实际需要设置),这些玩家记录为“疑似Wg”的情况。这也适用于单个某个请求的统计,比如getUserInfo这类查询类的请求。
设置Wg钓钩:Wg主要的特性是“自动化”,也就是按照预先指定的模拟指令来模仿客户端的操作。我们可以让游戏真实的客户端在每天的某几个时段在Wg常用功能的请求中加入特殊参数,服务器端通过判断是否有此参数或参数的值是否正确来判定此请求是否Wg发出,据此记录该玩家为“疑似Wg”。这种方法的特点是:钓钩参数(我起名叫“钓饵”)时有时无,Wg作者不容易捕捉到此钓饵数据,不容易被破解,但由于客户端和服务器端的时间会有不同步的情况,所以有一定误抓的可能性。
Wg的处理:处理Wg一定不能一发现就踢掉或提示验证码等等,这会让Wg捕捉到你的处理方式,应该是以记录+打分的方式,记录每一次“疑似Wg”的行为,每种行为按照疑似程度设置不同的分值,然后按照总的分值制定一个分值标竿,大于这个分值的,按运营手段处理,封禁也好、不定期弹出验证码也好。总的原则就是“非即时性”,让Wg作者不易察觉到你的抓捕机制,从而增加Wg升级更新难度。
其他针对游戏设计以及游戏生态的Wg功能也有相应的抓捕方式,不过还是那句话“道高一尺魔高一丈”,Wg做的越来越像客户端,原生的客户端一升级版本也有可能被误抓为Wg,所以我认为,抓Wg的手段中,辨别请求来源是很难的,这是游戏中Wg不好处理的主要原因。
在之前的工作中,认识不少专门做游戏Wg的朋友,也得知某些游戏Wg一年的销售额可以达到1200万人民币。
巨大商业利益的背后,是Wg团队极强的技术能力,对于网络协议加密,通过研读汇编语言去进行破解,是很常见的形态。从某种意义上说,与Wg的斗争,仅仅依靠技术手段,是无法取胜的。所以在各位所说的技术方案的基础上,应该制定一些策略。
Wg作为依附于游戏产品的衍生品,目前都有及其明确的商业目的,主要盈利模型:
1,通过收取玩家的月卡费用进行收费;
2,通过出售给游戏打金工作室进行收费。
而我们的游戏设计首先能够设法杜绝游戏工作室打金币的行为,使得第二个用途失效。这个做法是策划和运维的范畴,不同游戏类型有不同的做法,在此不做详细说明。
与Wg斗争,首先要确认几个关键的前提:
1,Wg的收入严重依赖一个前提,就是游戏Wg的长期适用性,若经常不能使用,则无法保证有付费用户。
2,Wg的利润率与Wg本身的更新难度、维护难度以及开发成本有直接的反比关系,因此当开发我们的Wg成本更高时,他们会倾向于去找一个难度更低的产品。
3,Wg团队一般小而精干,换言之,个人水平高,但人数有限;
4,Wg通常会降低用户的使用门槛并且尽量的做自动化。
5,Wg可能会利用游戏漏洞。
所以,与Wg斗争的有效办法有以下几类:
1,疲惫法。不断地用小版本更新,来更改通讯加密的密钥,使得Wg制作者需要不断的破解,而相应Wg也会随着其破解能力的不同产生长短不一的失效期;
2,内挂法:游戏设计中涵盖Wg的大部分能力,适用于强PK MMO游戏;
3,考试法:对于长期进行枯燥循环的玩家,强制要求输入验证码,这种方式相对设计难度低,对于小Wg团队有效(大的Wg团队会开发识别算法甚至使用客服人肉回答);
4,隐形惩罚法:对于判断出是游戏打金工作室使用的Wg,采取强制降低掉率的方式,使其很难盈利;
5,举报法:鼓励玩家举报Wg玩家,判断后加以惩罚。
老A感悟:虽然这篇“如何防止游戏Wg程序”的文章是3年前的了,但个人认为,许多原理与逻辑是不会变的。最后也建议朋友们,既然我们要一直研究防封,除了行为检测的避免,Wg本身还是至关重要的,没事时,多去一些程序论坛逛逛,虽然大部分人不懂程序!
相关阅读:
我做游戏Wg这三年(一)初入游戏Wg这个行业
《魔兽世界》Wg团队:若不是失误 暴雪检测不到脚本
以上是 知己知彼吧,游戏公司是这样防止Wg程序的 的全部内容,来自【游乐园】,转载请标明出处!