如何组织.NET在线MMORPG服务器和客户端之间的交互

时间:2012-05-05 13:00:38

标签: .net client-server mmo

我正在考虑建立一个简单的MMORPG。

我们的想法是拥有一个.NET服务器和可下载的客户端应用程序。

组织客户端 - 服务器交互的最简单有效的方法是什么?

我想到了一个网络服务,但只要客户必须快速执行许多游戏操作(例如移动,拾取物品,攻击其他玩家等),它看起来效率很低。

创建自定义通信协议是一项非常复杂的任务。

是否存在任何现成的解决方案?

1 个答案:

答案 0 :(得分:1)

我在开发游戏通信协议方面不是很有经验,但是,由于这里没有出现任何答案,我可以与你分享我的观点。

通讯协议选择

我想你可以结合两种沟通方式:

  • UDP 表示需要快速接收的信息以及经常发送的信息,因此丢失单个数据包不会成为问题。您可以使用UDP发送以下信息:播放器动画的播放器位置
  • TCP 以获取重要且必须确定收到的信息,例如拾取的物品,玩家击中其他玩家,任务开始/完成等。

选择要发送的数据

要记住的另一个重要事项是 发送最少量的数据 ,因此只发送X; Y作为玩家位置而不是序列化整个玩家对象;)。< / p>

设计通信API并在服务器和客户端之间分配职责可能取决于一些事情,如游戏类型和安全性与性能:做更多的计算并在客户端承担更多的责任可以带来更好的服务器性能,但是会减少游戏的安全性,因为当时更有可能有人试图作弊。

一些示例链接只是为了让您入门: