第一步 搭建环境,相关软件
1.1 git
用于下载源码
1.2 Boots(C++程序库)
版本 ≥ 1.74
1.3 MySQL
版本 ≥ 5.7.0
1.4 OpenSLL(安全通信库)
版本 ≥ 1.0.x
1.5 CMake(跨平台编译工具)
版本 ≥ 3.16
用于将源码,数据库,git和相关依赖等整合之后进行编译,然后调起visual studio
1.6 Visual Studio (Community)
版本 ≥ 17 (2022)
安装选择: Workloads -> Desktop & Mobile下选择 Desktop development for C++。
(桌面 > c++桌面开发)
1.7 魔兽客户端 (wlk 3.3.5)
https://www.wowdl.net/index
1.8 魔兽地图等静态资源
https://github.com/wowgaming/client-data/releases/
选择对应版本的data.zip
第二步 流程
1. 下载魔兽服务器的源码
魔兽服务端源码地址:https://github.com/azerothcore/azerothcore-wotlk
2. 创建一个魔兽总目录mywow,在mywow里面创建三个文件夹
mywow/Azerothcore 这里存放的是魔兽服务器源代码
mywow/Build 这里存放的是魔兽服务器打包后生成的软件
mywow/client_3.3.5 这里存放的是魔兽客户端软件
3. 使用cmake进行配置生成并打开魔兽服务器源码
在cmake的bin目录下找到并打开cmake-gui.exe
在cmake中选择源码目录mywow/Azerothcore,构建目录mywow/Build
然后依次点击配置,生成,打开项目,接着项目会自动在Visual Studio 2022中启动
这里面确保以上安装的软件在cmake中配置的地址都是正确的
4. 在Visual Studio中对魔兽服务器源码进行编译打包
(在Visual Studio 2022中解决方案选择RelWithDebInfo,然后找到ALL_BUILD对它右键先点击清理,再点击生成或者重新生成)
5. 打包成功之后会在mywow/server中生成相关插件
打包完在mywow/Build/bin/RelWithDebInfo目录下会有这些东西
/configs/authserver.conf.dist (负责权限相关服务)
/configs/worldserver.conf.dist (负责魔兽世界相关服务)
authserver.exe
authserver.pbd
worldserver.exe
worldserver.pdb
6. 我们还需要手动添加一些依赖和静态资源进来mywow/Build/bin/RelWithDebInfo的目录下
在OpenSSL-Win64的安装目录下,找到 libcrypto-1_1-x64.dll 和 libssl-1_1-x64.dll 复制过来
在 \MySQL\MySQL Server 5.7\lib 目录下找到 libmysql.dll 复制过来
7. 在 mywow/Build/bin/RelWithDebInfo 下新建一个目录 Data,然后将下载好的地图等资源包复制到进来
mywow/Build/bin/RelWithDebInfo/Data/Cameras/
mywow/Build/bin/RelWithDebInfo/Data/dbc/
mywow/Build/bin/RelWithDebInfo/Data/maps/
mywow/Build/bin/RelWithDebInfo/Data/mmaps/
mywow/Build/bin/RelWithDebInfo/Data/vmaps/
8. 修改配置文件
打开 mywow/Build/bin/RelWithDebInfo/configs/worldserver.conf.dist
找到 DataDir 字段
默认为 DataDir = "."
修改为 DataDir = "静态资源文件地址"
例如 DataDir = "E:\mywow\Build\bin\RelWithDebInfo\Data
9. 双击authserver.exe,运行
会生成一个Auth.log日志文件,里面是运行的日志
还会在对应的数据库中生成对应的表
10. 双击worldserver.exe,运行
会生成一个 DBErrors.log文件 和 一个 Server.log文件
DBErrors.log 存放错误的日志
Server.log 存放魔兽服务相关日志
注意:worldserver.exe 界面双击回车,会出现 AC>
这就是魔兽GM的命令行界面,在这里可以输入各种GM命令创建,删除,控制角色
11. 新建一个游戏角色
在worldserver.exe打开的命令行界面中,双击回车,出现AC> 字样
输入命令:
account create admin admin123
创建一个admin用户,密码是admin123
对应的是acore_auth库的 account表
12. 给游戏角色设置权限
输入命令:
account set gmlevel admin 3 -1
表示给用户admin设置权限为等级3,-1表示给所有领域的权限
对应的是acore_auth库的 account_access表
13. 真正完整的mywow/Build/bin/RelWithDebInfo目录下有这些东西
configs/authserver.conf.dist (权限配置文件)
configs/worldserver.conf.dist (魔兽服务配置文件)
Data/Cameras/ (静态资源)
Data/dbc/ (静态资源)
Data/maps/ (静态资源)
Data/mmaps/ (静态资源)
Data/vmaps/ (静态资源)
Auth.log (权限日志文件)
authserver.exe (权限服务启动软件)
authserver.pdb (开发调试用的东西)
DBErrors.log (错误日志)
libcrypto-1_1-x64.dll (通信功能依赖包)
libmysql.dll (数据库功能相关依赖包)
libssl-1_1-x64.dll (通信功能相关依赖包)
Server.log (魔兽服务日志)
worldserver.exe (魔兽服务启动软件)
worldserver.pdb (开发调试用的东西)
14. 启动游戏
1. 修改客户端访问的服务器地址为本地
在下载好的游戏客户端目录下,client_3.3.5\Data\enUS 找到 realmlist.wtf 文件
如果没有就新建一个,然后编辑,改为 set realmlist 127.0.0.1
作用:设置客户端访问的服务器地址,当前我们启动的本机的服务,所以设置为127.0.0.1,注意:这里不能设置为localhost
(注:由于版权问题,这里仅做单机服务器设置)
2. 启动客户端
双击 client_3.3.5\Wow.exe
使用刚才创建的账号admin 密码admin123 登陆游戏
开始你的世界