MMO在PvP期间如何/应该如何处理断开连接?


20

在MMO(甚至不一定是MMORPG)中,有哪些技巧可以处理玩家在PvP中间断开连接的问题?

特别是-您如何避免对因网络(甚至现实生活)问题而断开连接的人们造成不利影响,而又不对与他们互动的人们造成不利影响?

而且,重要的是,如何确保断开连接不能用作作弊方法?

Answers:


15

我在研究一些在线CCG时遇到了这个问题。我见过的最佳解决方案:

1)玩家必须连接到服务器,而不是直接彼此连接,并且永远不要在传送给玩家的数据中传递对手的IP地址。这可以防止拒绝服务攻击,在这种攻击中,玩家会迫使对手离线以赢得胜利。

2)连接中断=您输了,对手赢了。我们必须假设,如果您放弃了,那是为了避免某些损失而放弃。

3)断开连接以尝试重新连接一段时间,以便轻微的打h并不会迫使您不会因自己的过失而迷失。理想情况下,时间足够长,以防有人不小心踢了电缆,但又足够短,以使对手在等待时不会感到沮丧和入睡。我认为我们发现大约45到60秒感觉不错。

4)允许玩家报告他们的对手。这是必须采取的措施,以防止任何人在您的保单中找到烦人的方法。就像,也许是在口头上骂人,以至于对手掉下来只是为了离开那里,或者不断地断开连接并重新连接以延长游戏的长度,或者是为了避免损失而围墙,等等。您无法阻止所有不良行为,但是可以包括一个游戏内机制来报告该问题,然后让您的客户支持部门处理其余问题。


13

流行的MMORPG RuneScape使用1分钟计时器。当您断开连接时,您的角色会在世界上呆一整分钟,容易受到攻击,而不会受到攻击。


1
DAoC也一样。效果很好,因为如果您不这样做,人们可以断开连接以避免打架。DAoC中曾经有一个“ Quit To Desktop”(退出到桌面)/ qtd命令,使人们立即退出,因此将其删除。
奥拉维尔Waage

8

我曾经在一个在线赛车游戏中解决过这个问题,在该游戏中,输了的玩家经常会关闭游戏机,以避免损失出现在他们的记录中。但是,它适用于任何PvP情况。

我的解决方案是这样的:

  1. 在比赛开始时,一旦所有玩家都加入并开始比赛,请计算如果我们的玩家输掉比赛将会有什么结果。在我们的赛车游戏中,“迷失”是指“排在最后一位”,通常的结果是“从玩家排名中减去N分”。

  2. 将结果保存到安全位置(Savegame,排行榜,在线数据区域等)。

  3. 与结果一起存储“ GameStarted”标志。这仅表示游戏已经开始。我们稍后将需要它。

  4. 游戏结束后,计算实际结果并将其应用于玩家得分/统计数据。取消设置“ GameStarted”标志。这是正常的游戏完成过程。

  5. 但是,如果玩家断开连接,拔出电缆或关闭电源,最终他们将返回到游戏菜单。在菜单代码中,我们检查“ GameStarted”标志。如果已设置,我们确定我们已经检测到较早的游戏内断开连接。然后,我们可以将存储的结果应用于球员的得分/状态。就像玩家输了游戏一样。发出警报通知玩家发生的事情也是一个好主意。然后,一旦他发现断开游戏中途会产生后果,您将看到行为开始改变。


真是狡猾。显然,它不能同样适用于所有游戏类型,但是预先计算潜在后果的概念是一个不错的选择。
Kylotan

1
但是,对于意外断开连接相当苛刻,可以在该区域使用解决方案。
卡扎伊

5

我认为实现这一目标的唯一方法将取决于游戏的结构。有两种方法可以使作弊变得不那么理想:惩罚或奖励。因此,如果您不希望受到不利的处罚,请想办法奖励那些没有摔倒的球员。

取而代之的是,PvP的奖励不是被征服者的尸体的战利品(这使得掉落一件非常糟糕的事情),而是让获胜者获得一些奖励,例如经验,金币或其他全部奖励(积分?排名?)。如果其中一名球员被踢开,则其余的球员将获得奖励,而被踢出的球员则一无所获,却一无所获。除非是排名系统,否则离开的玩家可能会失去一些排名积分。


我喜欢这是一次独特的分析。
卡扎伊2010年

彼此认识的两个玩家可以利用这一点。他们可以根据自己的喜好重复多次,因为失败者不会受到惩罚。
13年

5

