一、必备工具
- WoW客户端。可从官网下载,也可购买DVD安装盘(如果版本低于2.3.3,需下载补丁升级)。
- 编译好的MaNGOS。使用Subversion从https://mangos.svn.sourceforge.net/svnroot/mangos/trunkcheckout源代码,在win子目录下选择相应的vs解决方案版本打开项目,编译后bin中就是MaNGOS的运行文件。也可以直接从http://www.mangosproject.org/forum/index.php?showtopic=4088下载编译好的版本。
- 地图提取工具“ad.exe”。为了支持中文版,必须从https://mangos.svn.sourceforge.net/svnroot/mangos/trunk/contrib/map_extractorcheckout源代码,修改system.cpp中的语言代码为:char* langs[]={"zhCN", "enCN", "enUS", "frFR", "esES"},然后重新编译得到ad.exe。
- dbc提取工具mpqe.exe。该工具由C#编写,运行需要.Net Framework。可从http://www.mangosproject.org/forum/index.php?showtopic=7456下载可执行文件,也可从https://mangoscms.svn.sourceforge.net/svnroot/mangoscms/trunk/tools/MPQEcheckout源代码,自行编译。
- MySQL社区版
- MySQL GUI客户端工具,如免费且好用的SQLyog。
- 安装MySQL社区版,并配置SQL服务器。
- 安装SQLyog。利用其登录,创建realmd、characters、mangos、scriptdev2数据库。
- 创建MaNGOS目录,如:"D:/MaNGOS"。(如果直接下载编译文件,可省略以下步骤)
- 拷贝源代码目录下/bin/release中的所有exe和dll文件到MaNGOS目录。
- 拷贝/src/mangosd和/src/realmd中的mangosd.conf.in和realmd.conf.in,去掉“.in”后缀。
- 确保“libeay32.dll”和"libmySQL.dll"在MaNGOS目录下。
- 将ad.exe放在客户端安装目录下,如:"D:/Word of Warcraft"。
- 创建"maps"子目录,如:"D:/World of Warcraft/maps"。
- 运行ad.exe(大概会提取至少3400个map文件)。
- 当ad.exe运行完成后,拷贝maps子目录到MaNGOS目录下。
- 在MaNGOS下创建dbc子目录。
- 将mpqe(包括:mpqe.exe和sfmpq.dll)拷贝到客户端安装目录/data/zhCN下。
- 在命令行界面中运行: mpqe /p local-zhCN.mpq DBFilesClient/*.dbc。
- 当mpqe运行完成后,拷贝../zhCN/MPQOUT|DBFilesClient下的所有dbc文件到MaNGOS的dbc子目录下,应该有176个文件。
- vmap用于处理“视线”问题。
- 找到MaNGOS源代码或者编译版本中的makevmaps_SIMPLE.bat,运行之。
- 将生成目录vmaps/下的所有vmap文件拷贝到MaNGOS目录下的vmaps子目录中。
- 用SQLyog连接MySQL数据库。
- 右键点击realmd数据库,选择“Restore from SQL Dump”。
- 找到MaNGOS的sql目录中的realmd.sql,执行。
- 使用相同方法导入characters、mangos、scriptdev2数据。
- 需要说明的是,scriptdev2是针对WoW的游戏脚本,增加了额外的怪物及BOSS的AI,如果没有该脚本,你就只能进入一个索然无味的WoW世界。MaNGOS的编译版本中一般会提供scriptdev2的dll和sql脚本,如果你没有它们,可以从https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/checkout来编译,并将scriptdev2.dll拷入MaNGOS目录。
- 在sql目录下提供了各个数据表的更新脚本,如果你在运行mangosd.exe时失败,请查考日志文件,为对应的数据表进行更新。
如果使用MaNGOS自带的mangos.sql,你将只能得到一个相当简单的游戏世界。为了丰富游戏世界,有另外一个小组着力于开发mangos数据脚本,你可以从http://www.udbforums.org/得到更多关于udb的介绍。http://www.udbforums.org/index.php?showtopic=6629提供了目前最新的mangos数据脚本下载,通过使用第七步所讲述的方法,将sql脚本导入mangos数据库。
九、配置MaNGOS和客户端
- 在客户端的wtf子目录下创建realmlist.wtf文件(如果没有的话),并写入“set realmlist 127.0.0.1”。
- 打开MaNGOS的realmd.conf文件,找到“LoginDatabaseInfo =" 将其修改为 "LoginDatabaseInfo = "127.0.0.1;3306;root;[password];realmd"。
- 打开mangosd.conf文件,找到"[list]"项,修改:
- DataDir = "."
- WorldDatabaseInfo = "127.0.0.1;3306;root;[password];mangos"
- LoginDatabaseInfo = "127.0.0.1;3306;root;[password];realmd"
- CharacterDatabaseInfo = "127.0.0.1;3306;root;[password];characters"
- 先后启动realmd.exe和mangosd.exe,也可以写个批处理来运行,内容如下:
@echo off
start realmd.exe
start mangosd.exe
@echo on
start realmd.exe
start mangosd.exe
@echo on
- 对于客户端,不要直接点击快捷方式,因为其指向Launcher.exe。应该运行Wow.exe。
- 如果客户端启动有问题(多数问题集中在mangosd.exe),请查看log文件,用sql/update中的数据脚本更新出现问题的数据表。
P.S. 由于UDB没有汉化,所以在游戏中某些地方会出现英文。