对于不同语言版本的客户端,MaNGOS的安装上略有区别,本文将针对魔兽世界2.3.3简体中文版,详细讲述安装步骤。
一、必备工具
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并创建数据库
安装MySQL社区版,并配置SQL服务器。
安装SQLyog。利用其登录,创建realmd、characters、mangos、scriptdev2数据库。
三、建立MaNGOS目录
创建MaNGOS目录,如:"D:/MaNGOS"。(如果直接下载编译文件,可省略以下步骤)
拷贝源代码目录下/bin/release中的所有exe和dll文件到MaNGOS目录。
拷贝/src/mangosd和/src/realmd中的mangosd.conf.in和realmd.conf.in,去掉“.in”后缀。
确保“libeay32.dll”和"libmySQL.dll"在MaNGOS目录下。
四、提取客户端map文件
将ad.exe放在客户端安装目录下,如:"D:/Word of Warcraft"。
创建"maps"子目录,如:"D:/World of Warcraft/maps"。
运行ad.exe(大概会提取至少3400个map文件)。
当ad.exe运行完成后,拷贝maps子目录到MaNGOS目录下。
五、提取客户端dbc文件
在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文件
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时失败,请查考日志文件,为对应的数据表进行更新。
八、使用UDB数据丰富游戏世界
如果使用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
对于客户端,不要直接点击快捷方式,因为其指向Launcher.exe。应该运行Wow.exe。
如果客户端启动有问题(多数问题集中在mangosd.exe),请查看log文件,用sql/update中的数据脚本更新出现问题的数据表。
下面贴几张截图:
P.S. 由于UDB没有汉化,所以在游戏中某些地方会出现英文。