Mangos Zero 编译安装

本篇文章是我几个月前在CSDN的blog上写的,现在移过来

折腾了两天,终于将Mangos Zero在自己的Windows电脑上搭建起来了,下面总结一下安装Mangos Zero过程。网上也有很多安装Mangos Zero的教程,都比较老了,有些基本不能用了。

1. 安装环境

  1. Windows XP 64位

2. 前期准备

  1. MySQL(本人使用的是5.5的版本)
  2. SQLyog(这个根据个人喜好,就是MySQL的GUI)
  3. Git
  4. World of Warcraft 1.12 (Google找一下,我这边有一个,但忘记网址了,过一阵子上传到网盘上)
  5. VS 2010 或更高版本 (本人是VS2013)

3. 安装MySQL

MySQL的安装我就不多说了,不会的网上一大堆教程的,这里要记住MySQL安装过程中设置的密码,后面会用到。

4. 安装Git

安装指引一步一步安装就好,没有什么可注意的地方。

5. 创建一个根目录

创建一个名为Mangos的根目录,下面的所有操作我们都会在这个目录下进行

6. 下载database

> cd Mangos
> git clone --recursive http://github.com/mangoszero/database.git -b develop21

这里要多少几句,我使用的是develop21分支,一开始我使用的是release20这个分支,但发现database和server的版本不匹配,并且按网上的说法打Patch都解决不了,所有就用了最新的开发分支,经本人测试完全可用。因为是开发分支,可能开发者在上面修改导致一些其他问题,所以我自己也fork了一个这样的分支,大家也可用clone我自己的git

git clone --recursive https://github.com/Whosemario/database.git -b develop21

7.将数据加载到MySQL

> cd Mangos
> cd database
> InstallDatabases.bat

起始就是运行database文件夹下的InstallDatabases.bat脚本。跟着提示一路配置下去。几点要注意:

  1. 第一步输入N进行下一步
  2. MySQL的密码就是上面安装MySQL设置的密码
  3. 没有其他什么要求,剩下的配置都使用默认就好,下面的教程将根据默认配置来
    如果一切顺利,你会在MySQL里面看到三个新的数据库,如下
    这里写图片描述
    它们分别是character0 mangos0 realmd
    此时还没完,这里的character0的版本会和mangos server的版本不一致,打开character0的db_version这张表。
    这里写图片描述
    它的structure一列位1,但server需要的版本为2,所以我们要为character0打个Patch,在database/Character/Updates/rel21/目录下有一个sql文件Rel21_2_0_honor_flush.sql,将其运行即可。

8. 下载server

> cd Mangos
> git clone https://github.com/mangoszero/server.git --recursive -b develop21

相同的,我也有一个对应的repo

git clone https://github.com/Whosemario/server.git -b develop21

9. 编译server

到Mangos/server/win目录下,里面有很多安装软件,分别安装cmake和openssl,然后运行MaNGOS_EasyBuild.exe,点击按钮Check Now,如果上面的安装一切正常,会如图
这里写图片描述
点击Build Options,会有一些基本选项,按自己的需求去选择,没有什么大问题,然后点击Generate Project,最后会打开你的Visual Studio,然后rebuild整个项目,项目rebuild成功后,会在Mangos文件加下生成server_build的目录,然后进行下面两步操作:

  1. 将server_build/bin/Debug/下的文件都拷贝到你的WoW客户端的根目录(也就是WoW.exe所在的目录)
  2. 再将server_build/bin/Debug/tools/下的文件都拷贝到你的WoW客户端的根目录
  3. 在WoW客户端目录下,运行ExtractResources.sh,跟着指引一步一步配置,当运行完后,会生成三个目录 dbc maps vmaps
  4. 在Mangos目录下新建名为Data的文件夹,将上面的三个目录拷贝到Data文件夹下

10. 配置Mangos Server

  1. 进入Mangos/server_build/bin/Debug/文件夹下,将mangosd.conf.dist文件重命名为mangosd.conf,并修改里面的内容

    DataDir = "."    
    

    修改为

    DataDir = "C:\Mangos\Data"
    

    假设你的Mangos新建在C盘根目录下。

    LoginDatabaseInfo      "127.0.0.1;3306;mangos;mangos;realmd"
    WorldDatabaseInfo      = "127.0.0.1;3306;mangos;mangos;mangos"
    ScriptDev2DatabaseInfo = "127.0.0.1;3306;mangos;mangos;mangos"
    CharacterDatabaseInfo  = "127.0.0.1;3306;mangos;mangos;character0"
    

修改为:

LoginDatabaseInfo      = "127.0.0.1;3306;root;123456;realmd"
WorldDatabaseInfo      = "127.0.0.1;3306;root;123456;mangos0"
ScriptDev2DatabaseInfo = "127.0.0.1;3306;root;123456;mangos0"
CharacterDatabaseInfo  = "127.0.0.1;3306;root;123456;characters"

假设你的MySQL密码为123456.

  1. 将realmd.conf.dist文件重命名为realmd.conf

    LoginDatabaseInfo     = "127.0.0.1;3306;mangos;mangos;realmd"
    

    改为:

    LoginDatabaseInfo     = "127.0.0.1;3306;root;123456;realmd"
    
  2. 修改realmd数据库里面的realmlist表,将第一列带有MaNGOS的字符串替换为MyWoW

11. 修改客户端

  1. 打开realmlist.wtf,将最后的域名改为127.0.0.1

12. 启动游戏

  1. 打开Mango\server_build\bin\Debug\realmd.exe
    这里写图片描述
  2. 打开Mango\server_build\bin\Debug\mangosd.exe
    这里写图片描述
  3. 新建一个玩家
    这里写图片描述
  4. 打开客户端WoW.exe
    这里写图片描述

    reference

  5. How to Setup a MaNGOS Rel21 Server from Scratch