目前正在开发一个有点类似捕鱼的游戏,同样是每发射一炮消耗金币,这个要怎么做校验呢?
我想过如下两点,但都有很大问题,目前没有较好的解决方案,在此恳请大佬指点迷津:
一:服务器(用的是微信云开发服务器),每发射一炮,向服务器发送一个请求,判断金币是否充足,这样服务器不得炸了
二:本地:两个问题,一:修改器作弊,二:游戏突然退出、关机和断网,导致本地数据无法回传服务器,即时成功回传,数据也有可能被篡改了!
游戏先做出来再说,万一一天就挣3块钱,就没必要管它了
1赞
。。。,话不是这样说!解决了这个问题,不一定赚得了前,但这个问题解决不了一定赚不了钱!
而且项目已经开发到最后阶段了,就差解决这个问题!
我一般是调用wx.onhide(),每退出一次小程序保存一次数据
用服务器获取密匙,利用时间戳和密匙 来 加密本地数据。
离线后在下次上线时再传回数据、时间戳、密匙 给服务器,用于验证数据是否有效,无效就拒绝,并且重置数据。
等你们的量级能把微信的云服务器弄炸了,不用担心,钱能帮你们解决一切。
数据加密保存在本地,然后定时上传服务器
这个方法算好的,不过也无法避免楼主提出的闪退、关机和断网啊,至少断网是没法成功调用onHide的吧,我实在想不出不用服务器实时通讯能基本避免破解的办法。
安卓可以直接获取微信小游戏的源代码,本地加密应该没什么用。
关注一下,我也在考虑这个问题。目前也是考虑吧数据存本地,然后定时上传服务器。数据的修改是难免的。只能在服务器做一些防作弊措施了。但也不能完全防作弊
个人觉得,非强联网游戏都避免不了破解和作弊。你现在需要做的就是增加破解和作弊的成本,并且服务器需要做好数据的验证工作。当然,如果你的游戏和玩家手中的rmb关系不大,你只需要做好本地的工作,定时上传游戏存档即可(甚至都不需要上传存档到自己的服务器)。
防抖或者节流?
自己计算,下次登陆和服务器同步