如何保护您的实时在线射击游戏不受潜在机器人的攻击


14

我正在寻找一个自上而下的多人射击游戏。当我阅读了有关不同主题的文章时,我可以看到他们面临一些实际挑战,但是我全力以赴。

我无法理解的一件事是,我应该如何保护游戏免受尝试创建机器人的人的侵害?

我的意思是,据我所知,以保护玩家无法创建监听正在发生的事情并理解它的程序的方式来保护网络流量是不可能的。

所以让我担心的是,人们可以创建机器人来监听竞争对手玩家的当前位置,并发送模仿玩家的通讯,好像玩家正在精确的“完美”位置射击以赢得比赛。

那么,什么样的技术被用来保护这种机器人的实时游戏呢?

我还要提及的是,我曾尝试搜索讨论(这听起来像很多人都在苦苦挣扎),但没有找到关于它的任何具体信息,只是作为有关实时游戏网络的更广泛问题的一部分。如果我本应该看起来更努力一点,请随时把我放在我的位置:)


Punkbuster,呵呵。。有一个原因可以检测到第三方应用程序和更改的第三方应用程序:)
James

您为什么担心人们会创建机器人?也许您可以解决它,所以这不是问题。
Beska

@James Punkbuster太可怕了。我有很多其他人在新游戏问世时曾经历过糟糕的经历。经常因为一些庞克特的错误而被踢,不好玩。
AttackingHobo

@Beska:听起来很酷,我需要认真说服机器人不会破坏非机器人玩家的游戏。我确信可以设计一款不会让机器人破坏体验的游戏。我可以肯定,对于大多数在线多人游戏而言,使游戏机制成为机器人证明并非难事。
deft_code 2011年

@AttackingHobo我只想指出的是,有整个公司什么都不做,只是试图找出解决这个问题的方法。PunkBuster只是尝试做到这一点的好软件,不管好坏,它都是其中之一:)
James

Answers:


8

有两种抵制僵尸程序的方法。它们是客户端保护和服务器端分析。

从某种意义上说,客户端保护是最明显的方法-蛮力。您将尽一切努力确保游戏客户端完全合法,未被篡改并且没有其他程序影响该客户端。现在这是一个棘手的问题,不可能完全解决。但是许多游戏都尝试了这种方法,并取得了一些成功。我知道有一些现成的解决方案可以保护客户,并建议您寻找它们。自己实施是一项艰巨的任务。

客户端保护除了效果不到100%之外,还具有令您的播放器极为烦恼的缺点。通常,这意味着禁用alt-tab任务切换,防病毒程序等。

服务器端分析的侵入性较小。通过这种方法,您可以使用一些服务器代码来分析玩家行为的模式。大多数情况下,机器人的玩法明显不同。例如,人类玩家在两次动作(例如射击)之间有不同的时间,而这一次服从钟形曲线分布。原始漫游器将具有恒定的时间,或在一定间隔内均匀分布。有趣的事实:使用这种方法,我们曾经用机械人(一种巧妙的设备,可以在其物理键盘上按下按钮)来吸引玩家。不用说,没有多少客户保护可以抓住这一点。不过,这种分析并不完美。更多高级机器人将欺骗您的系统,您实施的检查越多,高级机器人将变得越多。

为了获得最佳保护,可以将这两种方法结合使用。客户端保护将使开发机器人更加困难,而服务器分析将阻止快速开发的简单机器人。但是无论您做什么,都永远无法完全停止机器人。好吧,除非您派遣代表到球员的家中,否则他们必须监督球员的比赛并举报违规行为。(顺便说一下,这并不是闻所未闻的。我肯定读过一个有关在线扑克公司将人们送往一个非常成功的玩家家中的故事,以确认他的游戏合法。但是我现在似乎找不到它。)

还有两个针对机器人的可疑建议。一,加密您的网络流量。我认为这不会奏效。如果您的客户端处于敌人手中,则可以并且将对流量进行解密...或者您自己的客户端将用于加密。另一方面,加密会增加延迟,这对于“实时射击者”来说确实很糟糕。第二个建议是“仅以此设计游戏”。虽然这似乎是一个不错的主意,但我还没有看到一个能解决这个问题的游戏。


1
我怀疑您是否找到了一个拥有机械机器人的人。更有可能是软件bot模拟了输入的硬件键盘。
AttackingHobo

2
不,实际的机械人。作者给我们发了图片。不幸的是,它们已从服务器中删除(早在2007年!),因此您必须相信我的意思。
没关系,

感谢您的回应。我想加密可以稍微“提高标准”,并且可以抵御许多黑客的攻击。但是,在射击游戏甚至MMO等对时间要求严格的游戏中,任何真实的通信加密是否可行?
Zaky German

除了登录顺序外,我从事过的其他游戏都没有在任何地方使用加密技术,因此我不知道它会在多大程度上影响延迟。我猜这取决于加密算法。
没关系,

2

我不希望任何大公司谈论他们如何保护自己的游戏。人们对自己所做的事情了解得越少,人们就越难以解决。我认为Steam要做的部分工作是寻找运行在黑名单上的某些应用程序。

就我个人而言,我会尽可能地对通信机器之间的通信进行加密和混淆处理,可能值得阅读https / ssl的工作方式以获取一些想法。如果主机要生成随机的公钥/私钥,并且仅将公共部分发送给其他客户端,那么即使您可以访问客户端,也无法轻松地拦截和更改正在发送的程序包的内容机器,那么没有什么是完全安全的。

您还需要确保客户端exe不被篡改。


1

设计游戏时,团队合作和实际的明智决策比能够完美瞄准更为重要。制造像样的机器人变得越来越困难。


我认为依赖团队合作和准备的游戏以及依赖纯抽搐技巧的游戏都有自己的位置。仍然我认为没有人应该适应技术障碍调整他们的游戏设计选择
Zaky German 2011年

@Zaky:我曾经制作过蠕虫式游戏的原型,在这种游戏中,突然死亡时屏幕会慢慢充满SPH液。直到游戏滞后直到死亡,它看起来真的很酷。我认为许多游戏设计决策都是受技术障碍影响的。
deft_code 2011年

@deft_code我的意思是说游戏设计是指游戏机制,而不是艺术或图形设计
Zaky German

我对SPH的使用与蠕虫中的死水一样,是一种游戏机制。我只是改变水与游戏互动的方式。
deft_code 2011年

0

并问问自己所有重要的问题,是否值得为此烦恼。骗子和小子可以做两件事:

  1. 自己破坏游戏。他们不能没有机器人,他们会很快失去兴趣并离开,因为这很无聊。
  2. 为他人破坏游戏。他们通过自己的漫游器变得过分强大,从而使您的客户不堪重负。这通常伴随着一个玩家从同一台物理计算机上控制多个机器人(或者使用的计算机数量远远超过一个玩家可以手动控制的数量)。

两者当然不是相互排斥的。

通常,然后最大的问题是来自相同或紧密相关的ip地址(或MAC)的3+(作为一个受过训练的人可以同时使用2个键盘或其他输入设备,但由于他只有2个手而不能使用更多)地址)直接协调一致,彼此之间在几毫秒内执行命令。因此,如果您发现有5个来自同一ip地址的客户端都以异常高的速率和异常紧密的协作来发出命令,则可能是您的恶意软件。通常,这在PVP场景中最具破坏性,在这种情况下,由于其更高的协调性和速度,该机器人大军可以在与类似数量的人类控制的Toon交战中占据优势。在PVE场景中,通常对游戏的损害是有限的(除非它允许一个人更快地将多个Toon训练到高水平,

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.