开源版本”魔兽世界” mangos搭建
今天魔兽世界终于在中国正式运营了,虽然偶不玩..但还是保持了相当的关注:-)前段时间看过一个开源版本的”魔兽”,叫mangos,当时以为这个只是外围接口的实现,比如认证等等,并没去留意,不过昨晚一同事告知可以搭建”私服”,细看了一下,才知道这是个所谓的服务器端“模拟器”,当然搭建所谓的私服我就没兴趣啦,不过下载回来编译一下,看看人家的结构设计,环境实现等等,倒是蛮有兴趣的,所以,本篇文章,只是一个mangos<大芒果>在Linux(Debian)平台的搭建过程,不代表本人支持私服…实际上我是反对的:-)
源码下载及编译安装:
请参照http://getmangos.com/wiki/Compile_MaNGOS_On_Linux,在Debian lenny上无障碍直接编译通过
数据库创建及配置文件改动:
为了叙述的方便,我这里假设我安装的目录为$A,在这个目录下执行ls,应该能看到如下目录:
bin etc lib mangos scriptdev2
让我们先建立一下数据库
cd $A
cd mangos/sql
mysql -uroot -p < create_mysql.sql
mysql -uroot -p mangos < mangos.sql
mysql -uroot -p realmd < realmd.sql
mysql -uroot -p characters < characters.sql
这里说明一下,数据库mysql的安装我就不重新废话了,其中Setting up MaNGOS有提到这么一个数据库配置:
key_buffer = 100M
max_allowed_packet = 100M
thread_stack = 50M
thread_cache_size = 8
query_cache_limit = 50M
query_cache_size = 512M
这个配置是在一个具有8G内存,8核心CPU的机器上的配置,当然,我们可以按照自己的机器进行调整
接下来是mangos引擎的配置文件:
cd $A/etc
执行ls后应该可以看到如下文件:
mangosd.conf.dist realmd.conf.dist scriptdev2.conf scriptdev2.conf.dist
执行:
mv mangosd.conf.dist mangosd.conf
mv realmd.conf.dist realmd.conf
编辑mangosd.conf找到如下内容:
LoginDatabaseInfo = “127.0.0.1;3306;mangos;mangos;realmd”
WorldDatabaseInfo = “127.0.0.1;3306;mangos;mangos;mangos”
CharacterDatabaseInfo = “127.0.0.1;3306;mangos;mangos;characters”
这里的值分别表示:
MySQL Server;MySQL port;MySQL 用户;MySQL密码;MySQL database
如果是直接导入本文上面提到的建库(表)语句的话,那这里的用户和密码都是mangos
接着再次编辑realmd.conf,找到:
LoginDatabaseInfo = “127.0.0.1;3306;mangos;mangos;realmd”
#这里字段的意思同上,不再复述
好了,激动人心的时刻就要到来,现在让我们启动游戏试试:
cd $A/bin
nohup ./mangos-realmd &
#这一步一般没问题,如果有问题,看看是不是MySQL权限问题
nohup ./mangos-worldd &
到这里就会有问题了,看log,出现如下错误:
Check existing of map file ‘./maps/0004331.map’: not exist!
Correct *.map files not found in path ‘./maps’ or *.vmap/*vmdir files in ‘./vmaps’. Please place *.map/*.vmap/*.vmdir files in appropriate directories or correct the DataDir value in the mangosd.conf file.
这里就涉及到下一部份了,魔兽世界客户端地图的解压问题。。偶还没下载完。待续:-)