如果预防游戏速率作弊

  • Creator 版本: v2.3.1

  • 目标平台:浏览器、安卓

  • 重现方式:

回合制、可以一直刷怪,有个用户卡了个bug告诉我 他能让游戏加速,结果秒刷怪经验和钱币猛涨
我问他是怎么做到的,他也没法说出个什么
有没有大佬帮帮忙 如果预防这种情况

不要让游戏速度和经验钱币这些挂钩就行了。
你可以根据时间戳之类的限制每个回合的时间,不要用update推动游戏进行
或者锁定帧数,不让玩家修改。不过好像锁不住,而且也不一定能防止修改。

客户端使用服务器时间,每次心跳同步一次服务器时间,同时在服务器检测客户端的心跳频率。

客户端每次的心跳时间都对比服务器时间检测一次时间差是否在合理范围内

网络游戏的话,有些工具可以劫你的发送包,重复发送一回合的奖励包,金币无限增加,还有可以修改包的数据,你要给包加密,考虑重复包问题。

根本不需要这样,只需要限制接口的调用条件即可,肯定要进行服务器判断是否允许增加金币的啦,只要服务端做好了,什么其他操作都是浮云

你说的不需要哪样,包不需要加密?修改你的包,然后符合你的条件。你如果加密了就不一样了,中途修改,服务器解密不了才有条件。重复包,加密是没用,是要条件判断。个人见解.

我说的和楼主问题,好像没关系,个人还没见过加速游戏的工具,只见过劫包工具,如果是加速,上面有人说了其他方法。

举个例子,玩家完成一回合就增加奖励,对吧?玩家是不是要先进去游戏。然后才有完成一回合之说,也就是全程服务器都是有数据的,如果你连打怪都还没打,啥其他的技能数据包都还没发,或者是通关时间正常来说是需要5分钟的,然后所有的怪物都还没上线,你就发了胜利的包,这个很明显就完全看你会不会限制条件,靠加密是不行滴,因为数据在客户端,按照你的逻辑进行数据封装加密再发给你是一样的,加密的作用是防止第三方软件或者中间人截取包解析包,但防止不了客户端的人(也就是通信双方)

网络游戏如果要防作弊,一句话永远不要相信客户端

没必要每次心跳都同步吧,每次刚进app或者app从后台回来,就近找个ntp服务器同步一下时间就好了。这个做法针对那种没有很重的服务器的游戏。

我的逻辑的是既要加密又要考虑条件,你是说不需要包加密,不争执了,不说了。

我跟你的意思一样,但是主要是客户自己解密,客户自己想要不断的增加金币,而不是中间人,所以加密从这个角度出发的话是没用的

经过了解后 应该是使用了变速齿轮 加快了所有动画的时间
把一场需要动画在几十秒来回的战斗 加速成了秒级 这样加上连点器 就可以达到速刷了