Networking 网络流量,MMO塔防

Networking 网络流量,MMO塔防,networking,traffic,mmo,Networking,Traffic,Mmo,我正在编写一个MMO塔防游戏客户端-服务器架构。由于欺骗保护,服务器需要有逻辑。但我有真正的设计问题。当我们假设10个人互相进行死亡搏斗时,每一个塔楼射击都需要计算并发送给玩家。当许多塔被建造时。就像10名玩家*10座塔=100座塔一样,流量非常高。一个播放机每秒会产生多条消息如何解决此问题 服务器是用Java Smartfox 2x编写的 客户端是用C Unity 3d编写的 提前谢谢 由于欺骗保护,服务器需要有逻辑 这是一个错误的假设。服务器需要有足够的逻辑来运行游戏逻辑,并确保所有玩家的操

我正在编写一个MMO塔防游戏客户端-服务器架构。由于欺骗保护,服务器需要有逻辑。但我有真正的设计问题。当我们假设10个人互相进行死亡搏斗时,每一个塔楼射击都需要计算并发送给玩家。当许多塔被建造时。就像10名玩家*10座塔=100座塔一样,流量非常高。一个播放机每秒会产生多条消息如何解决此问题

服务器是用Java Smartfox 2x编写的 客户端是用C Unity 3d编写的

提前谢谢

由于欺骗保护,服务器需要有逻辑


这是一个错误的假设。服务器需要有足够的逻辑来运行游戏逻辑,并确保所有玩家的操作都有意义,但不需要返回结果。客户端都可以并行运行相同的逻辑,并自行计算结果。

在服务器上使用强大的简化单位和作战规则。如果有人进入塔楼周围的伤害区域,只需通过影响持续伤害来编程你的伤害算法

你可以在服务器上使用二维战场,所有单位、塔和破坏区域都是圆形或点和圆形。你也可以使用几圈伤害,在防御塔的外围,每秒伤害较低,而在防御塔的内侧,每秒伤害较高

你可以使用队列管理单目标伤害/多目标伤害和区域伤害。如果是单发,则只有队列中的第一个受到损坏区域的影响,只有第一个、第二个和第三个受到多发等的影响

如果一座塔每5秒射出一颗子弹,每颗子弹造成40点伤害,你只需在服务器上计算,在伤害区域或伤害圈内的每个目标每秒造成8点伤害

在客户机上,你可以做所有的事情,如飞行的子弹,打击,飞溅,飞溅和烟火等


但是在服务器上,所有的工作都是通过进入伤害区域,然后每秒获得伤害。抱歉,英语不好

您目前如何在服务器和客户端之间进行通信?你用的是什么语言?我用的是unity3dc,客户端和smartfoxjava,服务器还有一个叫做半神的游戏。当它发布时,花了几个月的时间将其修补到可玩状态,其中问题最多的是网络领域。这是因为当他们做了大量的测试时,更多的玩家开始使用它,所有的事情都出了问题。祝你好运,我知道你会玩得很开心!服务器上有大量带宽和/或优化发送内容和/或客户端也有逻辑,只需发送播放机操作。谢谢你的回答,但是服务器和客户端之间的延迟呢?比如,服务器认为所有单元都死了,但客户端没有。另外,其他客户也应该知道单元何时被命中。我如何解决这个特殊的UALR问题?通过客户端和服务器端模拟之间的适当同步,这是不应该发生的。谢谢,我只需要知道这些: