单机游戏计时器防zuo弊解决方案

一、zuo弊方法描述
一些游戏会在某些情况下让玩家等待一段时间,例如candy crush中游戏失败会消耗一点体力,体力不满时,会每隔30分钟涨一点。体力耗尽时就无法再进行游戏,此时玩家可以修改系统时间,调到未来的时间,再回到游戏中,体力就会涨满了。游戏的这种控制就失效了。

原理:当消耗一点体力时,游戏会记录一个时刻t1,等到当前时刻为t1+30分钟时,就会加上一点体力。如果把系统时间调后半个小时,那就不需要等待直接回复体力了。

二、解决思路
1、通过开机运行时间计算开机时刻
ios和android都提供了一个方法:获取自开机到现在运行时间。就是利用这个方法来做时间校验。通过获取当前时间(有可能被修改)和开机运行时间,可以计算出开机时刻(前者减后者),如果一直保持开机状态,那么这个开机时刻应该是不变的。如果某次开机时刻算计算出来与上一次不同,那么就可以判断计时器出错。

2、记录开机时刻
第一次运行游戏时会把开机时刻记录下来,用于之后计算的对比。

3、联网时间修正
当用户时间异常,比如往后调了1个小时,计算出开机时刻与上次不同,此时需要联网修正时间。从网络上取得正确的当前时间,对比用户时间(有可能被修改),计算出时间差1个小时,记录这个时间差。之后每次获取用户当前时间的时候都要减去这个时间差,结果可以能当成正确的系统时间,再根据1的方法算出开机时刻就比较准确了。时间修正后会重设上次开机时刻做为新的参考值。

三、示例
进入游戏时,取得当前系统时间8点,获得开机运行3个小时,计算出开机时刻是5点。
游戏中在9点钟触发了一个30分钟的计时器,应该在9点半的时候完成。此时用户切到设置中修改了系统时间到10点。
再回到游戏中,会进行计时器检查,系统时间是10点,开机运行4小时,计算出开机时刻是6点,与之前记录的5点不一样,判断出计时器出错。如果用户不进行联网校正,那就无法继续操作。
用户联网后,取出网络真实时间9点,计算出用户时间差1小时(10-9),重置上次开机时刻,还是5点钟没变(如果是关机再开机这个值会变)。
校正完后让计时器继续,取用户时间会减去时间差,即可以得到真实时间,那么计时器就可以正常运行了。
如果用户保持联网状态,那么计时器出错就会瞬间被校正。

