重庆游戏人丨为重庆提供游戏开发技术培训服务

网游开发的安全对垒! 游戏开发的十万个为什么?

网游开发的安全对垒!

网游开发的安全对垒!

公司刚刚开发的一款新游戏才上线没有多久,就遭受到灰色空间里游戏工作室的一波接一波的外挂的狂轰乱炸。那么那些所谓的游戏工作室之所以喜欢新游戏,一般都是因为新游戏漏洞较多,对抗外挂的手段和技术缺乏。还有重要的一个原因,新游戏上线一般都是大量的烧钱引导用户量,为游戏工作室简直就是滋生的产房。本期的游戏开发的十万个为什么?网游开发的安全对垒!就给大家抛砖引玉的讲一下基本的一个对抗方式和方法!

一、常见的外挂对抗,一般对网络游戏影响比较大的外挂分为以下几种。

1、利用游戏漏洞获得经济利益。就是我们俗称的游戏漏洞,这也是最常见最致命的外挂。尽管游戏在上线的时候做了足够多的测试、review,完全无法避免漏洞的出现。

对抗方式:对玩家收益建立预警机制,高出预估值的收益进行预警。安全日志的记录,玩家作弊,能快速的定位问题,热修复。玩家举报机制,查看被举报玩家的数据及日志。

2、利用运营弱点获取经济利益。运营商某些特定的时候必须要给玩家送福利等等,来增加玩家留存率。工作室会利用这些特定的来反复领取获益。

对抗方式:划分等级分区,高等玩家是无法到新手区去领取福利。限制没有充值的玩家,且刚注册不久的玩家。限制玩家领奖次数和数量。

3、减少玩家重复劳动。游戏为了增加玩家的在线时长,会有很多重复性的动作,比如任务打怪200只,收集道具XX个。比如这样,外挂可以帮玩家自动打怪、自动收集道具等等,然后在重复这个过程。

对抗方式:适当增加内挂,就是游戏里面内置的自动挂机功能。增加任务的随机性,数量、道具、场景、完成方式的变化。适当增加一些对话框之类的,比如验证码之类的。

4、影响游戏平衡。这类外挂往往在竞技类游戏很常见。如CF透视外挂、CF自动瞄准、LOL野怪计时、LOL技能闪避、王者荣耀透视外挂。像这些外挂,影响了游戏平衡。

对抗方式:加强对客户端外挂的检测。根据外挂样本的盈利点优化游戏。内存数据加密(自定义的安全类型,用来代替语言原生的int、string等类型进行数据存储,还可重载运算符。这种可以有效对抗内存修改器)。客户端加壳(增加反编译的成本,减少游戏被编译的可能性)。协议加密(随机和定期更换和增加协议)。
二、安全日志有别于游戏日志,是关系到游戏经济、游戏公平的玩家行为日志。
为什么要有安全日志?你知道一个玩家有问题,但没有日志支撑,你不知道他怎么获利的,是否真的不符游戏规定。另外,还可以根据这个玩家的特征,找到其他作弊玩家。
安全日志采集那些数据:1、游戏币:游戏币的获得与使用,需要记录理由、增量、总量、时间。2、道具:道具的获得与使用,需要记录理由、增量、总量、时间
。3、技能:比如技能释放次数、技能释放的最大范围,技能命中目标总数、单个技能命中目标最大数、单个技能的获利值、技能消耗的能量总数、技能的最大伤害、技能的总伤害。4、怪物:怪物的产出数量、被击败数量、受创值、受创次数、初始地图位置、被击败位置。5、玩法:每个玩法的情况,包括初始游戏币、结束时间、分数、获得游戏币,获得道具、对局时长、客户端对局时长。6、交易:交易双方的信息、交易道具、交易游戏币、时间

对抗方式:这是在安全日志的基础上做的预警,比如刚注册当天没充值就获利1亿游戏币,这种玩家就需要预警了。预警的目的在于查找可能作弊的玩家,提醒运营人员发现作弊玩家,就好像美剧《疑犯追踪》

安全预警的手段主要有两种:

1、线上预警:线上即时预警,对一些对局、或产出数值严重超过预警值的要预警,这种是线上统计,在玩家上报分数及发奖时hook处理

2、离线预警:作弊玩家收益可能不是一两局比赛就得到了,可能要累计一段时间反复刷获得大量收益。所以要离线分析,通过分析安全日志,定制一些规则找到这些玩家。

根据作弊玩家的行为:

1、贫民富翁:刚注册当天没充值就获利巨额游戏币

2、一夜暴富:一天获得的游戏币数额超过同等玩家N倍,且没有充值、没有交易

