【发布时间】:2019-01-20 17:32:58
【问题描述】:
在由客户端 (js) 编写但包含多人游戏元素(例如排行榜)的游戏中。将用户操作记录到带有时间戳的事务日志以验证提交数据的完整性以及如何验证此日志中的操作的最佳方式是什么?
是否有必要这样做,或者编写一个向服务器提交分数并混淆代码的哈希函数就足以防止这种作弊?
编辑 - 游戏描述:
在这个游戏中,你在一张 50 格长的地图上行走。在每个图块上,您都会遇到敌人/城镇/事件(寻找硬币等)每次到达地图的尽头时,都会加载一个难度稍高的新地图。这个难度与玩家和他从城镇购买的物品一起被保存(在 MYSQL 数据库上使用 PHP)。物品的力量值取决于它们的统计数据(伤害/生命值/防御等)。物品的力量被求和并被保存。
实力、阶段(难度)和用户名是排名前 10 名玩家的显示内容,按最高实力排序。
【问题讨论】:
-
您能否提供更多上下文,也许是您想要实现的代码 sn-p,因为这有点模糊......您要验证哪些操作?运动,得分,你的比赛有什么意义?
标签: javascript php html anti-cheat