Trinitycore学习之windows上用cmake生成vs项目并尝试在windows上启动服务

0:参考

https://trinitycore.info/en/install/requirements/windows

参考该文章安装相关的工具,主要有boost,openssl,cmake,mysql,vs2022自己电脑已经安装。

1:安装mysql

用zip进行安装的方式,使用cmke进行configure时,总是报找不到mysql的lib库和头文件,即使增加了环境变量,或许是我的zip包不对。

用msi进行mysql安装后,cmake进行configure一次成功,然后Generate生成对应的vs项目。(这里记住mysql的密码)

2:用vs2022打开对应的项目,生成对应的可执行文件。

因为上面cmake时,我的源码版本以及对应版本都是最高的vs2022.

编译正常通过,生成对应的可执行文件和配置文件:

3:把客户端地图信息Data 和Interface文件夹和相关可执行文件放在一起,用相关工具可执行文件进行生成地图信息。

分别执行 mapextractor.exe vmap4extractor.exe vmap4assembler.exe mmaps_generator.exe (比较耗时)

生成一些其他文件夹:

4:登录数据库 导入对应的sql

在计算机服务中可以看到有个MySQL80的服务已经正在运行中,服务器启动中。

msi安装后可以直接在应用中启动 MySQL 8.0 Command Line Client 登录,也可以用相关界面工具。

source F:\Trinitycore\TrinityCore\sql\create\create_mysql.sql

5:运行worldserver.exe根据报错进行处理

这里可以关注对应目录下的log文件进行分析 如下:

bash 复制代码
>> File "TDB_full_world_335.23061_2023_06_14.sql" is missing, download it from "https://github.com/TrinityCore/TrinityCore/releases" uncompress it and place the file "TDB_full_world_335.23061_2023_06_14.sql" in the directory "F:/Trinitycore/build1/bin/Release".
Could not populate the World database, see log for details.

按照提示去对应链接下载对应的7z文件,解压后,得到 DB_full_world_335.23061_2023_06_14.sql 文件放入到同级目录下。

再次运行worldserver.exe 配置数据后正常启动,进入如下页面后,创建一个用户。

启动authserver.exe,如下:

6:因为这里的配置文件都用的默认的,这里数据库默认登录也是127.0.0.1 用客户端进行测试。

客户端启动脚本:

bat 复制代码
if not exist "WTF" md "WTF"
 echo set realmlist 127.0.0.1>realmlist.WTF
 echo set realmlist 127.0.0.1>data/enGB/realmlist.WTF
 echo set realmlist 127.0.0.1>data/zhcn/realmlist.WTF
 start wow.exe
 goto end

虽然登录成功 但是无法正常开始游戏,貌似有ARC4认证问题。

不过 用ubuntu搭建服务器测试是正常的,这里只是研究一下windows上做编译研究源码,简单整理一下。 (感觉是地图信息没有正确生成)

也算是第一次研究windows上用cmake生成vs项目,简单做笔记。

太多的技术栈来源于零声学院,工作之余,跟着学个游戏相关课程进修。

推荐:https://xxetb.xet.tech/s/2W52YR

相关推荐
tadus_zeng16 小时前
Windows C++ 排查死锁
c++·windows
EverestVIP16 小时前
VS中动态库(外部库)导出与使用
开发语言·c++·windows
抛物线.20 小时前
inhibitor_tool
windows
宋冠巡21 小时前
Windows安装Docker(Docker Desktop)
windows·docker·容器
淬渊阁1 天前
windows技术基础知识
windows
niandb1 天前
The Rust Programming Language 学习 (九)
windows·rust
virelin_Y.lin1 天前
系统与网络安全------Windows系统安全(1)
windows·安全·web安全·系统安全
电星托马斯1 天前
C++中顺序容器vector、list和deque的使用方法
linux·c语言·c++·windows·笔记·学习·程序人生
麻芝汤圆1 天前
使用 MapReduce 进行高效数据清洗:从理论到实践
大数据·linux·服务器·网络·数据库·windows·mapreduce
@郭小茶1 天前
windows部署docker
windows·docker·容器