您的位置:首页 >> 电脑技术 >> TrinityCore游戏后台搭建 — 安装TrinityCore
TrinityCore游戏后台搭建 — 安装TrinityCore
[ 孤狼 | 2020-07-01 14:03:28 | 电脑技术 | 374°C | 1条评论 ]

我们安装完Debian系统和LNMP环境之后,就要开始安装主角TrinityCore了。过程很长,需要仔细操作。在操作的过程中,一个环节结束之后一定要记得备份快照,不然后面环节毁掉前面努力的过程也是常有的,另外如果你的硬盘空间不足至少60GB,这里就不要继续了,后期解压地图时会占满硬盘。

安装TrinityCore


准备软件

1.WOW客户端    (文末下载)

2.WinSCP           (文末下载)


开始

打开Putty登录root总管理员账户

输入 apt-get update 


输入编译环境安装命令

apt-get install git clang cmake make gcc g++ libmariadbclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev libboost-all-dev p7zip default-libmysqlclient-dev

安装完成之后输入

update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang 100

接下来我们要Git获取TrinityCore 这个下载的时间比较长

git clone -b 3.3.5 git://github.com/TrinityCore/TrinityCore.git


下载完成之后依次输入

cd TrinityCore
mkdir build
cd build

接下来我们就要准备编译文件,输入

cmake ../ -DCMAKE_INSTALL_PREFIX=/home/wow/server -DTOOLS=1

接着就是编译服务器服务,有2种方式来编译。

第一种是傻瓜式,直接输入 make&&make install  开始编译,这种速度一般。

第二种是利用全核心CPU  make -j 线程数 install  这里线程数要改成自己CPU的线程数,这样可以全核心进行编译。如果你不懂,那就输入上面的命令,只是慢一点。



完成之后关机创建快照备份


上传客户端到服务器

打开WinSCP,主机名就写虚拟机的IP


警告框选”是“


然后登录,账户登录总管理员的root


登录后就看到了服务器文件。

我们切换到 home 目录下就可以找到魔兽世界的服务端 server 文件夹了。


切换到 root 文件夹下,注意看上面的地址栏里的地址是否一致,也可以直接在地址栏输入 /root 来切换。我们新建一个文件夹 wow335 ,设置权限 777 


然后把客户端里的data文件夹和根目录下的其他文件上传,其他几个文件夹不用上传。



完成之后关机创建快照备份 


提取地图

上传完成之后我们开始提取地图。

注意:以下3步前后顺序不可逆,必须按顺序提取。如一步失败,需要删除这步产生的文件重头提取,否则会进入0%死循环。

打开 Putty 输入 cd ~/wow335 进入客户端目录,wow335就是我们刚才新建的客户端目录。

输入地图提取命令,注意命令中的 wow 不同的机器可能会出现变化,根据你上面编译服务器目录为准。若不一致,后续命令中wow都需要替换。

/home/wow/server/bin/mapextractor

接着系统就会自动提取客户端地图文件


完成之后依次输入命令

mkdir /home/wow/server/data
cp -r dbc maps /home/wow/server/data

接着输入提取命令

/home/wow/server/bin/vmap4extractor


完成之后依次输入,开始编译地图

mkdir vmaps
/home/wow/server/bin/vmap4assembler Buildings vmaps


编译完成之后输入

cp -r vmaps /home/wow/server/data

然后接着输入命令

mkdir mmaps
/home/wow/server/bin/mmaps_generator

注意:这次提取是整个大地图提取,时间很长视机器情况30~120分钟不等


提取完成之后输入

cp -r mmaps /home/wow/server/data

这步结束之后,可以通过WinSCP登录进去把/home/wow/server/data里的文件下载到本地备份一份,不然以后丢失损坏还要再来一次。 


完成之后关机创建快照备份 


设置服务端

接着打开WinSCP,地址栏里输入 /home/wow/server/etc 回车进入。然后把里面的2个文件下载下来。


authserver.conf.dist 重命名为 authserver.conf ,然后再上传到 /home/wow/server/etc

worldserver.conf.dist 重命名为 worldserver.conf ,然后用记事本或编辑器打开修改

DataDir 的值改为“../data”,然后保存,也上传到 /home/wow/server/etc




设置数据库

接下来我们来创建数据库,打开浏览器访问虚拟机IP地址,然后点击phpmyadmin


登录界面里输入用户名 root 密码就是你数据库的密码


进来之后点击上面的SQL按钮,然后输入以下代码

CREATE USER 'trinity'@'localhost' IDENTIFIED BY 'trinity' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;
GRANT USAGE ON * . * TO 'trinity'@'localhost';
CREATE DATABASE `world` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE `characters` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE `auth` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON `world` . * TO 'trinity'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON `characters` . * TO 'trinity'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON `auth` . * TO 'trinity'@'localhost' WITH GRANT OPTION;


