我想开发一个闪存游戏(使用ActionScript 3),它可以与java服务器通信,以保存玩家的统计数据、分数和类似的东西。但是,我如何创建从闪存文件到服务器的保存通信,以便不可能使用其他工具连接到服务器并伪造行为来欺骗分数,这是不可能的。
有办法这样做吗?
我的解决方案
游戏本身连接到一个服务器,该服务器管理整个游戏和所有“计算”,类似的事情都是在该服务器上完成的,用户所做的每一个动作都被发送到服务器,游戏所做的一切都由服务器来控制。 所以,闪存文件唯一能做的事情就是显示图形。
但是:有更好更安全的方法吗?还是这药水是最好的解决方案?
因为如果闪存文件也会计算游戏中发生的事情,而不仅仅是显示图形,那就更容易了。
请告诉我你将如何解决这个问题。
发布于 2013-07-30 09:43:34
制作一个完全安全的游戏的唯一方法是在服务器端(如您建议的那样)生成所有的游戏逻辑,并验证从客户端发送的每一个操作。客户端角色将只显示图形,并做任何不影响游戏机制的计算。记住,客户端上的任何代码都是可攻击的。
发布于 2013-07-30 09:02:19
最终,即使您的服务器完全控制在您的游戏中发生的事情,您仍然不能确保有人不会作弊。举个例子,任何真正想要它的人都可以解压缩你的游戏,创建一个“新客户端”,可以自动瞄准玩家。尽管如此,我再次命令你阅读以前问题中的以下答案:
There is nothing you can do to prevent an attacker from forging high scores
Raising the bar for cheating above what a player would deem worth surmounting
https://stackoverflow.com/questions/17932561
复制相似问题