魔兽世界服务端Trinity编译安装
一、环境准备
Git For Windows
VS2010/2012
CMake
Open SSL
MySQL
二、编译步骤
使用Git从github上下载最新的TrinityCore源代码
打开CMake,选择源码目录(where is the source code)和工程目录(where to build the binaries)
点击Configure,选择工程类型以及目标平台(Specify the generator for this project),确保选中使用本地默认的编译器(Use default native compilers)
点击Finish,CMake将会开始配置
确保在CMake配置过程中没有任何错误提示出现,如果有,解决后重新配置
配置完成后大概是这个样子
确保仅选中一下几项:
SCRIPTS
SERVERS
TOOLS
USE_COREPCH
USE_SCRIPTPCH
点击Generate,开始生成
生成完成后,到工程目录中双击TrinityCore.sln打开项目
在VS中右键点击解决方案,选择“清理解决方案”,然后选择“生成解决方案”
生成完成后你可以才工程目录下的bin\Debug\中看到编译后的文件
三、生成数据库
数据库脚本在TrinityCore\sql目录下
在mysql中依次执行以下几个脚本:
sql\create\create_mysql.sql
sql\base\auth_database.sql (执行此脚本前先选中auth数据库)
sql\base\characters_database.sql (执行此脚本前先选中characters数据库)
TDB_full_xxx.sql (执行此脚本前先选中world数据库)
四、生成地图数据
将bin\Debug目录下的mapextractor.exe、vmap4extractor.exe、vmap4assembler.exe这几个文件拷贝到魔兽世界的安装目录下(就是wow.exe所在的目录)
在魔兽世界安装目录下新建一个cmd文件,写入以下代码
@echo off
cls
:extract_maps
ECHO.
ECHO Extracting DBCs and Maps...
mapextractor.exe
:extract_vmaps
echo.
Echo Extracting VMAPs
vmap4extractor.exe
:build_vmaps
echo.
echo Building VMAPs
md vmaps
vmap4assembler.exe Buildings vmaps
:batch_exit
echo.
echo Press any key to exit
pause > NUL
保存后运行该cmd文件就会开始生成地图数据,根据机器性能可能需要20-50分钟不等。
生成完成后你会在魔兽世界安装目录下找到vmaps,maps,dbc,Buildings几个文件夹,Buildings这个没什么用,可以删除,其他的几个文件夹剪切到bin\Debug目录下。
五、配置服务端
首先确认bin\Debug目录中有没有libmysql.dll、libeay32.dll、ssleay32.dll 这几个动态链接库,如果没有,从mysql安装目录中复制libmysql.dll,openssl安装目录中复制libeay32.dll、ssleay32.dll 到bin\Debug目录下。
复制bin\Debug目录下的worldserver.conf.dist文件并重命名为worldserver.conf,用记事本打开worldserver.conf文件,找到以下几行:
LoginDatabaseInfo = "127.0.0.1;3306;root;trinity;auth" WorldDatabaseInfo = "127.0.0.1;3306;root;trinity;world" CharacterDatabaseInfo = "127.0.0.1;3306;root;trinity;characters"
修改为
LoginDatabaseInfo = "你的mysql地址;你的mysql端口;你的mysql帐号;你的mysql密码;auth" WorldDatabaseInfo = "你的mysql地址;你的mysql端口;你的mysql帐号;你的mysql密码;world"
CharacterDatabaseInfo = "你的mysql地址;你的mysql端口;你的mysql帐号;你的mysql密码;characters"
然后保存
复制bin\Debug目录下的authserver.conf.dist文件并重命名为authserver.conf,用记事本打开authserver.conf文件,找到以下几行:
LoginDatabaseInfo = "127.0.0.1;3306;root;trinity;auth"
修改为
LoginDatabaseInfo = "你的mysql地址;你的mysql端口;你的mysql帐号;你的mysql密码;auth"
然后保存
检查auth数据库中realmlist表中的port是否与worldserver.conf文件中的WorldServerPort的值一致(默认均为8085),如果不一致修改成一致的。
检查auth数据库中realmlist表中的gamebuild值是否与你客户端版本的最后一项一致,如果不一致,修改成一致的。
六、配置客户端
将魔兽世界安装目录下的Data\zhCN\realmlist.wtf文件中的内容替换为
set realmlist 127.0.0.1:3724
保存该文件
删除魔兽世界客户端缓存目录Cache、WTF
七、启动服务端
启动bin\Debug\authserver.exe
启动bin\Debug\worldserver.exe
八、创建帐号
在worldserver.exe中执行如下命令可以创建帐号
account create 用户名 密码
九、启动客户端
双击魔兽世界安装目录下的wow.exe,即可使用刚创建的帐号登录游戏(如果没有意外的话)