HTML 5 Gaming 是不是使用 Canvas 和 Javascript?在这种情况下如何防止作弊?

Posted

技术标签:

【中文标题】HTML 5 Gaming 是不是使用 Canvas 和 Javascript?在这种情况下如何防止作弊?【英文标题】:Does HTML 5 Gaming use Canvas and Javascript? How to prevent cheating in this case?HTML 5 Gaming 是否使用 Canvas 和 Javascript?在这种情况下如何防止作弊? 【发布时间】:2011-02-12 06:07:55 【问题描述】:

html 5 Gaming 是否使用 Canvas 和 javascript?这种情况下如何防止作弊?

例如,如果用户使用 GreaseMonkey 或其他工具更改脚本,使其每次都向服务器报告完美的游戏分数,该怎么办?

【问题讨论】:

请记住,在大多数情况下,您无法完全防止各种作弊行为。但是,在这些情况下,您可以简单地让作弊变得非常困难,以阻止大多数脚本小子入侵您的游戏。你不会阻止它,但你可以显着减少它。 @J Lynch:你想防止什么样的作弊?如果我写一个比玩你游戏的人更聪明的人工智能怎么办? S.Mark 的回答是正确的:如果您只将操作发送到服务器端,那么您就会停止很多 非常常见的作弊方法。现在攻击者必须编写一个人工智能来击败你的游戏。请注意,您的问题专门询问了一个作弊者报告满分的问题,然后在对 S. Mark 回答的评论中,您似乎改变了主意并希望防止任何形式的作弊,这是不一样的。 【参考方案1】:

我会用我自己的一个问题来回答你的问题:为什么我们没有看到魔兽世界中猖獗的作弊行为?或者任何其他的 MMORPG?

答案是因为游戏制造商将所有游戏状态保存在服务器端。

如果我是客户端并且我负责报告对敌人或我的位置造成的伤害,是的,我当然可以作弊并告诉服务器我造成了 100 万次伤害。

另一方面,如果服务器跟踪状态并且我只通知服务器状态更改,我所能做的就是告诉服务器“我向左移动”或“我开枪了”

当然,您确实提出了“完美动作”这一点——例如动作游戏、射击游戏等,其中可以识别对象并发送“完美动作”。对此我想说:这种作弊已经存在,真的。它已经存在了很多年。所以我看不出有什么变化只是因为这些是 javascript 游戏。

【讨论】:

【参考方案2】:

不是从用户发送分数,而是每次都将动作发送到服务器端并在服务器端计算分数

【讨论】:

如果它是入侵者或餐厅城市的游戏……我们无法将每个微小的动作发送到服务器,即使我们发送,我们也可以发送所有“完美”的动作。 @J Lynch:你为什么不能?这是什么类型的游戏?如果是像《入侵者》这样的游戏,当然,有人可以重现“完美场景”,但这需要他们做很多工作,而且大多数作弊者都不想花时间。 :) @J Lynch,对于微小的动作,您可以将一些动作组合和排队,并以一定的间隔发送来检查这些动作。【参考方案3】:

混淆。它的 google 和你的第一个防止窥探 javascript 眼睛的工具。 Google Javascript Obfuscation,你会遇到一百万种工具。

http://www.javascriptobfuscator.com/Default.aspx 一个。

【讨论】:

以上是关于HTML 5 Gaming 是不是使用 Canvas 和 Javascript?在这种情况下如何防止作弊?的主要内容,如果未能解决你的问题,请参考以下文章

Canva(设计图片)

不可思议的性价比◆华硕TUF RTX3080-10G-GAMING显卡 ITX小机箱测试分享

Canva(设计图片)

使用Python自己实现简单的数据可视化

10-canva绘制数据点

黑苹果 9700K+技嘉Z390 GAMING X+RX570 黑苹果EFI分享!OC引导 + 10.15.7