魔兽世界私服研究手札
前端时间发表了篇关于《单一世界架构初探》的系列文章,争论颇多,很多人持怀疑态度,这也很正常,于是就萌生将理论付诸实践的想法。最终选了魔兽世界私服T端作为研究对象。经过1个月的努力,终于初步建立了实验性私服,QQ群32285689。有兴趣的可以加入这个群玩玩看。下面逐步发表些关于T端的研究手记。事实甚于雄辩,欢迎大家拍砖。
[解决办法]
顶
[解决办法]
o
[解决办法]
魔兽世界私服T端与单一世界架构有什么联系吗?
[解决办法]
支持,继续,能画些框图啥的更好。
[解决办法]
我最近也开始研究mangos和ascent的代码,只是工作忙,都是回来很晚才看一点,进展比较慢。
前几天看了你的单一世界架构,很多观点持赞同态度。但是有一点, 就是对目前的硬件,包括CPU和硬件架构,大多人还局限于普通服务器或者普通服务器集群的认识上,现在网游普遍是的小规模采用单台或者数台机架服务器架设,很少有采用服务器集群假设的,即使采用集群,也不见得一个进程运行在集群内的多个主机上,服务器集群的各设备间大量采用高延时(毫秒级或0.1毫秒级),不可靠,相对低带宽的IP通讯,远低于多核处理器内部的低时延(纳秒级,最慢也远小于微秒),高带宽,无阻塞,零丢失的内部网络。
按照我的理解,采用目前的多核处理器系统完成单一架构的游戏服务器是有可能的,至少单地图处理能力远大于常规服务器,在处理游戏核心逻辑上,结合嵌入式系统,一个多核系统可以达到普通服务器双核处理器性能的10倍甚至20倍或更多,且系统内核间通讯延迟极低,带宽极高,这是集群服务器绝对达不到的(采用高速互联总线而不是IP通讯的巨型机极其昂贵),虽然这些东西对一般公司来说资金和技术难度过高,但随着游戏的发展和竞争,我相信对比服务器集群的昂贵价格,会有公司转向这类系统。
魔兽世界应该是最早采用巨型机的游戏,魔兽世界中国五个区的服务器在2005年全球超级计算机500强中并列第150名(http://www.top500.org/lists/2005/11/basic),这说明用超级计算机用来做游戏是可能的,并且做出精品是更有可能的,魔兽世界目前采用的服务器是x86架构,不代表以后不会采用powerPC或者MIPS架构,尤其最近几年,MIPS和PowerPC在多核技术方面远远领先于x86。
现在的高性能多核系统有RMI的XLR732,8物理核32线程,但其最大的缺点是不支持浮点运算,所以目前基本上不能应用与于游戏。好在其计划年底推出的XLP832提供了浮点运算能力,原来的顺序单发射变为乱序4发射,并可通过级联提供32物理核128线程,主频更是达到2G,16个内存控制器可提供超过200Gbps的内存带宽,内部EFMN网络能提供CPU内部核间数百G的互联带宽。
另一个就是tilera64处理器,tilera目前高校可能用的多一些,产品化的已知macfee用他来做万兆防火墙。其提供了64个物理核心,每个核心3发射,内存带宽200G,其内部采用mesh网络进行核间互联,带宽高达30T(没错是30,000G)互联带宽 ,其独特的核间通讯网络更适合用来做游戏的网游的核心地图运算,他的运算能力强于单颗XLP832,但与4核XLP832级联肯定是有差距,指令寄希望于其下一代tilera100或更先进产品。
我的理解,单一世界架构网游游戏器受限于目前传统通用服务器各方面限制,可能使暴雪等一些知名网游公司由目前的服务器集群转向下一代高性能计算系统,而网游服务器的架构也必然随之改变。如果这真的发生,那么国内产出精品游戏的难度又将大大加大。
[解决办法]
Mark
[解决办法]
关注!
[解决办法]
M
[解决办法]
google曾经公开过他早期创业阶段超低成本的架构,压根就没有采用服务器,其采用技嘉的服务器主板直接装备在机架上,每个主板还附带了蓄电池和硬盘,但没有鼠标键盘显示器等外设,其多个机架部署于一个集装箱内,是不是很搞笑,google的理由是便于运输。 整个系统统一对所有服务器板进行直流供电,通过交换机统一提供对外网络接口,散热等也都是以机架为单位。
但即便如此低的成本,同成本下,运算能力上也低于目前最新的多核系统。 但不可否认,google的这种架构可能达到了他早期存储和运算能力的一个平衡,且不用开发系统软件,可专注与业务系统的开发。而多核系统虽然具有疯狂的运算能力,但计算能力和存储能力极不平衡,且系统软件方面却有极大差距。
普通服务器和集群因为其是为通用行业而设计,其各方面能力达到一个平衡。而网络游戏,尤其是核心逻辑服务器,需要的运算能力和模块间的互联能力是目前普通集群不容易满足的,其余能力要求很低,低成本的多核系统就能满足这一点。tilera64 CPU售价400多美元,而intel四核志强则200多美元到2000美元不等。 所以我猜测暴雪等专向这类系统的根本原因很可能恰恰就是因为成本。
我想做的就是把游戏服务器移植到这类多核平台上去,每个core进行一个区域的运算,区域可动态合并或扩展,区域的运算绑定在硬线程上,也就是一个虚拟核心只有一个死循环在跑一个区域的逻辑,完全没有OS等其他开销。数据库和其他模块仍然在其他x86服务器上实现。不过tilera CPU价格虽然便宜,但因为没有大量商用,其开发板太贵,前段时间打听的价格是一块2万美元,我目前还不至于投入如此之大, 相对而言,有一款XLS208(2核8线程 与XLR732同架构的低端产品)的工控机性能虽然低,但价格可能会在我接收范围内,如果能拿下,它可能会成为我第一个实验品。
[解决办法]
Good..
.支持~~
[解决办法]
汗,楼主上一篇我就没看懂。。
[解决办法]
看了楼主的上一篇文章之后,猛然醒悟:
服务器端编程才是一款网络游戏的核心所在。。。。。
[解决办法]
楼主好 路过 帮顶一下
[解决办法]
以前也架设过RF的私服,只是在学校的时候寝室几个兄弟些进去玩玩而已。
楼主的专研精神表示学习
[解决办法]
学习中!!!!
[解决办法]
支持一下
[解决办法]
帮顶
[解决办法]
非常好,楼主为游戏事业做了很多贡献。
[解决办法]
值得关注!!1