我正在开发一个可以作为Web应用程序运行的游戏。事实是,如果一个玩家创建多个帐户,游戏就会失去意义。想象一下这是一个回合制策略游戏,如果您与另一个人对战(使用另一个帐户),则可以轻松获得大量积分。
首先,我考虑过记录每个用户的操作,然后比较用户的IP以检测是否存在任何作弊线索。但是后来我注意到,不同的用户可能在相同的IP下运行,例如,如果他们在学校中并且他们所有的人都使用代理共享相同的IP。使用这种方式,无辜的人可能会被禁止。
有什么更好的方法我想念吗?
我正在开发一个可以作为Web应用程序运行的游戏。事实是,如果一个玩家创建多个帐户,游戏就会失去意义。想象一下这是一个回合制策略游戏,如果您与另一个人对战(使用另一个帐户),则可以轻松获得大量积分。
首先,我考虑过记录每个用户的操作,然后比较用户的IP以检测是否存在任何作弊线索。但是后来我注意到,不同的用户可能在相同的IP下运行,例如,如果他们在学校中并且他们所有的人都使用代理共享相同的IP。使用这种方式,无辜的人可能会被禁止。
有什么更好的方法我想念吗?
Answers:
有几种不同的处理方法,许多解决方案各有千秋。我将给出处理此问题的理想方法的意见。
首先,重要的是要了解,无论您的系统多么复杂,只要有足够的知识(有适当的知识)投入游戏系统的人就会想出一种方法来进行游戏。
要认真解决此问题,如果这确实对您来说是个问题,则需要在游戏的设计和技术实施中都解决此问题。
通常,如果您正在运行任何类型的具有用户交互作用的游戏,那么我会进行日志记录,那么冗长的日志将使您能够基于真实的定量度量来修改和定制游戏。
使用您的日志,您可以设置一个系统来比较任意数量相似点的帐户之间的数据。
例如,如果两个帐户使用相同的IP地址,或您认为适当的比较措施的任何其他信息,则您希望能够查看两者之间相对于交易的整体互动(赢/亏损,交易)。与他人互动的数量。
使用此数据,您可以逐案或自动通过适当的判断。根据问题的普遍程度,我建议使用自动选项并通过实时主持人处理所有问题。重要的是,不要删除该帐户,只需在“该帐户被怀疑违反了该游戏的TOS协议。如果您不同意,请转到此处”中显示一条消息,然后将其暂停,并提供指向仲裁小组或其他内容的链接。
这样的事情很重要,因为人们可能在家里或在学校共享IP地址。同样,对于年幼的孩子,他们可能会在注册信息中使用父母的电子邮件地址,信用卡甚至名字,这取决于他们的保护程度。
第二阶段是设计方面。虽然预期会有一些好处,但您需要充分消除这种形式的作弊行为。有很多方法可以解决此问题,超时时间非常短(可能是必要的),这很令人讨厌。但是我认为最好的方法是适当调整两个帐户之间的收益。
例如,某些MMO改变了高级玩家与合理级别范围以外的玩家玩游戏时获得的利益。这不鼓励玩家自己通过功率调整来访问多个帐户(至少在特定范围内)
您甚至可以专门针对共享数据并直接减少它们在交互时获得的收益的帐户。这会鼓励与其他玩家的互动,但是可以通过代理服务器来规避它,并且根据目标受众的不同,这样做是不明智的。
认为可行的另一种方法是具有游戏性,以至于人们无法真正打出两个不同的账户而仍然跟上其他所有人的步伐。
当然,使用此系统,您将需要花费大量的精力进行调整,以防止误报或其他错误。
您想要收集适当的数据,以使您能够自动检测和处理潜在威胁并针对每个用户处理误报。要确保您没有假阳性,需要大量保姆。
另外,您还想减少游戏结束时使用多个帐户作弊的好处。
解决分数“耕作”的最简单,最有效的方法是根据玩家之间的差异来调整收到的分数。请记住,不仅仅是一个玩家创建多个帐户需要担心:想象两个朋友,一个故意丢失,其他人为地提高了排名。
国际象棋和其他游戏通过Elo评分系统的形式避免了这种情况。基本上,打败比您高评级的人的奖励是很高的,但是打败一个比您低评级的人的奖励是非常低的。这很快使故意失去优势的另一名球员无效。您可以调整对差玩家的获胜会导致很少的净收益的速率。一个“正确”玩法的玩家,即与众多排名相似的对手比赛,将非常迅速地前进。
注意:仅仅惩罚输掉的玩家是不够的,这样对他们的胜利就不会给您带来任何好处,因为玩家可以创建一个账户,故意丢掉账户,然后再创建一个账户。如果存在进入障碍(例如,输入信用卡详细信息以创建新帐户),那么这并不是什么大问题,但是对于可以使用的免费游戏来说,这并不是问题。
同样值得一提的是,如果将评分用作实际能力的衡量标准,而不是仅仅作为修改玩家获得的任何奖励的一种方式,则存在危险。如果等级本身就是衡量标准,精明的玩家将使用该系统破坏他人。即玩家1通过练习获得了很多技能/能力,然后创建了一个新帐户。与玩家1差不多的玩家2接受了新手的挑战。输给新来者将严重损害他们的排名,即使新玩家确实具有同等的排名。但是,如果实际不使用评分来衡量玩家,那么这实际上符合玩家2的利益(将其评分下调将使他们根据实际技能水平而更快地进步)。
您可以根据对手得分的总和来奖励得分。优秀的玩家会击败新手而获得很少的积分,而新手也会因为击败经验丰富的玩家而获得很多积分。同样,失败者将失去与相同比例成比例的分数。
这并不能完全解决您的问题,但可以消除创建和击败大量新手替代者的简单情况,并且也难以使两个不同的具有相同功效的账户变得更加困难。
但是,确实没有阻止这种情况的万无一失的方法。一个足够专注的作弊者将会成功。但是,如果您将带有可疑活动的帐户标记为要审核,其中“可疑活动”包括具有相同电子邮件或IP地址的多个帐户,那么您将能够发现最严重的违规者。
我发现通过游戏设计比通过执行/禁止更容易解决此问题。即使您永久禁止所有玩家帐户,也有足够决心的玩家可以找到一种方法来禁止您的帐户(例如,如果您跟踪IP,他们可以使用动态IP或IP掩码)。
例如,如果您为赢得PvP竞赛的玩家奖励积分,则可以激励玩家创建多个帐户,使他们可以输给自己。相反,如果您随着时间的推移与同一个玩家一起分组比赛而获得更大的回报(例如,公会参与),那么您会激励友谊和社区而不是竞争,这会改变人们的偏爱行为。将其他元游戏特性与玩家的帐户绑定在一起(例如,信誉得分和好友列表),将进一步降低维护多个帐户的吸引力-至少,人们希望拥有一个良好信誉的“主要”帐户。
如果您的游戏本质上是PvP,则解决“我会建立多个帐户并故意丢失自己”问题的一个主要方法是仅提供自动配对。因此,玩家请求玩游戏,然后服务器会自动将它们与当时恰好在线的其他人进行匹配。如果玩家无法选择对手,他们将无法保证自己会战斗(除非他们当时恰巧是唯一的一个在线对手,但是那样您就会遇到更大的问题)。有关此示例,请参阅Microsoft Hearts / Spades或大多数支持PvP的Facebook游戏。请注意,在这种情况下,您肯定会需要某种智能的配对(或者使用某种排名/评分系统作为玩家帐户的一部分,或者让玩家自行选择自己喜欢的竞争力水平)。
如果您担心玩家想和他们的朋友一起玩游戏,您也可以始终提供该选项,但在选择对手时仅允许未分级/未分级/练习的游戏。
https://panopticlick.eff.org/上的人们进行了一些测试,测试如何通过几乎可以从任何浏览器收集的多个值来唯一地标识某人。结果令人震惊,您可以使用类似的方法(可能与其他措施结合使用)来识别和跟踪用户。
暴雪在Warcraft 3和Starcraft 2中采用了一种非常简单的设计解决方案,仅在使用自动配对服务进行游戏时,玩家才能获得积分/得分/经验。玩家仍然可以与朋友对战,但不会从中获得积分。
如果玩家无法确定要与谁对战,那么就没有可靠的方式通过与虚拟账户进行对战。
我在称为Travian的游戏系统上玩游戏,我真的认为该技术不足以吸引作弊者。大多数作弊软件通过KVM切换器链接了2-4个系统,每个系统运行不同的OS版本(Windows XP,Vista,Win7,Linux Mint,Slitaz等),并通过代理服务器运行(尽管主帐户未使用代理但标准)
当然,这会带来不公平的优势,大多数付费玩游戏的人都离开了,付费会员在短短几个月内就减少了1000多名,而且玩家人数减少了,帐户变得可疑的现象变得越来越明显,但是没有任何作弊的证据,那些作弊的玩家会逃脱惩罚,而那些公平地付款的人(whoops,意思是公平游戏)可以看到可疑的活动,他们会灰心并退出游戏,或者他们学会作弊,因此找出问题所在。
当前对于Travian来说,游戏中没有哪个玩家可以诚实地说他们不作弊,或者承认他们雇用了phils和China等国家的人来帮助他们在睡眠或度假时为他们玩游戏。
当然,必须有更好的方法来捕捉多个帐户作弊行为,否则这将是游戏的未来,只有很少的实际人员组成整个游戏基地,而获胜者取决于谁可以雇用第三世界国家/地区的最多人玩游戏给他们的游戏。
通过信用卡0.01美元的会员资格(并查看谁拥有相同的信用卡号)是否是在注册时检测多个帐户作弊行为的可行方法?
如果您有多台服务器,一种选择是要求必须在备用服务器上创建来自同一IP的任何帐户。因此,如果您想创建10个帐户,那就太好了,但是您必须在不互相影响的服务器上创建它们。这妨碍了在同一地点的人们能够一起玩,因此存在缺点。从好的方面说,它也干扰了代理欺诈的有效性。
您最终会想出所提出的任何解决方案的利弊,而您也不会完全消除作弊。因此,请决定您愿意走多远,并密切关注这些变化如何影响用户群。
大多数人尝试使用外部工具追逐多个帐户。这是愚蠢的。如果您具有用于用户活动的适当日志和指标,则可以通过游戏中的少量条件扫描来确定大多数多帐户用户的状况。
不,我不会把这些细目交给您-事实是-业内很少有人会说明这一点-越愚蠢的游戏设计师和编码人员在那里,对于认识的人来说,他们的工作安全性就越高他们到底在做什么。
如果利益链设计不当,并且可以通过多个帐户轻松操纵,则多重会计对人们而言甚至是可行的。
如果在奖励方面很难进行多重会计(而不是躲避检测-只是游戏的努力和时间)
唯一真正做到这一点的人就是铁杆玩家。而且,由于它们是社区驱动程序,因此您甚至不必费神抬高他们的眼睛。他们竭尽全力了解您的所有漏洞并研究环境中的效率。通过一切权利,他们投资的努力应该得到最好的回报。您仍然可以通过大多数懒惰者获利。
优秀的设计师永远不会真正堵塞每个漏洞,而要堵塞主要漏洞,并确保您有办法消除经济中的多余漏洞。或显然在需要时注入价值。
我手上有83个多帐户的清单。他们认为自己在欺骗我们-并享受到他们比我们聪明的想法所带来的快乐。大多数人还向游戏投入了真实现金-我们不想禁止它们。我们的编码人员实际上没有时间来使用系统-因此,我用一个秘密的虚拟帐户设置了CM,以偶尔在游戏中ash头,“合法”窃取其“财富”。
他们以为自己是我们的陪伴者,并且认为游戏中的其他人有能力去磨斧子,因此他们变得越来越有动力。最终结果是-考虑到他知道用户的行为,并且CM随时丢弃了任何严重的多余信息,因此CM将其丢弃。所有这些-可以通过代码自动化,但是谁有时间或预算呢?
为构建用于分析用户IDS的复杂多帐户检测系统,以防止游戏中存在多个帐户的任何人,一开始都会大为恼火。
您确实需要确定要防止的特定行为。
例如,如果您要防止的真正问题不是“创建多个帐户的人”,而是“个人由同一人控制的多个帐户作为目标”,则可以在此区域中使用潜在客户之间的相似特征来克隆允许玩家自己监视多人游戏。换句话说,如果他们检测到多人游戏的特征,他们可以采取行动(通过某些界面)以检查帐户之间的相似性,并且如果帐户确实有太多相似性,则会导致惩罚。玩家监管。这样做的好处是,多重会计对其他非多重参与的个人最重要,因此,如果他们感到受冤屈,他们可以追索他们可以尝试当场赶上多人游戏。它还允许在统一查看的帐户系统中将误报(例如ip)作为多帐户的真实证据。
同样,正如其他人提到的那样,如果这是通过击败自己的虚拟帐户而获得的排名,那么stackexchange上的rep系统这样的系统将把自己的排名积分转化为零和。
确保不值得拥有多个帐户。
您如何执行此操作的示例:
允许玩家创建多个帐户,因为无论如何您都不能阻止他们这样做:
在所有这些答案中,此方法是唯一真正有效的方法。如果人们不想建立多个帐户,那么他们就不会这样做。您可以通过良好,周到的游戏设计来决定他们想要什么。
我认为还有另一种方法。因为还有另一个潜在的危害:想象两个创建两个帐户的朋友:一个散户和一个赢家帐户。有一天,朋友A使用他的较宽松帐户来针对朋友B的获胜者帐户放弃所有游戏。第二天他们改变了。在这里检查IP不会有帮助。
您应该检查播放器的行为(入侵检测系统知道一种策略)。如果两个玩家经常互相玩,而一个玩家一直都在放松,这就是一个线索。如果游戏结束得很早,那是另一个线索。
您可以对这些线索进行评分,将评分添加到声誉中(不向用户显示声誉),并在达到您定义的值时禁止帐户。也许还应该有一些修复声誉的反线索。
其他线索在很大程度上取决于您的游戏。但我认为您明白了。