世袭II这样做:

  • 在战斗中,您不能退出游戏客户端-任何战斗都将开始,无论您是在战斗还是正在战斗的队友都受到攻击,袭击或治愈,而您处于“战斗姿态”,这种战斗持续15秒钟被制造。
  • 如果仍然断开连接或游戏崩溃,则角色会在游戏中停留15秒钟,然后消失。它甚至可以继续自动攻击,无论攻击者如何,但不使用技能-与使用AFK一样。
  • 还有就是一个办法然而,瞬间断开,通过重新连接到同一个帐户与其他客户端。当在PvP中完成时,这被社区视为边缘作弊,并且一些作弊工具也可以选择使用它,因此在该处使用率不高。但是,当咬太多东西以至于无法咀嚼PvE时,有些人仍然会使用此技巧来避免不必要的死亡(尽管有些游戏中的物品允许几乎相同,即“祝福的逃生卷轴”)。
  • 重新连接到带有PvP标记的区域(例如,在攻城期间的城堡地面)和某些特定的非示例性史诗首领区域,可将角色转移到最近的城镇(安全区域)。因此,断开连接以避免“失败”会对您的团队造成惩罚,这意味着游戏的社交规范强烈建议不要这样做。

就我个人而言,我会做类似的事情,只允许玩家预先定义其角色正在断开连接的动作(保持战斗,逃到最近的安全区以避免仇恨,使用常规的逃生滚动,使用有福的滚动逃脱,...),并且即使玩家未登录,角色也仍然存在于游戏世界中。


真好!我喜欢!:)
单击“确定”,

3

一旦被刺伤,断开连接的一个将死亡,而另一个将被记为杀死。任何宽大的东西都会被利用。

通常,您的身体离开世界前需要1至5分钟的计时器。


3

无法确定是什么原因导致断开连接(电源是否断开?我是否将机器狂轰滥炸撞在墙上?),因此您只能假定用户正在尝试(或尝试)欺骗并使其易受攻击。 X分钟。


3

EVE Online处理此问题的方式如下:

  • 断开连接后15秒钟,船舶开始翘曲。如果是扭曲的,船将不会扭曲。(您的角色的飞船将在15秒后开始“逃跑”,除非它被另一名玩家“困住”了)

  • PVP计时器(直到玩家在进行PvP战斗时“逃跑”为止的时间)设置为3分钟。(这是为了应对许多其他计时器)。

  • NPC计时器停留在1分钟,但15秒后船将翘曲离开,除非翘曲被NPC扰乱。

  • 当船只被玩家锁定目标时,它应该切换到pvp计时器(如果在设置了计时器之前无法定位的情况下断开连接,则使用1分钟计时器来对付它)。



2

如果您有一种方法可以模拟玩家在战斗中的惯常模式,则可以将其设置为AI模式,直到他们重新连接或战斗结束为止。但是,除非战斗在X时间内返回,否则不要给他们任何战斗奖励(经验,物品等)。


0

我会实现某种迟滞。您可以使用胡萝卜和棍子。但是,可以根据跟踪记录来选择要使用的内容(您也可以分析它们的联系和当前的“双赢”,并使用它们。)这就是您希望亲自进行的方式。简单模型:

  • 如果我“不好”并且我DC我会坚持下去。我现在更糟。
  • 如果我“不好”并且完成了,我不会得到奖励,但是我也不会得到奖励。我现在正接近成为一个好人。
  • 如果我是“好人”并且我DC,那么我不会得到奖励,但是我也不会获得奖励。我现在变得更糟。
  • 如果我很好又完整,我将获得奖励。我现在好多了。

您可以滥用它。但是,这样做可能需要付出更多的努力,而不仅仅是硬着头皮。(例如,如果花费了2个DC来弥补,则从技术上讲,您可以摆脱一半的损失。但是,这确实减轻了一些滥用,并且在所有滥用行为少于聪明球员的情况下)。

使用此授予,表示计分板的总和不会达到100%。由于您可以在保持良好状态的同时保持DC,而不需要记录损失。但是另一位好玩家可以取得胜利。同样不等于100%的意思是2名玩家可以合作关闭DC玩家以获得堆叠胜利。

因此,并非万无一失,而是添加了对游戏状态和连接的贝叶斯分析,可能会检测到时髦并使得该方案防弹。(您可以击败贝叶斯分析,但人类并不擅长这样做,大多数人都无法进行数学计算,更不用说花费时间来“准备”一场战斗以克服DC了。)


嗯 我可以看到一个无法纠正的问题...如果“劣质”获胜者可能会抱怨没有获得其“优胜者”,除非您对该计划进行了非常公开的记录。当然哪个会引起干预。可能的解决方案:隐藏奖励,直到“赛季”结束为止,这至少会巩固问题……但可能导致“不良”玩家从浪费的“投资”中退出。双赢?
黑色的
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.