多人在线游戏服务器构架

多人在线游戏服务器构架

ID:16459591

大小:589.00 KB

页数:9页

时间:2018-08-10

多人在线游戏服务器构架_第1页
多人在线游戏服务器构架_第2页
多人在线游戏服务器构架_第3页
多人在线游戏服务器构架_第4页
多人在线游戏服务器构架_第5页
资源描述:

《多人在线游戏服务器构架》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、当今的网页游戏也越来越强调及时性,Server的负载过重也会造成Server与Client之间的不同步而导致延迟的出现,因Server较晚回应给Client,玩家的动作会因此变慢,因此造成很多玩家感觉游戏本身的游戏性较差而造成大量流失玩家,下面就将次问题讨论Server负载与解决之道!传统线上游戏系统架构主要有四种:Client/Server、Peer2Peer、HybridClient/Server及Multi-Server,不同的游戏拥有不同的架构,具体情况具体分析。一、Client/Server架构N个Client连接至一个Server,

2、Client只负责将玩家输入的信息发送给Server,Server处理大部分运算并将处理结果发回给Client。优势:设计简单,玩家作弊情形不容易发生劣势:由于整个运算都是在Server端进行,所以Server的运算能力及网络的流量是真个系统的瓶颈,当Client没有收到Server的任何信息前,Client无法对玩家的输入做出任何反应,画面也无法及时更新,因此容易因Server运算延迟或网络延迟,造成游戏的不流畅,一旦Server达到上线或者Client增多时,则必须考虑使用功能强大的Server来取代。二、P2P架构点对点构架最大的优势就是

3、及时性,没有Server的介入,所有消息都是参与游戏的电脑之间的做资料的传送。这种构架避免了不必要的传送延迟,但是要在网络环境上建立点对点的架构,那么每台电脑必须对所哟的电脑先建立连线并做出传输的处理,因此电脑的运算能与连线的频宽会造成不小的负担。三、HybridClient/Server构架此构架的特点在于Client可以自行推测目标的状态,并且可以立即针对玩家的输入做出反应。这种构架把整个虚拟世界当成一个由所有玩家共同享的资料库,Client可分到部分资料库类容,并且可以依照资料对玩家的输入与玩家在游戏中的状态进行推测,兵即时的反应给玩家。

4、因此如果Client尚未收到Server信息,则Client端依旧可以进行游戏,但是最终数据的决定全仍然掌握咋Server中,如果Client的自行计算结果与服务器的结果不相符合,则Server便会去修正Client的状态。此架构最大的问题在于网络延迟所带来的影响,若Client和Server之间传输延迟过大,则将会导致Client端所推测的资料库内容与Server端的资料库内容差距过大。四、Multi-Server架构早起的mmorpg游戏是有单一的Server负责整个游戏的内容,由于是单一的Server,因此游戏中能够容纳的线上人数及玩家间

5、的互动会受到限制。而在Multi-Server构架中,通过每一个Server负责一个部分的游戏的内容,但是在不同的Server上玩家长处于不同的游戏世界里,因此无法互动,为了要提高系统整体的效能有效利用系统的运算及频宽的资源,一半以空间切割的方式分配Server权限范围及适当划分Server负责的工作,是不同的Server负责不同区域间的玩家,因此能支持更多的线上玩家。目前mmorpg逐渐采用Multi-Server方式来减少Server的负载以及减轻网络的频宽限制。目前使用的Multi-Server分工的技术,大多采用空间切割的上市将虚拟世界

6、的地图切成跟Server同等数量的片段,再将地图的片段分配给每一台Server。当玩家靠近地图片段的边界时,玩家所在的Server会通知临近的地图片段的Server,那么在最佳的情况下网络流量在这两个Server之间为零流量,没有玩家通过这两个Server,而最差的情况为O(m^n),n为玩家的数量,m为Server的数量。MMORPG负载均衡机制1.静态分布玩家到服务器平均分配玩家给每个Server,使每个Server有相同数量的玩家。这种方法的优点是算法简单,但玩家在地图上移动,因此过一段时间,最差的情况下,Server之间可能有大量的网络

7、流量,因为当玩家在完成一个动作后,所有的Server必须获得另一个Server的玩家数据,而其附近的玩家皆在不同的Server上,如此依赖,每个玩家的一个动作需要传送消息到不同的Server上,将造成communication的极大负担。2.静态分配地图片段到服务器利用空间切割的方式将虚拟世界切割成和Server同等数量的地图片段,再将这些地图片段分配给每一个Server负责,然后再有一个DispacherServer负责将每一个玩家分配到所对应的Server上去,但由于玩家会在地图上移动,因此时间一久,在最差情况下,玩家可能都到同一个Serv

8、er的地图片段上,这样当初的负载平衡就完全被破坏了。3.动态分配地图片段到服务器静态分配地图片段至每个Server虽然可以减少Server间网络的频宽

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。