我在一个基于瓷砖的MMORPG上工作,我有个问题。
每个用户总是有一个固定的位置(一个瓷砖),因此其他用户可以在那里看到他,并且不能移动到该瓷砖。因此,每个瓷砖中只有一个对象或用户。
如果用户变得不可见,其他用户将看不到他,但他们仍然无法移动到他的瓷砖。
我的问题是,客户应该知道所有用户(甚至是无形用户)的位置吗?这种方法的问题在于,一些用户设法破解了客户端,并看到了不可见的用户。
我的一个想法是,客户端不应该知道用户的位置,在移动之前,询问服务器hi想要进入的位置是否可用,但问题是我们的延迟。
FYI,客户机/服务器协议是用TCP/IP构建的。
发布于 2010-03-03 01:03:53
您肯定应该遵循第二种方法来获得一个安全的MMORPG。
实际上,逻辑应该在客户机和服务器之间完全分离。客户应该是公正的
。
服务器应该处理所有其他的事情。
因此,例如,您应该以如下的方式处理该运动:
server
,检查它是否合法,并根据其更新其内部地图,如果移动是合法的,只需向所有客户发送更新后的状态(有新位置)
F 217
这种方法更重要的一点是:客户端不负责将播放器实际移动到新位置,它只接收到一个新的映射状态。
忘了这个吧:
https://stackoverflow.com/questions/2368078
复制相似问题