ubuntu22使用TrinityCore搭建魔兽世界服务器

发布于:2025-04-10 ⋅ 阅读:(54) ⋅ 点赞:(0)

在这里插入图片描述

一、Ubuntu22工具下载

下载所有需要的工具

sudo apt-get update
sudo apt-get install git clang cmake make gcc g++ libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev libboost-all-dev mysql-server-8.0 p7zip

修改编译器

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

找一个目录创建2个文件夹

# 用 document 这个文件夹作为根文件夹
cd document
# 创建2个文件夹
mkdir client3.3.5
mkdir server3.3.5

二、服务端编译配置

1. 从 git 上拉取服务端代码

从下面地址进行下载
GitHub下载地址:https://github.com/TrinityCore/TrinityCore.git

可以直接使用 git 命令下载

# 进入 document 文件夹
cd document
git clone -b 3.3.5 https://github.com/TrinityCore/TrinityCore.git

# 此时有三个文件夹
TrinityCore
client3.3.5
server3.3.5

2. 编译客户端

进入客户端目录

cd TrinityCore
mkdir build
cd build 
cmake .. -DCMAKE_INSTALL_PREFIX=/home/user/document/server3.3.5
# 此时 build 文件夹里面就会生成一系列文件
make
make install
# 上面两步会非常耗时,等着就行,然后 server3.3.5 文件夹下就会生成 bin 和 etc 文件夹
cd /home/user/document/server3.3.5/
mkdir data
#data 文件夹用来存放客户端提取的地图数据,等下再用。此时server3.3.5 文件夹下有 3个文件夹
#分别是 bin 、etc、data

3. 修改配置文件

备份配置文件

cp /home/user/document/server3.3.5/etc/worldserver.conf.dist /home/user/document/server3.3.5/etc/worldserver.conf
cp /home/user/document/server3.3.5/etc/authserver.conf.dist /home/user/document/server3.3.5/etc/authserver.conf

修改 worldserver.conf
将它里面的 DataDir = “.” 修改为 DataDir = “…/data”

4. 加载sql语句

这的mysql需要配置,参考另一篇文章:ubuntu使用apt安装mysql8
安装配置完成后 mysql 是能够正常登录使用的

#登录mysql后输出如下语句,创建数据库
source /home/user/document/TrinityCore/sql/create/create_mysql.sql
#建表
use auth;
source /home/user/document/TrinityCore/sql/base/auth_database.sql
use characters;
source /home/user/document/TrinityCore/sql/base/characters_database.sql 

5. 下载客户端

链接:https://pan.baidu.com/s/1jVQ4qoJ4qGNDHOBUzicIjg 提取码:imbo

进入client3.3.5 解压上面下载的压缩包
进入到解压目录
执行以下命令提取客户端地图数据

#1.执行命令,会生成dbc maps 文件夹
/home/user/document/server3.3.5/bin/mapextractor
# 将生成的文件夹拷贝到之前的data文件夹中
cp -r dbc maps /home/user/document/server3.5.5/data

/home/user/document/server3.3.5/bin/vmap4extractor
#2.在解压目录里创建一个vmaps文件夹
mkdir vmaps
# 生成数据
/home/user/document/server3.3.5/bin/vmap4assembler Buildings vmaps
# 移动文件夹到data文件夹中
cp -r vmaps /home/user/document/server3.3.5/data

#3.mkdir mmaps
/home/user/document/server3.3.5/bin/mmaps_generator
cp -r mmaps /home/user/document/server3.3.5/data

修改 auth 库里面的 realmlist 表 中的数据

这里address是服务器运行的地址,需要修改

在这里插入图片描述

6. 下载必要sql文件

在下面 启动 world 服务 的时候会报错缺少sql,所以咱们可以提前下载,如果不是下的我这个版本,那就等报错了再下吧

#启动 world 时报错如下,需要根据报错的文件对应下载,不要下成其他版本的sql了
File "TDB_full_world_335.24111_2024_11_22.sql" is missing,
download it from "https://github.com/TrinityCore/TrinityCore/releases" 
uncompress it and place the file "TDB_full_world_335.24111_2024_11_22.sql"

把下载好的sql文件放到 server3.3.5/bin 文件夹下

三、客户端连接配置

在windows中下载客户端并解压,找到 Wow.exe所在文件夹,创建脚本
init_connect.bat,内容如下:

#ip对应上面realmlist中的address
 
echo y | rd /s "Cache"
echo SET realmlist "192.168.1.11" > Data\zhTW\realmlist.wtf
echo SET realmlist "192.168.1.11" > Data\enTW\realmlist.wtf
echo SET realmlist "192.168.1.11" > Data\zhCN\realmlist.wtf
echo SET realmlist "192.168.1.11" > Data\enCN\realmlist.wtf
echo SET realmlist "192.168.1.11" > Data\enUS\realmlist.wtf
echo SET realmlist "192.168.1.11" > realmlist.wtf
start Wow.exe

四、游戏启动

连接Ubuntu22 ,打开两个窗口分别启动 auth 和world

cd /home/user/document/server3.3.5/bin
# 启动auth 服务
./authserver -c ../etc/authserver.conf
# 启动 world 服务
./worldserver -c ../etc/worldserver.conf

然后回到windows. 双击 init_connect.bat 启动即可


网站公告

今日签到

点亮在社区的每一天
去签到