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

在这里插入图片描述

更多信息 进群了解
QQ群:756167961

一、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 启动即可

演示

在这里插入图片描述

<think>嗯,用户想搭建一个游戏私服,我得帮他理清楚步骤。首先,我需要回忆一下自己知道的关于私服的知识。搭建私服通常需要几个关键步骤,比如选择游戏、获取服务端程序、准备服务器、配置环境、设置网络等等。不过可能每个步骤里还有细节需要注意。 首先,用户可能对私服的具体流程不太清楚,所以得从头开始解释。要确定他想搭建的是哪款游戏,不同的游戏可能有不同的搭建方法。比如《魔兽世界》和《我的世界》的私服搭建步骤可能差异很大。所以第一步应该是选择游戏,然后获取对应的服务端程序。这里可能需要提醒用户注意版权问题,因为有些游戏的服务端是官方的,不允许私用,或者有法律风险。需要建议用户确保合法性,避免侵权。 接下来是准备服务器。这里可能需要解释服务器可以是本地电脑或者云服务器。如果是云服务器,比如阿里云、腾讯云,可能需要指导用户选择合适的配置,比如CPU、内存、带宽等。同时,操作系统方面,大部分服务端可能运行在Linux上,比如CentOS、Ubuntu,但也有可能在Windows上,所以需要根据游戏服务端的要求来选择。 然后配置环境,可能包括安装数据库(如MySQL、MongoDB)、运行环境(如Java、.NET Core、Python)以及依赖库。这部分需要具体到游戏服务端的需求,比如有些服务端可能需要特定的Java版本,或者某些库文件。用户如果对Linux不熟,可能需要更详细的步骤,比如如何安装软件包,如何修改配置文件。 网络配置方面,可能需要开放防火墙端口,设置端口转发,如果是本地服务器,还要考虑公网IP和动态DNS的问题。比如,如果用户在家用宽带搭建,可能没有固定公网IP,这时候需要DDNS服务。同时,安全设置也很重要,比如限制SSH访问,配置防火墙规则,防止服务器被攻击。 修改游戏参数部分,用户可能想自定义游戏内容,比如经验倍率、物品掉落等,这通常需要编辑配置文件或使用数据库工具。需要提醒用户备份原始文件,避免改错导致服务无法启动。 测试和优化部分,用户需要知道如何启动服务端,查看日志,排查错误。可能遇到依赖缺失、端口冲突、配置文件错误等问题,这时候需要耐心查看日志,逐步解决。性能优化方面,如果玩家数量多,可能需要调整服务器配置或优化服务端设置。 最后,法律风险是必须强调的,搭建私服在很多地区都是违法的,特别是如果涉及商业运营,风险更大。需要提醒用户慎重考虑,避免法律问题。 可能用户没有提到的深层需求是,他可能想和朋友一起玩,或者进行自定义游戏设置,但不太清楚技术细节和潜在风险。需要以简明易懂的步骤引导,同时提醒注意事项,确保他了解整个过程的风险和难点。</think>搭建游戏私服需要根据具体游戏的类型和架构调整步骤,但以下是通用的流程和注意事项: --- ### **一、基础准备** 1. **明确目标游戏** - 选择你想搭建的游戏(如《魔兽世界》《我的世界》《仙境传说》等),不同游戏的私服工具和技术差异较大。 2. **获取服务端程序** - 通过开源社区(如GitHub)、论坛或开发者资源获取服务端文件。 - *注意:部分游戏服务端可能涉及版权问题,需谨慎评估合法性。* 3. **准备服务器** - **本地服务器**:使用闲置电脑(需性能足够)。 - **云服务器**(推荐):选择阿里云、腾讯云等平台,配置建议: - 小型游戏:2核4GB内存,5M带宽(支持约20人)。 - 大型游戏:4核8GB以上,带宽按玩家数量调整。 - **操作系统**:根据服务端要求选择Windows Server或Linux(如Ubuntu/CentOS)。 --- ### **二、搭建步骤** 1. **部署运行环境** - 安装依赖组件: - 数据库:MySQL、Redis、MongoDB等。 - 运行环境:Java Runtime(如《Minecraft》)、.NET Framework(部分Windows端游戏)、Python或Node.js等。 - 示例(Linux): ```bash # 安装Java(以《Minecraft》为例) sudo apt install openjdk-17-jdk ``` 2. **配置服务端** - 解压服务端文件到服务器目录。 - 修改配置文件(通常为`.conf`、`.ini`或`XML`文件),设置: - 数据库连接参数(IP、用户名、密码)。 - 游戏基础规则(经验倍率、掉落率等)。 - *建议备份原始文件,避免配置错误。* 3. **数据库设置** - 创建数据库并导入服务端提供的初始SQL脚本。 - 确保服务端配置文件中数据库名称、账号密码匹配。 4. **网络与端口配置** - **开放防火墙端口**:在服务器安全组/防火墙中放行游戏所需端口(如TCP 25565用于《Minecraft》)。 - **端口转发**(仅限本地服务器):在路由器设置中将外部端口映射到服务器内网IP。 - **动态DNS**(可选):如果使用家庭宽带,可通过DDNS服务(如花生壳)绑定域名,解决动态IP问题。 --- ### **三、测试与启动** 1. **启动服务端** - 运行启动脚本(如`start.sh`或`server.exe`),观察日志输出是否正常。 - 常见问题: - 端口冲突:修改服务端配置文件中的端口号。 - 依赖缺失:根据日志提示安装对应库(如Linux下安装`libssl-dev`)。 2. **客户端连接测试** - 修改游戏客户端IP指向服务器地址(可能需要补丁或修改`hosts`文件)。 - 本地测试:使用`127.0.0.1`连接;外部玩家需通过服务器公网IP或域名连接。 --- ### **四、高级配置(可选)** 1. **自定义内容** - 修改游戏数据:通过数据库工具(如Navicat)调整物品、任务、NPC等参数。 - 添加插件/模组:部分游戏支持插件扩展(如《Minecraft》的Bukkit/Spigot)。 2. **安全加固** - 定期备份服务器数据。 - 限制SSH/RDP访问,使用密钥登录替代密码。 - 安装防护软件(如Fail2ban防暴力破解)。 3. **性能优化** - 调整服务端内存分配(如Java游戏的`-Xmx`参数)。 - 使用缓存服务(如Redis)减少数据库压力。 --- ### **五、法律与风险提示** 1. **版权风险** - 多数游戏私服属于侵权行为,尤其涉及商业盈利时可能面临法律诉讼。 - 建议仅用于学习研究或非公开测试。 2. **安全风险** - 暴露公网的服务器易受攻击,需定期更新系统和修补漏洞。 --- ### **常见游戏私服工具参考** - **《Minecraft》**:PaperMC、Spigot(需BuildTools工具编译)。 - **《魔兽世界》**:AzerothCore、TrinityCore。 - **《仙境传说》**:rAthena开源服务端。 建议在技术论坛(如GitHub、Reddit或中文社区“藏宝湾”)寻找具体游戏的详细教程。若遇到问题,可提供游戏名称进一步解答!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值