基于TrinityCore编译魔兽世界服务端
1.环境安装
官方文档TrinityCore
1.Debian
1 |
|
2.Ubuntu
1 |
|
3.下载源码
1 |
|
内网
1 |
|
2.编译安装
1.创建目录
1 |
|
2.准备编译
1 |
|
3.编译服务端
有2种方式来编译。
第一种是傻瓜式,直接开始编译,这种速度一般。
1
make&&make install
第二种是利用全核心CPU make -j 线程数 install 这里线程数要改成自己CPU的线程数,这样可以全核心进行编译。
1
make -j 8
1
make install
3.提取数据
1.上传客户端
注意:以下3步前后顺序不可逆,必须按顺序提取。如一步失败,需要删除这步产生的文件重头提取,否则会进入0%死循环。
2.提取地图
1 |
|
完成之后依次输入命令
1
2mkdir /root/server/data
cp -r dbc maps /root/server/data接着输入提取命令
1
/root/server/bin/vmap4extractor
完成之后依次输入,开始编译地图
1
2mkdir vmaps
/roo/server/bin/vmap4assembler Buildings vmaps编译完成之后输入
1
cp -r vmaps /root/server/data
然后接着输入命令
1
2mkdir mmaps
/root/server/bin/mmaps_generator注意:这次提取是整个大地图提取,时间很长视机器情况。
提取完成之后输入
1
cp -r mmaps /root/server/data
这步结束之后,可以通过
sftp
软件进去把/root/server/data里的文件打包下载到本地备份,不然以后丢失损坏还要再来一次。
4.修改配置文件
移除
etc
目录下文件名中的.dist
最后成这样
authserver.conf
dbimport.conf
worldserver.conf
修改
authserver.conf
dbimport.conf
worldserver.conf
,中的数据库地址和密码。1
127.0.0.1;3306;trinity;trinity;trinity_auth
- 127.0.0.1:数据库地址
- 3306:端口
- trinity:第一个为用户名,第二个为用户密码
- trinity_auth:数据库名
修改Data路径
DataDir = "."
#此字段仅worldserver.conf有,将.更改为你的data文件夹路径
5.设置数据库
1.登录数据库
1 |
|
1 |
|
自动创建
1
2mysql -uroot -p
source /root/azerothcore-wotlk/data/sql/create/create_mysql.sql
2.下载数据库
接着访问TrinityCore
压缩包解压后可以得到一个几百兆的sql文件,这就是魔兽世界里的数据了,然后把刚才解压的sql文件上传到
/root/server/bin
。
3.启动服务
1 |
|
当显示 ready.. 时表示服务端已经启动了,数据库也导入完毕了。
4.关闭服务端
进入数据库,点击auth
数据库,点击realmlist
表,双击修改address
地址为本机IP。
6.开启服务端
1.启动认证
1 |
|
重新打开一个终端,之前开启的窗口不要关闭
2.启动服务端
1 |
|
3.创建账号
1 |
|
创建一个账号 admin,密码 admin,这里服务端就开启完毕了。
7.客户端配置
打开本地的wow游戏目录,在根目录新建一个 wow.bat 文件,并在里面输入
1 |
|
这里的127.0.0.1就是本机的IP
8.自动运行
给Debian增加一个自动启动来自动运行服务,由于Debian默认没有启动rc.local文件,所以我们要自己来写一下。
1.创建服务
1 |
|
然后输入内容
1 |
|
2.设置权限
1 |
|
然后修改worldserver.conf文件里的DataDir 为 “/root/server/data”的绝对路径,否则启动会失败
1 |
|
然后修改worldserver.conf文件里的 Console.Enable 为 “0” 否则后台运行会占用100%CPU
1 |
|
3.最后启动服务
1 |
|
这样重启之后就会自动打开服务了