没有合适的资源?快使用搜索试试~ 我知道了~
开源的魔兽世界参考架构——mangos
3星 · 超过75%的资源 需积分: 40 39 下载量 76 浏览量
2012-02-20
11:15:52
上传
评论 1
收藏 3.18MB PDF 举报
温馨提示
试读
23页
开源的魔兽世界参考架构,分析了当下魔兽世界的服务器架构后,利用提供的开源服务器框架mangos来搭建属于自己的魔兽世界服务器!
资源推荐
资源详情
资源评论
开源的魔兽世界参考架构——mangos
分类: GameEngine 专题之 Server2010-07-28 08:26 1033 人阅读 评论(0) 收藏 举报
开源社区常常有很多出人意表的项目,让人往往击节叹赏。例如当年在普通 PC 电脑上虚拟
运行苹果机系统的Pearpc。把微软游戏机xbox 改装成家庭影音中心的 xbox-media center,
以及在 ipod 上安装 linux 的 ipodlinux 等项目。在电脑游戏方面当然也有很多出色的开源项
目。
暴雪公司的游戏历来都是精品。网络游戏大热以后,它推出的基于 10 年游戏历史的网游:
《魔兽世界》也更是名声在外(当然有好有坏,坏名声在于它太吸引人以致于很多人沉湎其
中)。网络游戏的盈利模式和传统电脑游戏不同,月费和其他的周边产品使得其赢利空间远
远大于传统电脑游戏。对于网游运营商来说很大的一个问题是私服的问题。很多私服的软件
是从网游开发公司或者运营公司内部非法的流出来的,比如说网游《仙境传说》的私服。
而现在大多数魔兽世界的“私服”实际上是服务端软件的模拟器。是在对客户端游戏软件和与
服务端的进行通信的数据进行分析解密以后,开发出来的模拟原游戏服务器功能的软件,这
样的模拟器软件大都也是开源软件。比如像现在大部分魔兽私服使用的 Mangos 服务端软
件,mangos 项目是一个开源的自由软件(如同 linux 或者 firefox),并且遵守其中最为严
格的 GPL 协议。
MaNGOS 是(Massive Network Game Object Server)的缩写。由于暴雪公司对类似的开
发小组采取过一些法律行动。为了避免麻烦,如同它的名字,mangos 强调自己并非一个魔
兽服务器模拟器,而是一个开源的多人在线游戏服务器的软件。说到底是个网游的游戏引擎。
Mangos 开发小组强调其软件是用 c++和 C#编程语言,实现的一个支持大型多人在线角色
扮演游戏服务器的程序框架,在这个框架下,它理论上应该支持任何客户端的网络游戏,由
于现在很多人使用魔兽世界来对它进行测试,所以针对魔兽世界的脚本和数据库文件比较完
善,很多人就利用这个开源项目来实现魔兽私服。而游戏的内容,例如故事情节,任务场景
的脚本等都是由别的小组独立开发的。
开发小组一再强调,这是个研究,教育性质的对怎样开发大型网游的服务器端有好处的项目,
是一个技术细节毫无保留向公众开放的软件,是一件很有意义的事情,如果你使用它作为盈
利目的,那你本身就违反了软件的协议。所以任何利用 mangos 项目进行私服活动的组织
和个人都违反了 mangos 的宗旨,mangos 项目也不会对它们负责。
mangos 的技术细节上是这样的,核心部分是个和特定游戏没有关系的核心框架程序,主要
是进行进程调度,创造世界,建立心跳机制,处理网络接入等。数据库可以使用的开源数据
库软件 MySQL。至于游戏内容数据库,游戏人物,时间,世界脚本,都是由这个核心程序
所支持的扩展脚本来实现,所以有一些独立出来的项目专门模拟魔兽世界来开发支持
mangos 的核心程序。现在 mangos 的核心程序已经放到著名的协同开发网站 sourceforge
上开发了,使用的协同开发工具是 subversion。大家都可以从 sourceforge 的 subversion
数据库中下载最新的源代码程序。
为了测试这个 Mangos 我自己安装了一个测试了以下,自己对魔兽世界的游戏本身没有太
多的了解,请了几个玩过魔兽世界的朋友测试了一下,都说各方面已经很完美了。最新的
Mangos 项目已经支持了魔兽世界的扩展版“燃烧的远征”,简称 TBC,对应的魔兽客户端版
本到了 2.0 以上。以下的安装测试步骤适用于魔兽世界客户端 1.12.1 或 1.12.2 的版本。
一、安装需求:
操作系统 Windows Xp,解压软件推荐 7-zip 。(mangos 论坛上有人在 linux,macosx 上
安装,为了提取地图方便这里使用 windows XP)
魔兽世界的客户端软件,升级到 1.12.1 版本以上。
编译好的 Mangos 二进制文件。(你也可以自己编译,我这里提供的是 Mangos Rev 3462,
3462 是开发数据库的版本号),下载地
址: http://filebeam.com/22b7839a746adbd95f3ac3853f3bf9ed
http://www.megaupload.com/?d=T0SGUOQB
地图提取工具 ad.exe(这个地图提取工具是专门针对 1.12.x 版本的客户端的,TBC 需要比
较新的 ad.exe,TBC 的地图提取工具不适用老版本的地图),下载地址:
http://www.megaupload.com/?d=DZW472B4
mpq 文件包提取工具 MPQE_1.2.rar,暴雪公司的游戏都采用一种叫 mpq 的文件格式,是
Mike O'Brien Pack 的缩写,这个 Mike 就是暴雪公司的首席游戏程序开发人员,和创始者。
我们需要使用 mpqe.exe 从客户端里提取相关文件。下载地址:
http://www.megaupload.com/?d=VL2DXHXW
开源数据库软件 MySql
官网:MySQL
或者用我下载的
版本:http://www.megaupload.com/?d=ODYRBWSF
MySQL 的客户端软件 SQLyog,编译管理操作数据库
官网:here
我下载的版本 5.30:http://www.megaupload.com/?d=DD0LK19H
游戏内容数据库,配合 Mangos Rev 3462 的版本。
文件名:CompleteSDB156-Mangos3462.rar
下载地址:
http://www.megaupload.com/?d=0EME2U4Y
二、安装 MySQL 数据库,以及 SQLyog 客户端
点击安装文件选择典型安装(Typical)
配置数据库服务器"Configure the MySQL Server Now",选择标准配置"Standard
Configuration"。
确认安装成 windows 的服务程序和自动启动服务"Install as Windows Service"、"Launch the
MySQL Server Automatically"。
输入你的 root 用户的密码。可以打开的使用 root 远程管理数据库的选项,便于远程管理,
和链接。
应用你的设置。
点击安装 SQLyog 的安装文件,安装到缺省路径,运行 SQLyog。
当 SQLyog 运行后,需要输入以下信息:
MySQL 主机地址:可以输入你的本机 IP 地址或者"localhost"。
用户名(UserName):root
密码(Password):在第 4 步里面你配置的密码。
数据库(database(s))输入:"realmd;mangos"
点击连接,这样客户端就连接到你的 MySQL 数据库服务器上了。
在左边一栏右键点击“root@localhost”,选择建立数据库"Create Database"。
当提示输入数据库名称的时候输入:"mangos"。
重复第 9,10 步建立数据库"realmd"。
三、安装 Mangos 服务器,配置路径
建立一个目录,例如:"C:/MaNGOS"
把你下载的 mangos 的二进制文件解压到这个目录里面。
检查你的两个重要的服务器配置文件:“mangosd.conf”和“realmd.conf”。其中“mangosd.conf”
里面可以配置物品,金钱的掉落率,经验值的增长率等等。
四、解压安装地图文件
把 ad.exe 放在魔兽世界的安装目录下,例如("C:/World of Warcraft")
建立一个子目录叫 maps,结构为:("C:/World of Warcraft/maps")
运行 ad.exe 文件。耐心等待 ad.exe 把魔兽世界的地图信息提取到 maps 目录下。
将 maps 子目录拷贝到"C:/MaNGOS"目录下,结构为:"C:/MaNGOS/maps",里面的地图
文件大概有 2400 多个。
可以安全的删除"C:/World of Warcraft"下的 maps 子目录了。
五、解压安装提取的*.dbc 文件
在你的 mangos 的安装目录下建立 dbc 子目录,结构为:("C:/MaNGOS/dbc")
为了将暴雪公司的 mpq 文件的内容解压出来,将提取工具 mpqe.exe 拷贝在魔兽世界安装
目录的 data 目录下,结构为:("C:/World of Warcraft/data")
打开 dos 窗口,进入魔兽世界的 data 目录(cd "C:/World of Warcraft/data")。
执行以下命令:
mpqe /p dbc.MPQ DBFilesClient/*.dbc
mpqe 工具将魔兽的游戏信息提取到了/MPQOUT/DBFilesClient 目录下,整个结构为:
("C:/World of Warcraft/data/MPQOUT/DBFilesClient")
当 mpqe 运行结束后,可以将所有的*.dbc 拷贝到你的 mangos 的 dbc 目录下:
("C:/MaNGOS/dbc"),你大概有 158 个*.dbc 文件。
你可以安全删除魔兽世界下的 dbc 文件目录:("C:/World of Warcraft/data/MPQOUT")了。
七、下载安装数据库内容,前文说过,mangos 只是游戏引擎,游戏的内容,建立的数据库
由独立小组开发,我们这里使用著名的
Silver's Database Site 的库。版本号为 SDB156.
将下载的 CompleteSDB156-Mangos3462.rar 文件解压,里面有几个数据库文件。找到其
中“realm-database-full.sql”和“mangos-full-for-rev3462.sql”文件。
使用 SQLyog 连接到你的数据库。
在左栏找到 realmd,点击右键选择"Restore from SQL Dump",找到
“realm-database-full.sql”,导入数据库文件。
同样找到 mangos,点击右键选择"Restore from SQL Dump",找到
“mangos-full-for-rev3462.sql”,导入数据库文件。
八、配置数据库,配置文件,运行开源魔兽服务器!本文只为测试游戏,在局域网中玩。
使用 SQLyog 连接到你的数据库。
找到 realmd,展开找到"realmlist"选项。
在右下找到"Table Data"。
在 name 一项填入你的服务器名字,例如叫 faif
在地址 address 一项可以使用"localhost" 或者你的 IP 地址。
在 realmd 数据库下找到 account 表,点击"Table Data",建立你的游戏帐号,里面已经由
几个内置的帐号,你可以参照 gm,普通玩家的帐号建立你的用户名,密码。
在 mangos 目录下打开 realmd.conf 文件,找到
"LoginDatabaseInfo ="
改为:"LoginDatabaseInfo = "127.0.0.1;3306;root;[password];realmd"
这里的 IP 地址可以是你的 IP,[password]是你的密码。存盘。
在 mangos 目录下打开 mangosd.conf 文件,找到如下的内容,并设置如下:
DataDir = "."
WorldDatabaseInfo = "127.0.0.1;3306;root;[password];mangos"
LoginDatabaseInfo = "127.0.0.1;3306;root;[password];realmd"
同样,这里的 IP 地址可以是你的 IP,[password]是你的密码。存盘。
到这里基本就大功告成了。先运行 realmd.exe 文件,稍等,运行 mangosd.exe,魔兽服务
器就已经运行了。
连接到你的魔兽服务器,修改你的魔兽世界客户端的 realmlist.wtf 的文件,将 127.0.0.1,
或者你的 IP 地址填在里面,例如:"set realmlist 127.0.0.1"
到此为止,开源的魔兽服务器就架设成功了,我给朋友建立了几个 gm 帐号,他们测试了一
下,觉得这个版本的做的很不错了,开源的宗旨是知识的分享,开源社区黑客们的探索精神
不得不让人佩服。
注:本文是基于欧洲客户端和北美客户端 1.12.1 提取测试的。如果你使用魔兽世界中文版
1.12.3 来测试可能会遇到版本不兼容的信息提示。可能的解决方法有:
1. 降级到 1.12.1
2. 自己编译 mangos 的源代码,在 mangos 源代码中:
找到这个文件“src/shared/Common.h”,第 48 行(以下引用的是最新的 mangos 源代码,
mangos 的开发策略是每段开发过程只支持一个版本,这样保证代码的整体质量,现在的版
本是 6546 也就是 wow TBC 2.0.12),你可以用 svn commit out 老版本,修改这行代码,
然后编译生成你自己的 mangos 执行文件。
44 // we need to stick to 1 version or half of the stuff will work for someone
45 // others will not and opposite
46 // will only support WoW and WoW:TBC 2.0.12 client build 6546...
47
48 #define EXPECTED_MANGOS_CLIENT_BUILD {6546, 0}
关于如何下载 MANGOS 源码
怎么下载 MANGOS 源码
mangos-gui Mangos 的 GUI 版控制工具(svn 地址)
http://mangos-gui.googlecode.com/svn/trunk/
MangosWFE 网站系统(SVN 更新地址)
http://opensvn.csie.org/MangosWFE/
剩余22页未读,继续阅读
资源评论
- zplxq2222012-12-06只是教程啊。。不是源码。
- xiaoyaolua2012-09-01代码全 挺不错的 就是下载速度有点慢
- wsl10182012-12-17介绍的很好,很有帮助
- Liberal-man2014-01-21教程还好,可以试试
- ivyeasymark2013-03-15个人认为对mangos的介绍不咋的 因人而异吧
leavesfly
- 粉丝: 0
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功