游戏中的反作弊/小故障

时间:2016-08-27 14:28:59

标签: unity3d game-engine anti-cheat cheat-engine

目前,我正在与一个基于Unity游戏的团队合作。该游戏仍在开发和alpha版本。

最近,我们看到游戏很容易受到Cheat Engine,speedhack等的攻击。更新后的更新,作弊现在稳定。我们还介绍了ACT或Unity的反作弊工具包。由于游戏是基于Unity的,因此很容易在游戏中实现创意。

虽然" hacks"是稳定的,"故障"不是。

这是一个开放世界的生存游戏,它包括挑选/丢弃物品。小故障是当两个玩家一起挑选物品时(目前你必须按下E而十字头在物品上面才能拿起它)该物品会被复制。我们一直在努力修复它,但没有财富。

我们介绍说,当附近有其他玩家时,玩家无法拿起物品。它看起来很奇怪,我们希望游戏流畅。我们也试过自动提货项目。这是我们的计划,但我们能做些什么呢?

1 个答案:

答案 0 :(得分:3)

如果您的担忧是玩家通过修改内存值而作弊,以及维持同步游戏状态以避免项目重复等问题,您应该考虑设置一个权威服务器,它将包含并更新"官方&# 34;价值观和游戏状态。

基本上,游戏不是直接在玩家的计算机上存储值和执行动作,而是向服务器发送它想要做的事情的请求,服务器将执行动作,更新官方游戏状态,并将新状态发送回播放器,以便更新游戏。

这会阻止内存编辑,因为即使播放器修改了屏幕上的值(例如货币或运行状况),服务器也会包含真值。

它还可以防止像speedhacks这样的漏洞攻击,因为按键不会让本地游戏直接移动玩家,按键只会向服务器发送移动请求,这将更新玩家的位置,并寄回新职位。

最后,这将阻止项目重复,因为当两个玩家都试图拿起项目时,他们都会向服务器发送项目提取请求。无论哪个玩家的请求首先到达都将收到该项目,然后服务器将更新游戏状态以使该项目不再在地面上,并且第二个玩家的请求将被忽略,因为他们& #39;重新尝试不再存在。

简单地说,防止作弊的最佳方法是:不要在播放器的计算机上存储重要值或执行重要操作。