3、明目张胆:对于排行榜前N名的玩家重点关注

4、百战百胜:没有玩家是百战百胜的,屡次都是前几名,这样的玩家多数是有问题的

5、雨后春笋:刚放出去的功能还没有受到实战考验,出错的可能性很大,要监控产出,针对一个功能设置当日产出预警值

当然,安全日志不止这些,需要根据不同游戏,制定不同的安全日志。

第三:帐号封禁对抗
如果确定了玩家行为严重违反了游戏规则,就要考虑封禁玩家。封禁主要的好处是,将作弊太猖狂的玩家踢出众人视野。同时封禁的存在,相当于告诉玩家别使用外挂。除了这两个,还可以有效对抗游戏工作室转移资产,提高作弊成本。有一大部分工作室是靠售卖游戏货币、道具、高级游戏账号为生,而经营工作室又需要大量的成本,购置机器、网络、员工、游戏账号等,如果大量账号被封,可能会导致工作室周转遇到问题
封禁类别:

1、限制登录:限制玩家无法登录游戏,也就是封号。短时间封禁、永久封禁

2、限制玩法:限制玩家获得收益、限制分数上榜

3、限制聊天:屏蔽不良信息

封禁的难点是,怎么筛选出有作弊的玩家,避免误伤正常玩家:

1、刚注册,就有作弊行为,是封禁的重点,特别是收益巨大的

2、长时间在线的,每天日活跃达到15小时以上,甚至23小时以上

3、充值较大的玩家,就算使用过作弊器,影响不大的,也可以忽略。(毕竟是衣食父母,适当给于提示或警告)

4、同个设备号,或同个ip的多个玩家帐号都有作弊数据

5、游戏日志、或安全日志有较多的作弊日志
策划层面对抗

1、增加交易成本,限制玩家交易

增加交易成本是很有效的,工作室通常就利用多个小号刷,再汇总到一起售卖。限制的方法很多,如等级开放(30级开启),或VIP2开放,需充值多少钱可达到。或交易扣手续费

2、玩法(或功能)设定数值上限

每一关的最大分数,每个技能的最大伤害等,就算属性过多或其他理由,也要计算好这个上限,做出限制。不要单纯为了体验的东西,太大放宽这个限制。

3、玩法(或交易)次数限制

玩法如每人每天只能玩3次,交易如VIP2每天可交易2个道具、VIP3每天可交易5个道具。

4、限制较大收益路径,必须有时间成本

工作室经常都会研究出最快获利的路径,定制外挂获利。那么这个收益路径,必须要有时间成本,比如虽然是概率出,但还是限制了一天最多一次。

5、降低重复性任务所获得收益

很多外挂是通过长时间刷来累计收益,正常玩家不会长时间重复无脑劳动。对于同一种任务的收益,应该随时间增加而减少

6、适当提供自动挂机功能

游戏中很多任务是重复性的,可以适当提供自动挂机。

第四:其他技术对抗

1、客户端加壳(增加反编译的成本,而且,不同版本加壳做一点变化)

2、通信加密(增加修改协议的成本,而且,密匙要不定期更新。或者,密匙可做成动态的,比如自增1)

3、内存数据加密 (自定义的安全类型,用来代替语言原生的int、string等类型进行数据存储,还可重载运算符。这种可以有效对抗内存修改器)

4、协议通信频率限制(限制同一个协议两次请求的间隔)

5、防加速(客户端连接服务器后,服务器把当前时间发给客户端,以后客户端发协议都加上自己算出的服务器时间,服务器检测到这个时间超过了实际时间,就认为加速)

6、顶号、重复登录处理(必须将上次登录踢出,并且数据保存完毕后,才允许本次登录)

7、关键数据服务器校验(如技能CD、移动速度及位置)

8、定期上报客户端核心资源或者配置文件md5,服务端做校验

9、客户端配置文件、资源文件加密

10、协议过期(避免截取客户端发包,重复发送)

写到最后发现,这是我第一篇不怎么讲技术的文章,我很少谈及游戏设计、开发经验、职业规划等,可能以后会花点精力搞下。毕竟技术只是帮你开启新世界的大门,而过程和结局怎样,还要靠你怎么运用它。

未经允许不得转载:重庆游戏人 » 网游开发的安全对垒!

分享到:更多 ()

评论 3

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    不错的文章,内容言简意赅.

    钢筋网2年前 (2017-02-14)回复
    • 多谢你们的支持哟

      yxw2年前 (2017-02-14)回复
  2. #2

    好文章,内容文从字顺.

    遮阳网2年前 (2017-02-22)回复