zoukankan      html  css  js  c++  java
  • 魔兽世界私服架设

    都说魔兽世界是最经典的网游,可惜我沉迷于程序的世界,都没有机会去体会一下!正好看了别人一篇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;
  • 相关阅读:
    JS 弹窗“是否删除”
    input file 保存图片
    Form之action提交不刷新不跳转
    checkbox实现单选
    最近的项目系之2——core3.0整合Autofac
    最近的项目系列1——core整合SPA
    最近的项目之开篇
    短信验证码“最佳实践”
    Asp.net core使用MediatR进程内发布/订阅
    记一次带层级结构列表数据计算性能优化
  • 原文地址:https://www.cnblogs.com/linbc/p/1606493.html
Copyright © 2011-2022 走看看