房卡麻将分析之"防作弊处理"


房卡麻将分析之"防作弊处理"


           

          棋牌游戏最重要的一个特点就是人与人对局,因为玩家各自的不可见,就存在着一些作弊的可能性和漏洞。对于手机房卡麻将游戏,大家最讨厌的问题就是作弊。如何防止玩家作弊,保证玩家的公平性,从技术上我们来讨论一些方案。



          首先,我先假设你的代码中服务器并不会犯一些低级错误,比如将所有玩家的手牌信息发给客户端。如果你没有保证好这一点,那么你的游戏将非常容易被辅助外挂进行”明牌化“处理。除去算牌记牌软件的因素,你的服务器只要不存在相关的漏洞就不用担心外挂。



                               


          去掉服务器的因素,在客户端现在最经常出现的防作弊方案主要有两个方向:

一。玩家信息检测


第一种方向,主要是对于玩家的状态进行检测,目前也包括三个小的方法:


(一)玩家同IP提示。


          第一种方法它只是能够预防基于同一个局域网的玩家在一起游戏。处理也非常简单,因为服务器在接收手机联接时可以取得客户端IP地址,通过简单的转发,就可以让玩家得知同房间其它玩家的IP地址。如果房间里有相同IP的玩家,做一些提示即可。不过这种方案并不能够有效的预防作弊,基于4G信号来进行游戏的手机可以轻验跳过这样的验证。更多的时候只是一个心理预防。


(二)玩家GPS定位提示。


           第二种方法使用GPS定位来侦测玩家间距离相近或者定位一致。比第一种方案更真实的反映玩家是否在一起的情况。具体开发的时候,可以使用高德或百度的地图SDK,开发者到高德官网上申请账号,注册成为开发者后,可以创建应用,将包的信息提交,取得KEY,按照官网SDK接入游戏即可以方便的获取定位信息了。




           在服务器的数据库上,一般会有玩家上线信息的表,包括头像地址和GPS地址,玩家登录游戏后,通过高德或百度SDK取得当前定位并发送给服务器存储到数据库中,当玩家进入房间后,服务器也将其它玩家的相关信息发过来,在客户端进行对比并提示即可。

                        


               在整个游戏过程中,可以根据需要进行定位更新处理。保证牌局对玩家进行实时检测。不过一般只需要游戏每局开局时做一些简单处理即可。


(三)玩家游戏过程视频在线。  


               第三种方法则可以在游戏过程中开启视频聊天,或用微信视频聊天,可以随时看到对方玩家在专注的游戏,也就避免玩家去进行作弊操作。不过这种方式相对比较耗电,技术上也相对较难一点。并不是太推荐。


               总体说来,在第一个方向上第二种方法比较可行,也较易操作。


二。牌局信息对比


第二种方向,主要是对于牌局的过程进行检查,目前也包括两个小的方法:


(一)牌局回放。

                牌局回放的意义在于玩家可以在游戏结束后对整个过程进行回顾,分析四个玩家的牌面进展整个过程,发现一些作弊操作。这个部分的技术方法我在公众号早期文章中进行了详细讲述,这里不再赘述,有兴趣的朋友可以查一下公众号历史文章。



                       

(二)吃碰杠的供应记录。

              作弊的手段无非就是给牌,但一般游戏最容易的给牌就是吃和碰,在这方面做一些记录和显示,可以给玩家展现游戏过程中玩家是如何给牌的。比如我们的”大赢家“红中麻将,你可以清楚的看到哪个玩家给哪个玩家的碰牌。这种信息的处理非常重要和细致。




                 好了,基本上来说,并没有什么办法完全避免基于手机的房卡麻将,我们所做的手段,无非是降低作弊难度,提升公平性。如果有人说房卡麻将能百分之百防作弊,我觉得还是不要相信啦。最后我想说的是:游戏开心,远离赌博!

 

                  AR,VR,房卡棋牌技术,关注公众号:红孩儿的游戏开发之路

                                                   
