移动游戏引擎

时间:2013-01-30 22:34:16

标签: javascript networking mobile game-engine multiplayer

我对多人手机游戏有所了解。 我想过一个浏览器游戏,所以IOS和Android用户都可以玩它。

但我没有得到什么...... 如果我用大多数javascript构建游戏,它对黑客攻击非常具有攻击性,不是吗? 我的意思是,如果我向服务器做一些ajax请求,每个人都可以在Internet Explorer中打开开发人员工具,在请求之前设置断点并更改一些数据。

例如: 用户在游戏中获得一些钱。现在我想将新的金额发送到服务器以将其保存到数据库中。一些“坏”的男孩可以在发送请求之前更改金额值,服务器获得操纵值。

这是正确的我所说的吗?或者我可以在游戏中构建任何安全功能吗?

所以我搜索了一个多平台移动引擎,但我找不到合适的移动引擎。 我发现spaceport.io但尚未发布。

还有其他可以使用的引擎吗?

  • 我想用Javascript或C#编程
  • 我想为IOS和Android部署游戏
  • 游戏将是2D(可能是以后的一些3D功能)
  • 我需要多人游戏的网络支持
哦,我没有多少钱; - )

2 个答案:

答案 0 :(得分:5)

是的,正如所指出的那样,javascript是不安全的,但其他引擎也是如此。他们只需要做更多的工作来破解。

这里的重点是确保客户端只将用户输入发送回服务器,服务器根据输入计算操作,并返回响应。

例如,如果客户说“我只是打开了一个胸部并且它给了我100金,将它添加到我的余额中”,用户可以很容易地破解它说“我只是打开了一个胸部,它给了我10万金币,将它添加到我的余额“。

相反,客户会简单地说“我打开了胸部”。并且服务器会说“胸部有100金,它已被添加到你的天平。”

此外,服务器应该知道播放器基于发送到服务器的移动请求的位置。而不是客户说“我在这个位置打开了胸部”,它应该只是说“我打开了我所在的胸部”,服务器应该知道用户在哪里,所以他们不能只是欺骗所有胸部位置并打开他们都没有真正走动。

这也意味着客户端不应该告诉服务器播放器在哪里,而只是提供移动通知。 IE“我向北移动了一个街区。” “我向东移动了一个街区”然后服务器可以记录这些,对其进行操作,并跟踪用户在哪里寻找黑客。如果用户试图在不发送所有移动请求的情况下改变他们的位置,则服务器将不会对玩家欺骗的位置起作用。

出于速度目的,可以让客户端在发送移动请求后移动播放器而无需等待服务器响应,但是如果服务器响应“不,你不在你认为的地方,那么你在这里”客户端通过纠正它来响应服务器。这就是导致游戏跳跃的原因,或者当它们滞后时向后跳跃的原因。客户已经更新了动作以保持流畅和响应,但由于滞后,服务器没有得到移动请求,或者迟到,所以客户端必须纠正。

答案 1 :(得分:2)

JavaScript本质上是不安全的,并且容易受到各种客户端黑客攻击。发生的一切都需要在服务器端进行验证。

  

我想用Javascript或C#编程

C#在服务器上运行。 JavaScript在客户端上运行。这里没有任何选择。

相关问题