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文件进行分析 如下:
>> 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 用客户端进行测试。
客户端启动脚本:
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