Networking 基于分片的MMORPG移动协议
我在一个基于磁贴的MMORPG中工作,我遇到了一个问题 每个用户始终有一个固定的位置(一个磁贴),因此其他用户可以在那里看到他,并且不能移动到该磁贴。因此,每个磁贴中只有一个对象或用户 如果一个用户不可见,其他用户就看不到他,但他们仍然无法移动到他的互动程序 我的问题是,客户是否应该知道所有用户(即使是不可见用户)的位置?这种方法的问题是,一些用户设法破解了客户端并看到了不可见的用户 我的一个想法是,客户端不应该知道用户的位置,在移动之前,询问服务器hi想要移动到的磁贴是否可用,但问题是我们有延迟Networking 基于分片的MMORPG移动协议,networking,udp,tcp,protocols,Networking,Udp,Tcp,Protocols,我在一个基于磁贴的MMORPG中工作,我遇到了一个问题 每个用户始终有一个固定的位置(一个磁贴),因此其他用户可以在那里看到他,并且不能移动到该磁贴。因此,每个磁贴中只有一个对象或用户 如果一个用户不可见,其他用户就看不到他,但他们仍然无法移动到他的互动程序 我的问题是,客户是否应该知道所有用户(即使是不可见用户)的位置?这种方法的问题是,一些用户设法破解了客户端并看到了不可见的用户 我的一个想法是,客户端不应该知道用户的位置,在移动之前,询问服务器hi想要移动到的磁贴是否可用,但问题是我们有延
仅供参考,客户机/服务器协议是使用TCP/IP构建的。您绝对应该遵循第二种方法来获得安全的MMORPG 实际上,客户机和服务器之间的逻辑应该完全分离。而客户应该
- 能够渲染世界的“视觉事物”
- 一个允许玩家执行动作的输入接口
- 用户试图在客户端移动播放器
- 客户端向服务器发送带有“移动请求”的数据包
- 服务器检查移动是否合法,并根据它更新其内部映射
- 如果移动是合法的,只需向所有客户端发送更新状态(使用新位置)
- 如果移动是非法的,只需警告试图这样做的客户端
- 客户询问一个举动是否合法
- 如果服务器说是,则客户端更新位置