浅谈如何做安全可靠的游戏活动

浅谈如何开发可靠的游戏活动

 

         一年一度的端午节来了,商场活动满天飞,游戏活动也不甘示弱,处处打折优惠免费送。

顾客乐开花,玩家美滋滋。实体店赚的盆满,虚拟商呢?不见得!游戏活动不被刷就是幸运。

不幸的是,游戏活动被刷了,玩家获得一件件宝贝,游戏商损失严重,开发者也受牵连,开发者轻者警告处分,重者罚款,开除,在甚者,就得蹲板房。作为开发者,做活动开发,简直是拿职业前途做赌注,一不小心,小命不保。那有没有什么解决方案减少游戏活动被玩家恶意刷或者或避免被玩家恶意刷?答案是肯定的。废话说了这么多,今天就借端午节活动,浅谈下游戏活动开发安全方案,与天下熬夜加班奋战在第一线的码农们共享!

 

    首先,我们先分析下物品被刷的原因。在分析之前呢,我们先举个例子。

假设运营有个这样的需求,在端午节举办粽子捐赠活动,玩家首先到NPC处领粽子,要求VIP玩家领取10个,非VIP玩家领取一个,粽子总数每天生产10000个,领取完就结束,然后再NPC出进行捐赠。最后按照捐赠数量排名, 捐赠奖励:

第一名Apple Mac一台,

第二名---第五名iphone5一部,

第六名--第一百名三星盖世3一部。

除上述奖励外,捐赠达到500个,附赠价值2RMB的神秘礼包一个。

亲,看到上面的奖励够诱惑力吧?!眼红了吧?是不是希望自己能抢到?好吧,关于如何抢,稍等片刻再讨论,先谈谈码农接到运营的案子如何开发吧。

         码农一看,这活动还不简单,不就是在领取粽子前判断下是不是VIP,总量递减到0吗。于是不顾一切的开始编码。刷,刷,刷,2小时代码写完了。经过测试全部OK。代码就不粘贴了,简单看下领取和捐赠的流程图吧:

说明:本流程都是异步过程。异步,你懂的!

 

 

分析:

         看到上面的流程发现什么了吗?如果没有发现问题,估计也也会发生这类BUG。好吧,还是我来说下吧:在发送粽子之前,验证是否是VIP,是否今天领取完毕都是对的。问题出现在从粽子仓库领到粽子,再更新数据。粽子邮件发送了或者直接到玩家背包了,在把今日领取数量更新下,但是异步过程中,在数据更新前,逻辑取玩家数据是没有更新前的,玩家用外挂,在秒级内发送了无数条领取消息,在异步过程中,玩家数据还没同步到逻辑服务器,导致玩家无限领取。解决方法是在发给玩家粽子时,需要在验证下是不是VIP,今日领取个数是不是达到上限。不幸的是,没有验证。玩家无限刷!

 

 

 

 

看到上面的流程发现什么了吗?如果没有发现问题,估计也也会发生这类BUG。好吧,还是我来说下吧:在上榜之前,码农没有验证粽子是否在背包里存在,没有先扣除就直接上榜了。玩家乐了!码农悲剧了!

 

通过上面的2个流程分析,结果出来了:

所有靠刷的玩家都达到了100个,都获得了价值2RMB的礼包。假设有1000人刷,2000RAM损失灰飞烟灭!码农被开除了!!!

原因分析:

A.领取正常流程下没有问题,但是玩家用外挂直接导致刷

B.上榜 逻辑验证不严谨,没有先扣除,再上榜

 

通过上面的例子,是否有所启示,是否对活动风险意识有点觉醒?是不是觉得游戏活动安全必须重视?好了,废话不多说。下面言归正传,我们来探讨下游戏活动安全可靠性方案。

                  在大部分游戏中,游戏活动奖励,通常都是通过邮件发送给玩家的,我们就从邮件的发送以及物品的属性配置说起。邮件发送或者直接发送到背包,玩家立即收到物品,该模式弊端就是出现玩家刷后,无法立即处理,禁止玩家刷。此行为严重影响活动质量,甚至导致活动关闭。那么。对物品的发送,我们是否有更优的发送模式?答案是肯定的。小编就说说自己的思考方案:

 

 

1.       缓冲期

设置邮件发送缓冲期。即服务器当日发送邮件,但是玩家不能立即收到,要在一定期限后才能收到,比如3天后才能收到。

该方法的优点是玩家刷物品后,不能立即收到,物品不会进玩家背包,无法进入市场流通。即便玩家恶意刷,运营商也不怕。因为玩家在接收邮件前,有N天的缓冲期,运营商可以利用N天的缓冲期,进行查询日志,确定恶意刷物品的玩家并对其处理。运营商也不会有损失。

该方法的缺点是玩家不能立即收到物品,参与活动的积极性降低。

 

2.       起始使用期

设置物品起始使用期。虽然邮件直接发送给玩家或者直接发送到玩家背包,但是玩家活动物品后,不能直接使用,即便是物品被交易,流向市场。即使玩家靠刷,刷出无限个物品,但是都不能使用,也是徒劳。在活动中,如果发现被玩家恶意刷,运营商也不怕,在有限的时间内发现解决问题,对恶意刷的物品,直接修改起始有效期,或者销毁。

该方法的缺点是玩家不能直接使用物品,参与活动的积极性降低。

 

 

3.       兑换凭证

邮件发送兑换物品凭证,在起始使用期内可兑换。邮件不直接发送奖励物品,而是发送兑换物品凭证,在起始有效期内才能兑换。即使玩家恶意刷物品,价值也不大,刷的是凭证,而不是实实在在的物品。运营商发现恶意被刷后,立即发现解决问题,杜绝恶意刷。

 

4.       加强逻辑严谨性

5.       代码审核

6.       开发工具,验证消息发送频率。

对异常消息进行红色警示!

 

以上是对游戏活动安全性的若干思考,不对之处,请批评指导!欢迎积极评论!

                                                                 2013.06.13 书于文萃苑

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值