输入完之后点击右下角的执行按钮


刷新一下页面我们就能看到新加的数据库了。


接着访问 https://github.com/TrinityCore/TrinityCore/releases 下载最新的335数据库(文末提供目前最新的数据20200630)


压缩包解压后可以得到一个几百兆的sql文件,这就是魔兽世界里的数据了

打开WinSCP,地址栏里输入 /home/wow/server/bin 回车进入。然后把刚才解压的sql文件上传上去。


依次输入

cd /home/wow/server/bin
./worldserver

当显示 ready.. 时表示服务端已经启动了,数据库也导入完毕了。

输入命令关闭服务端

server shutdown 1

进入phpmyadmin查看数据库,点击auth数据库,点击realmlist表,双击修改address地址为虚拟机IP。


接着输入命令开启防火墙端口

iptables -A INPUT -p tcp --dport 3724 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 3724 -j ACCEPT
iptables -A INPUT -p tcp --dport 8085 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 8085 -j ACCEPT
iptables -A INPUT -p tcp --dport 1119 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1119 -j ACCEPT
iptables -A INPUT -p tcp --dport 8081 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 8081 -j ACCEPT


开启服务端

输入命令启动账户服务

cd /home/wow/server/bin
./authserver


重新打开一个putty登录root账户,之前开启账户服务的窗口不要关闭

输入命令启动游戏服务端

cd /home/wow/server/bin
./worldserver


启动成功之后输入

account create admin admin

创建一个账号 admin,密码 admin

这里服务端就开启完毕了。



客户端配置

打开本地的wow游戏目录,在根目录新建一个 wow.bat 文件,并在里面输入

echo y | rd /s "Cache"
echo SET realmlist "192.168.0.201" > Data\zhTW\realmlist.wtf
echo SET realmlist "192.168.0.201" > Data\zhCN\realmlist.wtf
echo SET realmlist "192.168.0.201" > Data\enCN\realmlist.wtf
echo SET realmlist "192.168.0.201" > Data\enUS\realmlist.wtf
echo SET realmlist "192.168.0.201" > realmlist.wtf
start wow.exe
goto end

这里的IP就是虚拟机的IP

如果你的wow客户端是大于12340版本的,需要下载替换wow.exe文件将版本降低到12340。(文末下载)  


运行wow.bat文件即可打开游戏,输入刚才创建的账号即可登录



到这里,TrinityCore搭建就已经结束了,不过因为数据库是英文的,所以里面的任务简介也是英语的,可以打中文任务数据库补丁包即可,全部打在world数据库里。


2020/07/08 更新

给Debian增加一个自动启动来自动运行服务,由于Debian默认没有启动rc.local文件,所以我们要自己来写一下。

输入命令

vi /etc/rc.local

然后输入内容

#!/bin/sh -e
sleep 5
nohup /home/wow/server/bin/authserver > /dev/null 2>wow_auth.log &
nohup /home/wow/server/bin/worldserver > /dev/null 2>wow_world.log &
exit 0

然后给脚本设置权限

chmod 777 /etc/rc.local

然后修改worldserver.conf文件里的DataDir 为 "/home/wow/server/data"的绝对路径,否则启动会失败

DataDir = "/home/wow/server/data"

然后修改worldserver.conf文件里的 Console.Enable  为 "0" 否则后台运行会占用100%CPU

Console.Enable=0

最后启动服务

systemctl enable rc.local
systemctl start rc.local

这样重启之后就会自动打开服务了






相关下载

WOW 3.3.5 12340 台服

下载地址:  密码:uiq5


WOW 3.3.5 13570 国服

下载地址:  密码:c82m


TrinityCore-3.3.5  git失败可以用这个包直接安装 

下载地址:  密码:jova

下载地址:  密码:4s2v


3.3.5 数据库

下载地址:  密码:fo0p

下载地址:  密码:2jb3


WinSCP

下载地址:  密码:8py9

下载地址:  密码:v4kgea

下载地址:  密码:9w7n


12340 wow.exe替换文件

下载地址:  密码:98ni

下载地址:  密码:2h974j

下载地址:  密码:jvir


中文任务数据库补丁(仅汉化部分)

下载地址:  密码:dhdj

下载地址:  密码:q2xfgk

下载地址:  密码:m1s6


Github上一个开源的注册页

下载地址:  密码:xyw6

下载地址:  密码:300a


转载请注明出处:http://gl.paea.cn/n.php?n=151
 
如您看得高兴,欢迎随意投喂,让我们坚持创作!
赞赏一个鸡腿
小瓜• 2020年07月14日 16:34来自:北京市 的朋友
阿里云买的ess服务器硬盘容量默认只有40GB能直接本地编译好直接复制吗?不然太占空间了
建议服务器编译还是在真实服务器做,40GB足够的,编译好之后,上传虚拟机里提取的地图即可.主要是地图提取占空间
综合 · 搜索