魔兽世界私服架设

都说魔兽世界是最经典的网游,可惜我沉迷于程序的世界,都没有机会去体会一下!正好看了别人一篇blog,写着怎么架设魔兽世界,想想我就自己动手架一个看看了!

等弄完之后,发现,那个服务器是2.3的客户端吧,好像!现在都3.13了,根本没用,后来到去sf.net找了一下,用svn把代码down下来,都很老了。后来啃了一点英文,才发现,现在源码管理已经迁移到git上面了。题外话,这个就是linux之父炮轰c++里面的一个证据之一,用纯C写的~!

这是好久之前弄的,现在忘得差不多了,只记个大概吧!

用以下命令down源码

git clone git://github.com/mangos/mangos.git

编译的时候会出错,找不到以下两个文件

revision.h

SystemConfig.h

其实以上文件只是简单的定义同个编译的宏而已,自己动手写一个就可以了!

然后编译就没有问题了。

1)Exracting maps and DBC files,导出地图及DBC文件

在源码找到这个路径mangos\contrib\extractor

编译后得到可执行文件ad.exe拷贝到魔兽目录下执行后,没那么快,得等会儿

得到目录maps,dbc两个文件夹,拷到大芒果的可执行目录下

2) 现在要安装数据库了

具体怎么安装mysql数据就不费话了,最省事的办法下个XAMP吧~

建三个库realmd;mangos;characters

直接执行mangos/sql下面的create_mysql.sql就可以建三个库了

紧接着分别选中库,然后执行该目录下的realmd.sql;mangos.sql;characters.sql;

操作完上面就有了基本的数据库结构了,当然,里面什么东西都没有

3)配置mangos

打开mangosd.conf,找到LoginDatabaseInfo,WorldDatabaseInfo,CharacterDatabaseInfo;分别按照这样的格式写入

服务器;端口;用户名;密码;数据库名

如我的是这样的:

LoginDatabaseInfo     = "cheng;3306;linbc;asdf;realmd"
WorldDatabaseInfo     = "cheng;3306;linbc;asdf;mangos"
CharacterDatabaseInfo = "cheng;3306;linbc;asdf;characters"

打开realmd.conf,也配置一下

LoginDatabaseInfo = "[Server IP];3306;root;[SQL password];realmd"

4)配置客户端的服务器ip及端口

在魔兽世界的客户端路径下打开Data\zhCN

里面有一个文件realmlist.wtf,打开后修改为

set realmlist [server IP]
set patchlist [server IP]

 

 

现在,可以启动你的服务器了

执行 mangosd.exe 和 realmd.exe,应该没有任何错误

运行之前是命令行程序,可以输入命令,你可以先输入help就可以看这些命令怎么样,如创建帐号

create linbc passwd

可以设置为GM

setgm [username] [anything from 0 to 3, 3 being administrator, 0 being player]

 

好吧,现在可以进游戏了,这个时候你可能会碰到客户端版本太高不支持的情况,不要紧,自己动手改一下就可以了

在源码目录下找开文件realmd\AuthSocket.cpp差不多527行找到

#if 0
    int accepted_versions[] = EXPECTED_MANGOS_CLIENT_BUILD;
#else
    int accepted_versions[] = {10146,0};
#endif

当然,你改这个宏就更好了
现在进游戏肯定没有问题了,不过里面空空如野什么都没有

你还是去下载数据,当然,我们玩的话还要是汉化的数据,我花了两三天才找到的,太晚了,睡觉了

提醒自己,做完之后要马上记下来,不要用回忆去写blog,写得真烂,惨不忍睹,贴一张图吧

WoWScrnShot_081809_235901

下面这些是几个命令挺好用

http://zhidao.baidu.com/question/103542573.html

-------------------------------------------------------------------------------------- 
mysql -h localhost -u root -p mysql
grant all privileges on *.* to linbc@localhost identified by ‘’ with grant option;
posted @ 2009-11-20 00:35  冷侃  阅读(13575)  评论(3编辑  收藏  举报