• 保存到桌面加入收藏设为首页
服务器技术

游戏服务器实战技术分析案例

时间:2015-09-06 15:47:14   作者:tanym   来源:服务器托管   阅读:1438   评论:0
内容摘要:游戏服务器实战技术分析案例篇主要从硬件和架构和软件架构两方面着手;配合我们本站前几篇负载均衡分配方法,给广大游戏公司运维技术朋友一些发散性思维;
硬件架构


    硬件设备方面,我们将尝试以6台PentiumIV PC搭配256Mb RAM,作为操作系统Windows XP,当成Server;每台Server间以10/100Mbps以太网路相连接,Client端硬件不受限制,所有Client经由路由器连接到Dispacher Server,再由Dispacher Server咨询World Database Server后,将该Client上的玩家依其所在的地图分配到负责该地图区域的Server上。

如图:实验Multi-user系统构架图
游戏服务器实战技术分析案例

软件架构


    采用Arianne这款游戏开发系统,Arianne是一套开放程序源码的的v人线上角色扮演游戏引擎,目前Arranne可以支援Linux、MacOS以及Win32系统,它是以C、C++、Java、Python编制而成,我们可以修改该游戏所放出的源码,加入动态负载平衡的机制来达到我们实验的目的。Arranne主要包括两大模块程式,分别为Client及Server,
如下图构架:Arianne架构图
游戏服务器实战技术分析案例
    当玩家产生事件时,时间会被传至GUI,GUI在获得命令之后再将此命令送至Black Box,再经由路由来改变虚拟世界,之后会回传讯息给其他相关的玩家。

实验方法


    在本文中我们在Arriane上实验我们提出的负载分配方法,实验中除了我们所提供的以Voronoi diagram方好似B割地图做动态分配外,另外加入两种传统方式以作比较,分别是与正方形切割发,切成四等份后,做静态分配给四台Server主机;另外一种是将游戏地图切成死的倍数个小正方形格子,然后动态方式分配给各个主机。

    在灯座警惕啊分配B边形(第一种实验的Voronoi polygon)或小正方形(第三种实验)单位地图时,我们以该主机上所停留的玩家总数为负载标准,若某Server上玩家个数超过某以临界值时,即以random polling方式询问其他主机是否接受该主机上的单位多边形或小方格。

    实验效绩分析将以各个玩家对于Server的回应时间之总和来衡量,我们将在后续的计划中分析在不同的负载量下,这三种实验的技校差异性,我们预计当时间增长和负载量增大时,动态分配方式优于静态分配,而同时我们将观察Voronoi diagram的分割方式在何种情况下会显示出他的有点。

结论


    大部分线上游戏采用单机Client/Server架构,在这样的架构下会有一些优势但是也存在一些限制,当有新地图、新消息欲在呢国家至游戏中的时候,只需要在一台Server上做修改即可,也因为是有一台Server控制管理,玩家的资料及游戏的公平行维持较为容易,但是另一方面当线上玩家数目逐渐增多时,Server端所需要运算能力小雨需求,便会有人数上的限制,若Server超过负荷则会导致延迟甚至宕机的现象产生。由于所有资料需要先送至Server做完v理后再送出,Server对外的频宽在不足的情况且多人连线时便会有延迟现象。若以空间分割的方式分配Server的权限范围与适当分配每一个Server负责的工作,那么便能减少Server的负载并支持更多的线上人数。

    目前有许多机制被用来v言多人线上角色扮演游戏,在本文中我们详细讨论了我们所提出的Voronoi切割方式的有点,并且透过模拟的方式,对于我们提出的切割方法和其他的切割方法做多种指标的技校比较,并且以实验证明我们所提出的方法的却由于传统的方法。最后我们尝试透过修改开放源码的Arianne游戏引v来实战我们提出的负载均衡方法。


IDCsped 提供最新的IT互联网资讯,本着分享传播的宗旨,我们希望能帮助更多人了解需要的信息!

部分文章转载自互联网、部分是IDCsped原创文章,如果转载,请注明出处:www.idcsped.com !
微信号:13430280788  欢迎加微信交流!

标签:游戏服务器  游戏服务器租用  游戏服务器托管  服务器技术  游戏服务器搭建  
相关评论

销售电话:13760852008

Copyright © 2012-2017 | www.idcsped.com 版权所有

  粤公网安备 44010502001126号  湘ICP备12006439号-1