我正在用javascript创建一个塔防游戏,并希望获得高分和其他多人互动。可能有几个玩家同时开始游戏并告诉他们其他人的速度和那种东西的速度。
我不知道Flash游戏如何发送他们的分数或事件,以确保每个客户端发送的信息实际上是正确的,而不仅仅是发送令人难以置信的分数的人。我记得几年前当Flash游戏开始获得高分时,看到不真实(黑客)的分数很常见......这很奇怪。那么这里的秘密是什么?
答案 0 :(得分:2)
人们总是能够在游戏中作弊......你能做的最好就是让人难以作弊。旧Flash游戏的分数非常容易装配,因为分数将通过HTTP请求提交。嗅探流量会显示提交URL以及需要传递哪些变量才能更新分数。我希望它已经改变了。
如果我是你,我会使用一些错误检查代码,这些代码将与最终得分一起传递,以验证分数是否合法。错误检查代码算法应该很难从分数中确定(如果该人正在嗅探它)。 javascript也应该被任意混淆。这远远不够理想,但它应该阻止很多骗子。
答案 1 :(得分:2)
我所看到的最佳做法是进行健全性检查。
记录已用时间,敌人死亡等等......用数据检查得分,看看他们是否加起来。
答案 2 :(得分:0)
这些日子主要是默默无闻。您通常会为每个游戏分配一个唯一的令牌,并形成某种分数和令牌的哈希值,并在提交时进行验证(或在整个游戏过程中持续提交,验证和令牌切换)。
通过javascript进行操作将会困难得多。
答案 3 :(得分:0)
使用以下工具的组合,这些工具通常用于防止假分数和进度报告。