网传资源,如有侵权请联系/留言,资源过大上传乃是下载链接的ZIP文件。 目录: ├─1javascript程序设计9 T& b/ o% ?' h G! b' Y' X/ y │ 第001课初识node_js.rar │ 第002课JS基本数据_函数对象_表_数组_字符串_函数调用.rar* H x0 z) f4 B3 { │ 第003课JS运算表达式_条件判断_循环语句_垃圾回收.rar │ 第004课JSMath函数_数组_表_字符串_常用接口.rar │ 第005课JS模块_new_类_继承.rar1 f2 V3 A& R5 x3 Z │ ├─2creator客户端游戏开发 │ 第001课初识creator.rar+ P+ m" }! v( C& I │ 第002课cc.Node(一)场景树.rar │ 第003课cc.Node(二)事件响应.rar J. G) e" Z/ O( V% m9 i │ 第004课cc.Node(三)坐标空间的转换.rar │ 第005课cc.Node(四)Action的使用.rar │ 第006课cc.Component的使用详解.rar │ 第007课Sprite组件的使用详解.rar │ 第008课Button组件使用详解.rar │ 第009课Label组件使用详解.rar G5 [4 B8 `& ]/ b │ 第010课AudioSource组件的使用.rar' D' [8 n/ _) w% C1 v6 H │ 第011课动画编辑器的使用.rar$ N1 Y4 L$ J, g# L, c) x* T4 s* @ │ 第012课骨骼动画组件的使用.rar& G. _4 U0 u; U0 V: p% | │ 第013课mask_layout_scrollview组件的使用.rar {& g, [) W2 l0 b# t) M& V │ 第014课cc_loader代码加载和释放资源.rar │ 第015课cc.Widget与屏幕适配.rar0 D. n! ?4 l* K; c0 R │ 第023课creator_滚动列表动态加载数据.rar │ 第024课creator_h5打发布优化技巧_android环境搭建与打发布.rar │ 第025课creator_cc.director与资源加载策略.rar │ ) L& {! H9 r5 C7 x x2 q/ z2 t5 O: [ ├─3node.js游戏服务器开发& C7 h( i* c {* D! E │ 第006课node事件循环_process模块的基本使用.rar │ 第007课TCP网络传送的基本原理.rar- K7 a" O9 M* r0 h- q h6 U │ 第008课node.js使用Net模块搭建TCPserver_client.rar │ 第009课node.js二进制数据与Buffer模块.rar │ 第010课node.js_npm模块的安装和加载.rar! o O' O- ]0 G! t: R3 U │ 第011课node.js_websocket与ws模块使用.rar │ 第012课node.js_TCP通讯拆与封.rar7 L5 Y4 X, V$ v# H" c$ {0 Q │ 第013课node.js_二进制数据协议与JSON数据协议.rar │ 第014课node.js_http基础与express_webserver搭建.rar9 [5 x$ @3 Y" v: U7 e* Z │ 第015课node.js_http_server与http_client_get_post编码基本流程和实现.rar# Y/ a6 M$ d8 f │ 第016课node.js_fs模块的同步异步读写.rar4 R7 X5 @# a4 v │ 第017课node.js_Base64_MD5_SHA1_Timer模块.rar │ 第018课node.js_mysql数据库的基本使用.rar4 h5 v, n; ?' t7 ^ h# Z. x │ 第019课node.js使用mysql模块编程操作数据库.rar! D& Y* ]+ t: U: }; F │ 第020课redis的搭建和基本使用.rar' c G% x. A+ e0 d- H, ^9 D& v │ 第021课noderedis编程和使用.rar/ \2 o& J% @# k1 F │ 9 I4 R$ V( {: n- b. B* Z/ B B └─4麒麟棋牌达达麻将框架设计与源码分析 第001课麒麟棋牌_达达房卡麻将安装和导入使用注意事项.rar' B$ u+ j# Z) F7 N 第002课麒麟棋牌_达达麻将的底层通讯express框架与socket.io.rar 第003课麒麟棋牌_达达麻将房间流程.rar 第004课达达麻将客户端初始化流程.rar- B% H! q% ]( _+ s8 |. B 第005课达达麻将房间.rar 第006课达达麻将的游戏流程.rar! g- h. f3 m4 G 第007课达达麻将与发布.rar' e: p$ l* j1 K; Z1 R! ?: t: Y 第008课达达麻将语音聊天源码分析.rar 麒麟游戏达达麻将.zip
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火云洞红孩儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值