当前位置:   article > 正文

[MAC] 编译安装和测试《魔兽世界》模拟服务端 TrinityCore

mac trinitycore

1. 安装编译环境和依赖项

客户端安装:

下载地址 (3.3.5a enUS),安装到:/Applications/World of Warcraft 目录下(后面会用到)

安装 Xcode:

自行到 App Store 下载,完成之后需要执行 xcodeselect --install 来安装 command line tools

安装 homebrew:

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

安装依赖:

  • MySQL Community Server: brew install mysql

  • GNU Readline: brew install readline

  • OpenSSL: brew install openssl

  • Adaptive Communication Environment (ACE): brew install ace

  • CMake: brew install cmake

2. 下载和编译 TrinityCore

下载源码:

  1. cd ~/Trinity
  2. git clone https://github.com/TrinityCore/TrinityCore.git repo

创建编译目录:

  1. mkdir build
  2. cd build

使用 cmake 生成 XCode 项目文件:

  1. cmake ../repo -GXcode \
  2. -DMYSQL_ADD_INCLUDE_PATH=/usr/local/include \
  3. -DMYSQL_LIBRARY=/usr/local/lib/libmysqlclient_r.dylib \
  4. -DREADLINE_INCLUDE_DIR=/usr/local/opt/readline/include \
  5. -DREADLINE_LIBRARY=/usr/local/opt/readline/lib/libreadline.dylib \
  6. -DACE_INCLUDE_DIR=/usr/local/opt/ace/include \
  7. -DACE_LIBRARY=/usr/local/opt/ace/lib/libACE.dylib \
  8. -DOPENSSL_SSL_LIBRARIES=/usr/local/opt/openssl/lib/libssl.dylib \
  9. -DOPENSSL_CRYPTO_LIBRARIES=/usr/local/opt/openssl/lib/libcrypto.dylib \
  10. -DOPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include \
  11. -DPREFIX=$HOME/Trinity \
  12. -DWITH_WARNINGS=1 \
  13. -DTOOLS=1

编译代码:

xcodebuild -target install -config Release

编译所需要的时间和机器配置有关,期间 CPU 会很高,我这里大概用了 20 分钟左右(air 13 i7 8G)。下面是编译完成后的结果:

  1. tsl0922s-air:~ tsl0922$ ls -l Trinity/bin Trinity/etc
  2. Trinity/bin:
  3. total 44944
  4. -rwxr-xr-x  1 tsl0922  staff    398792  5 17 12:59 authserver
  5. -rwxr-xr-x  1 tsl0922  staff     83360  5 17 12:59 mapextractor
  6. -rwxr-xr-x  1 tsl0922  staff    932888  5 17 12:59 mmaps_generator
  7. -rwxr-xr-x  1 tsl0922  staff    695132  5 17 12:59 vmap4assembler
  8. -rwxr-xr-x  1 tsl0922  staff     97468  5 17 02:07 vmap4extractor
  9. -rwxr-xr-x  1 tsl0922  staff  20795028  5 17 12:59 worldserver
  10. Trinity/etc:
  11. total 200
  12. -rw-r--r--  1 tsl0922  staff   8760  5 15 23:47 authserver.conf.dist
  13. -rw-r--r--  1 tsl0922  staff  89343  5 17 01:46 worldserver.conf.dist

3. 生成 db、maps 和 vmaps 文件

  1. cd /Applications/World of Warcraft
  2. # dbc and maps
  3. ~/Trinity/bin/mapextractor
  4. mkdir ~/Trinity/data
  5. cp -r dbc maps ~/Trinity/data
  6. # vmaps(optional)
  7. ~/Trinity/bin/vmap4extractor
  8. mkdir vmaps
  9. ~/Trinity/bin/vmap4assembler Buildings vmaps
  10. cp -r vmaps ~/Trinity/data

4. 配置服务器

  1. cd ~/Trinity/etc
  2. cp worldserver.conf.dist worldserver.conf
  3. cp authserver.conf.dist authserver.conf

把两个配置文件的  LogsDir 配置都改为:logs,worldserver配置里的 DataDir 配置改为:data。如果你没有启用 vmaps,还需要在 worldserver 配置文件里禁用 vmaps(默认启用)。

5. 初始化数据库

自行到到这里下载 最新 TDB 数据库并把 sql 文件解压到~/Trinity目录下,目前下载得到的文件名为:TDB_full_335.53_2014_03_29.sql

执行命令(数据库 root 用户密码为空):

  1. cd ~/Trinity
  2. start mysql server
  3. mysql.server start
  4. # create user and database
  5. mysql -u root < repo/sql/create/create_mysql.sql
  6. # init database
  7. mysql -u root < TDB_full_335.53_2014_03_29.sql
  8. mysql -u root < repo/sql/base/auth_database.sql
  9. mysql -u root < repo/sql/base/characters_database.sql
  10. # update database
  11. for file in `ls repo/sql/updates/auth`; do mysql -u root auth < repo/sql/updates/auth/$file; done
  12. for file in `ls repo/sql/updates/characters`; do mysql -u root characters < repo/sql/updates/characters/$file; done
  13. for file in `ls repo/sql/updates/world`; do mysql -u root world < repo/sql/updates/world/$file; done

6. 启动《魔兽世界》服务器模拟器

需要开启2个终端窗口,分别执行:

  1. first terminal
  2. cd ~/Trinity
  3. ./bin/authserver
  4. # second terminal
  5. cd ~/Trinity
  6. ./bin/worldserver


7. 测试服务器

先创建一个用户:worldserver 启动后会有个自己的命令提示符,在里面执行:

  1. account create test 123456
  2. account set gmlevel test 3 -1

修改《魔兽世界》客户端目录下的 Data/enUS/realmlist.wtf, 把里面的 set realmlist语句改为:set realmlist 127.0.0.1

启动《魔兽世界》客户端(不要从 Launcher 启动,否则会自动更新),输入用户名:test,密码:123456 登陆本地服务器。


参考:

转载于:https://my.oschina.net/tsl0922/blog/266003

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/825155
推荐阅读
相关标签
  

闽ICP备14008679号