数据,网络,瘦客​​户机和MMORPG游戏

时间:2013-01-13 16:30:16

标签: java networking applet network-programming mmo

我正在创建一个2D MMORPG游戏(以小程序形式),我有一个简单的问题。

我理解,出于安全目的,作为一种通用的反黑客技术,客户端应尽可能包含最少量的逻辑数据(因此无法对其进行操作和利用)。

我的问题是这个:让我说我将数据从服务器发送到客户端(这种情况经常会发生)。在我收到数据包的客户端代码中,我将所述数据包解析为其“块”并将该数据逻辑地存储在其准确的反分离变量中。让我们说其中一个变量存储了玩家的健康状况。这是否意味着这个变量实际上不能用于计算 - 因为它是一个逻辑数据片段(因此它可以被操作,因为它存储在客户端上),并且唯一的选择是读取包含如果我需要健康金额,有关健康的信息?

感谢您抽出宝贵时间阅读我的问题。 布莱恩

2 个答案:

答案 0 :(得分:1)

我会说这取决于你使用它的计算。对于不重要的事情,比如UI显示,您可以安全地使用局部变量。如果您正在使用它来确定玩家是否已经死亡,那么您需要让服务器做出决定。您可以临时使用本地变量,直到服务器能够在高延迟情况下更新客户端;但客户端的版本永远不会成为规范版本。

详细说明:使用局部变量,其中唯一受影响的人是玩家,因此他们操纵自己的数据并不重要。所有其他情况都依赖于服务器变量。

答案 1 :(得分:0)

我这样做的方法是让服务器根据客户端上执行的操作执行自己的计算。客户端可以执行相同的操作以向客户端提供更快的更新,但服务器应该是所发生事件的可靠决定因素。这意味着您不需要在客户端和服务器之间进行如此多的交互,以便仔细检查发生的所有事情。