房卡麻将分析之"防作弊处理"
Posted 火云洞红孩儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了房卡麻将分析之"防作弊处理"相关的知识,希望对你有一定的参考价值。
房卡麻将分析之"防作弊处理"
棋牌游戏最重要的一个特点就是人与人对局,因为玩家各自的不可见,就存在着一些作弊的可能性和漏洞。对于手机房卡麻将游戏,大家最讨厌的问题就是作弊。如何防止玩家作弊,保证玩家的公平性,从技术上我们来讨论一些方案。
首先,我先假设你的代码中服务器并不会犯一些低级错误,比如将所有玩家的手牌信息发给客户端。如果你没有保证好这一点,那么你的游戏将非常容易被辅助外挂进行”明牌化“处理。除去算牌记牌软件的因素,你的服务器只要不存在相关的漏洞就不用担心外挂。
去掉服务器的因素,在客户端现在最经常出现的防作弊方案主要有两个方向:
一。玩家信息检测
第一种方向,主要是对于玩家的状态进行检测,目前也包括三个小的方法:
(一)玩家同IP提示。
第一种方法它只是能够预防基于同一个局域网的玩家在一起游戏。处理也非常简单,因为服务器在接收手机联接时可以取得客户端IP地址,通过简单的转发,就可以让玩家得知同房间其它玩家的IP地址。如果房间里有相同IP的玩家,做一些提示即可。不过这种方案并不能够有效的预防作弊,基于4G信号来进行游戏的手机可以轻验跳过这样的验证。更多的时候只是一个心理预防。
(二)玩家GPS定位提示。
第二种方法使用GPS定位来侦测玩家间距离相近或者定位一致。比第一种方案更真实的反映玩家是否在一起的情况。具体开发的时候,可以使用高德或百度的地图SDK,开发者到高德官网上申请账号,注册成为开发者后,可以创建应用,将包的信息提交,取得KEY,按照官网SDK接入游戏即可以方便的获取定位信息了。
在服务器的数据库上,一般会有玩家上线信息的表,包括头像地址和GPS地址,玩家登录游戏后,通过高德或百度SDK取得当前定位并发送给服务器存储到数据库中,当玩家进入房间后,服务器也将其它玩家的相关信息发过来,在客户端进行对比并提示即可。
在整个游戏过程中,可以根据需要进行定位更新处理。保证牌局对玩家进行实时检测。不过一般只需要游戏每局开局时做一些简单处理即可。
(三)玩家游戏过程视频在线。
第三种方法则可以在游戏过程中开启视频聊天,或用微信视频聊天,可以随时看到对方玩家在专注的游戏,也就避免玩家去进行作弊操作。不过这种方式相对比较耗电,技术上也相对较难一点。并不是太推荐。
总体说来,在第一个方向上第二种方法比较可行,也较易操作。
二。牌局信息对比
第二种方向,主要是对于牌局的过程进行检查,目前也包括两个小的方法:
(一)牌局回放。
牌局回放的意义在于玩家可以在游戏结束后对整个过程进行回顾,分析四个玩家的牌面进展整个过程,发现一些作弊操作。这个部分的技术方法我在公众号早期文章中进行了详细讲述,这里不再赘述,有兴趣的朋友可以查一下公众号历史文章。
(二)吃碰杠的供应记录。
作弊的手段无非就是给牌,但一般游戏最容易的给牌就是吃和碰,在这方面做一些记录和显示,可以给玩家展现游戏过程中玩家是如何给牌的。比如我们的”大赢家“红中麻将,你可以清楚的看到哪个玩家给哪个玩家的碰牌。这种信息的处理非常重要和细致。
好了,基本上来说,并没有什么办法完全避免基于手机的房卡麻将,我们所做的手段,无非是降低作弊难度,提升公平性。如果有人说房卡麻将能百分之百防作弊,我觉得还是不要相信啦。最后我想说的是:游戏开心,远离赌博!
AR,VR,房卡棋牌技术,关注公众号:红孩儿的游戏开发之路
以上是关于房卡麻将分析之"防作弊处理"的主要内容,如果未能解决你的问题,请参考以下文章