天道有轮回,苍天绕过谁。曾经都是我开外挂玩别人的游戏,现在轮到别人开挂玩我们的游戏了。说起外挂,我游戏生涯接触还算挺多了,从最开始单机游戏的金山游侠、金手指,到网游时代传奇的变速齿轮、DNF的封包外挂,到手游时代的葫芦侠、八门神器等各种内存修改器,很不好意的讲,我都用过……当然,我还是有原则,竞技游戏坚决不会开外挂。当下绝地求生颇受外挂困扰,各大主播因外挂嫌疑被锤得死去活来,外挂对于游戏的破坏力,可见一斑。
手游的反外挂和端游也有所区别。端游可以运行其他程序监控客户端,比如大名鼎鼎的腾讯TP。而手游由于操作系统权限的限制,很难能像端游一样用其他程序监控客户端,反外挂只能尽量做在客户端包里或者服务器上。
我们的游戏是unity做的一款ARPG游戏,上线两天后,就开始受到各种外挂的侵害。还好预先有为反外挂做了准备,通过封角色进行了打压。
题外话不多说,现在分享一下目前我们手游的反外挂方法。先分两个大块,一个是游戏本身架构设计,另一个是上报日志查外挂。
一、游戏架构的设计
游戏的架构设计之初就应该有反外挂的思想。首先,手游作为一种网络应用,网络通信内容的加密、登陆的token校验、客户端时间与服务器为准等最基础的做法肯定不能少。然后,做为网游,还得有更深入的反外挂策略。这里又分为客户端、服务器两种。
服务器:
1、“不信任”客户端数据的原则。理论上来说,对于绝大多数业务逻辑,都应该在服务器进行,客户端只上报用户的操作,服务器校验之后并进行业务处理,再把产生的结果返回客户端显示。例如客户端上报用户对某件装备进行了升级操作