mangos源码分析--计划

最近无意中看到了mangos这么个东东,它很好的反应了目前游戏服务器的设计,所以决定在打酱油的时候对其研究一下。现在给出参考地址!!!


参考:

1、http://www.cppblog.com/ming81 mangos源码分析系列


2、 http://hi.baidu.com/zyy503950958/blog/item/b92fbe87514e9c26c75cc36c.html mangos 源码阅读笔记,十分详细,框架流程分析的很清晰

 

3、http://blog.sina.com.cn/s/articlelist_1814283884_0_1.html

绿色格线内表示物理上为一台服务器。

1、方案一:

低成本、低性能

2、方案二

3、方案三

4、方案四

支持大规模玩家、高成本、高负载均衡、高性能、高灵活性

设N为每个集群的服务器数,M为服务器集群个数

则总服务器个数为:3+M*(2+N)

其中,每个集群配备N个逻辑地图服务,加上一个网关服务器、一个角色数据库;

整个大区服务器群配备一个登陆服务器、一个账户数据库服务器、一个聊天服务器

 

之前有过一篇介绍游戏服务器端的博文

http://blog.csdn.net/liuxialong/archive/2011/06/12/6539762.aspx

但是篇幅太长,而且过于关注细节,适合深读。

这里给出一种宏观把握MMORPG服务器设计的文章,适合入门,读完后对服务器端的设计能有大概的掌握,方便对感兴趣的部分进行深入了解。

1、首先是常见的服务器端结构,其中包括:登陆服务器、网关服务器、数据库服务器(账号数据库、角色数据库、地图数据库等)、聊天服务器、地图服务器、日志服务器等。下图为一个游戏大区的服务器群架构。所谓大区的意思,就是在打开客户端,进入游戏后,需要先选择大区,如:华南一区、华东电信等,进入大区后,再挑选服务器。下图的设计可以作为一个大区的架构使用。

2、登陆服务器

相应的工作流程为:

 

3、网关服务器

工作流:

4、地图服务器

工作流:


  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mangos不是一个魔兽私服模拟器,它是一个开源的自由软件项目,是用c++和C#编程语言,实现的一个支持大型多人在线角色扮演游戏服务器的程序框架,在这个框架下,它理论上应该支持任何客户端的网络游戏,由于现在很多人使用魔兽世界来对它进行测试,所以针对魔兽世界的脚本和数据库文件比较完善,很多人就利用这个开源项目来实现魔兽私服。   首先,mangos项目是一个开源的自由软件(如同linux或者firefox),并且遵守其中最为严格的GPL协议,也就是保证源代码绝对的自由,要了解什么是开源软件,自由软件请自己搜索这方面的资料。   其次开发小组一再强调,这是个研究,教育性质的对怎样开发大型网游的服务器端有好处的项目,是一个技术细节毫无保留向公众开放的软件,是一件很有意义的事情,如果你使用它作为盈利目的,那你本身就违反了软件的协议。所以任何利用mangos项目进行私服活动的组织和个人都违反了mangos的宗旨,mangos项目也不会对它们负责。   mangos的技术细节上是这样的,核心部分是个和特定游戏没有关系的核心框架程序,主要是进行进程调度,创造世界,建立心跳机制,处理网络接入等。数据库也是使用的开源数据库软件MySQL,编译器使用的是GCC。至于游戏内容数据库游戏人物,时间,世界脚本,都是由这个核心程序所支持的扩展脚本来实现,所以有一些独立出来的项目专门模拟魔兽世界来开发支持mangos的核心程序。现在mangos的核心程序已经放到著名的协同开发网站sourceforge上开发了,使用的版本控制工具是subversion,(目前已经迁移到GIT)。大家都可以从sourceforge的subversion数据库中下载最新的源代码程序。   另外有点要注意的是,开源项目是很容易被利用的,有时候有的公司开发了一个软件说是自己做的其实内核都是别人的开源内核,但是公司又不承认,利用了别人的劳动成果赚钱不说,既不回报社区,也对开源自由软件造成了很大的伤害。所以大家注意了,如果看到一个和魔兽世界很像的什么网络游戏?要想想是不是利用的mangos的核心程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值