单机游戏计时器防zuo弊解决方案相关推荐

  1. 单机游戏计时器防作弊解决方案[转],以及缺陷解决办法

    一.作弊方法描述 一些游戏会在某些情况下让玩家等待一段时间,例如candy crush中游戏失败会消耗一点体力,体力不满时,会每隔30分钟涨一点.体力耗尽时就无法再进行游戏,此时玩家可以修改系统时间, ...

  2. 微信棋牌游戏域名防封最新解决方案

    很多人问,我的微信棋牌游戏为什么会被封?原因就是腾讯检测到你的网页内容存在诱导.诈骗等行为,还有一个重要因素就是被人举报,这也许是你的竞争对手故意黑你,当一人或者几个人举报并上传图片的时候腾讯会限制你 ...

  3. H5微信中棋牌游戏域名防封解决方案

    很多人问,我的微信棋牌游戏为什么会被封?原因就是腾讯检测到你的网页内容存在诱导.诈骗等行为,还有一个重要因素就是被人举报,这也许是你的竞争对手故意黑你,当一人或者几个人举报并上传图片的时候腾讯会限制你 ...

  4. 详述H5微信棋牌游戏域名防封实现原理

    很多人问,我的微信棋牌游戏为什么会被封?原因就是腾讯检测到你的网页内容存在诱导.诈骗等行为,还有一个重要因素就是被人举报,这也许是你的竞争对手故意黑你,当一人或者几个人举报并上传图片的时候腾讯会限制你 ...

  5. 2020最新微信棋牌游戏H5域名防封的解决方案

    2020最新微信棋牌游戏H5域名防封的解决方案 谈到微信棋牌游戏(这里是指纯娱乐性质,非赌博类)在微信里被屏蔽的这个问题,一般是有三种方式: 1.微信跳转浏览器或者直接下载APP的. 2.需要微信授权 ...

  6. 单机塔防游戏推荐_电脑高自由度单机游戏推荐

    大家好,今天给大家推荐几个单机游戏吧,都是一些开放世界的单机游戏,电脑和主机都可以玩的,主要是电脑配置都不是很高,有的游戏笔记本都可以流畅玩耍,可以保持60帧数,好了,我们一起来看看吧. 5.< ...

  7. Cocos2d-x 单机游戏防八门神器修改数据

    这篇文章的前提是单机游戏,网络游戏有自己的加密方法,与单机游戏不尽相同! 游戏辛辛苦苦的做完了,但是使用八门神器可以轻松的修改你的重要数据(金币,道具数量),哈哈哈,那么恭喜您,您挣不到一分钱!说的有 ...

  8. Cocos2d-x单机游戏防八门神器修改数据

    来源:http://cocos2d.9tech.cn/news/2014/0212/39812.html 网上的cocos2d-x教程多为知识点的讲解,但我们学习cocos2d-x的目的是为了什么?为 ...

  9. BigWorld Pty. Ltd.是一家全球领先的大型多人在线游戏(MMOG)开发解决方案供应商...

    BigWorld Pty. Ltd.是一家全球领先的大型多人在线游戏(MMOG)开发解决方案供应商.其开发套件为网络游戏提供了一整套解决方案,可大幅度提高游戏产品质量,并使用户大大降低游戏开发成本,从 ...

  10. 如何高效设计游戏——塔防游戏设计方案

    前言 目前国内市场的游戏普遍为一些带有"快餐特色的RPG"游戏居多,并且这一类型的游戏的设计思路已经发展成为游戏开发者们"月经"一样的存在,有很多人" ...

最新文章

  1. python收取wss数据_Python金融应用之提取交易日+合并截面数据
  2. 东八区转为0时区_踩坑记 | Flink 天级别窗口中存在的时区问题
  3. 求1+2+……+N的和
  4. jquery ajax 数据传输
  5. base64位转成二进制流_你知道 Base64 编码中的 64 指的是什么吗?
  6. java-常用开源库-apache commons
  7. jQuery mobile 开发问题记录
  8. JavaSE基础——IO流详解(1)字节流和字符流
  9. 华为onu 调为交换机_华为onu命令及操作步骤
  10. GB28181国标平台资料整理
  11. html 小喇叭图标,找回丢失的小喇叭图标
  12. 人类的终极目标是什么?
  13. 工业物联网:平台架构、关键技术与应用实践
  14. 什么是零信任?零信任的好处有哪些?
  15. 第 11 章 基于小波技术进行图像融合--MATLAB人工智能深度学习模块
  16. 递归皮层网络RCN识别文本CAPTCHAS的Science论文基础知识和译文 (公号回复“递归皮层网络”可下载PDF典藏版资料)
  17. 阿里云PHP-SMS短信服务——验证码发送教程
  18. 51单片机矩阵按键详解,两位数码管显示(普中HC6800ESV2.0)
  19. IBM专家畅谈未来存储十大挑战
  20. G304电量查询与灯光讲解(驱动下载见上篇文章)

热门文章

  1. 等额本息房贷月供计算
  2. error: system libzip must be upgraded to version #62= 0.11【问题解决】php7编译zip报错
  3. 64 位 Microsoft Windows 驱动程序清单
  4. 曝一段十多年前的“情史”!
  5. 五合一建站系统YouDianCMS开源啦
  6. Python复习笔记———超详细
  7. 远程服务RMI源码解析(二)
  8. 打开qq相册回收站一直显示服务器忙,qq照片回收站怎么打不开 手机qq回收站进不去怎么办...
  9. SUMO交通仿真-核心概念和基础知识速览
  10. 通信原理、模电——部分英文术语对照表