1、Windows下编译并搭建AzerothCore服务端

服务器 0

目录

  • 前言
  • 一、AzerothCore下载
  • 二、mysql安装
  • 三、boost安装
  • 四、OpenSSL安装
  • 五、CMake下载
  • 六、CMake编译
    • 1 - CMake生成vs项目
    • 2 - vs项目设置
    • 3 - 生成解决方案
    • 4 - 安装AzerothCore
    • 5 - 添加账号
    • 6 - 修改服务器名称
    • 7 - 修改客户端的服务器地址

前言

  • 客户端对应版本:魔兽世界3.3.5a(12340)客户端

一、AzerothCore下载

  • AZerothCore官网:https://github.com/azerothcore
  • AZerothCore源码:https://github.com/azerothcore/azerothcore-wotlk
    • 下载后解压出来去掉后面的master
    • 同级目录新建目录build
      在这里插入图片描述

二、mysql安装

  • mysql官网:https://www.mysql.com/
  • mysql-8.0.32-winx64.zip:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.32-winx64.zip
  • 下载后解压:进入解压后的文件夹创建data目录,并添加my.ini文件(自行修改basedir和datadir配置),内容如下
    在这里插入图片描述
[mysqld]# 设置3306端口port=3306# 设置mysql的安装目录   ---是你的文件路径---basedir=C:/develop_env/mysql# 设置mysql数据库的数据的存放目录  ---是你的文件路径data文件夹自行创建---datadir=C:/develop_env/mysql/data# 允许最大连接数max_connections=200# 允许连接失败的次数。max_connect_errors=10# 服务端使用的字符集默认为utf8mb4character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB# 默认使用“mysql_native_password”插件认证#mysql_native_passworddefault_authentication_plugin=mysql_native_password[mysql]# 设置mysql客户端默认字符集default-character-set=utf8mb4[client]# 设置mysql客户端连接服务端时默认使用的端口port=3306default-character-set=utf8mb4
  • 以管理员身份启动cmd进入mysql的bin目录下
    • 安装mysql服务:mysqld --install
    • 初始化:mysqld --initialize --console -> 会产生一个随机密码,复制root@localhost:之后的这段随机密码并保存(后面要用到)【Y66Mnja&c?Re】
    • 启动mysql服务器:net start mysql
    • 验证MySQL服务是否安装成功:输入mysql -u root -p,此时输入之前赋值的随机密码
    • 修改密码:
      • ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
      • FLUSH PRIVILEGES;
        在这里插入图片描述
  • 环境变量配置:在系统变量path中添加环境变量C:/develop_env/mysql/bin
    在这里插入图片描述

三、boost安装

  • boost下载:https://sourceforge.net/projects/boost/files/boost-binaries/1.81.0/
  • boost安装:直接默认安装即可
  • boost环境变量设置:系统变量中添加变量名BOOST_ROOT,变量值为boost的安装路径C:/local/boost_1_81_0
    在这里插入图片描述

四、OpenSSL安装

  • OpenSSL下载:https://slproweb.com/products/Win32OpenSSL.html

在这里插入图片描述

  • OpenSSL安装:一路next,最后一步去掉勾选即可,Finish
    在这里插入图片描述

五、CMake下载

  • CMake官网地址:https://cmake.org/
  • CMake官网下载地址:https://cmake.org/download/
  • CMake3.25.3:选择自己系统对应的版本,这里我选择 -> Windows x64 Installer -> cmake-3.25.3-windows-x86_64.msi
    在这里插入图片描述
  • CMake安装
    在这里插入图片描述

六、CMake编译

1 - CMake生成vs项目

在这里插入图片描述

  • 第一次报错
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2 - vs项目设置

  • 使用vs2022打开之前新建build目录下的.sln
    • 生成 -> 配置管理器
    • 活动解决方案配置选择“RelWithDebInfo”,关闭

在这里插入图片描述
在这里插入图片描述

  • 生成前设置项目堆内存:右键ALL_BUILD -> 调试 -> 命令后面添加-Zm1000
    • 不设置可能出现错误
      • error C3859: 未能创建 PCH 的虚拟内存
      • fatal error C1076: 编译器限制: 达到内部堆限制
        在这里插入图片描述

3 - 生成解决方案

  • 解决方案选择ALL_BUILD:先清理,后生成,等待生成完成
    • 生成路径 -> C:/develop_project/cpp_project/build/bin/RelWithDebInfo
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

4 - 安装AzerothCore

  • 新建目录:AzerothCoreServer

  • 拷贝bin/RelWithDebInfo目录下文件到AzerothCoreServer目录

    • 需要拷贝的文件:configs、authserver.exe、dbimport.exe、worldserver.exe
      在这里插入图片描述
  • 复制mysql的lib目录下libmysql.dll到AzerothCoreServer目录
    在这里插入图片描述

  • 复制OpenSSL的文件到AzerothCoreServer目录:需要复制的文件 -> libcrypto-1_1-x64.dll、libssl-1_1-x64.dll
    在这里插入图片描述

  • 使用数据库查询工具连接mysql
    在这里插入图片描述

  • 打开C:/develop_project/cpp_project/azerothcore-wotlk/data/sql/create/create_mysql.sql:修改密码(自定义即可)
    在这里插入图片描述

  • 刷入create_mysql.sql:可以看到新增3个数据库
    在这里插入图片描述

  • 打开AzerothCoreServer/configs:去掉3个文件的.dist结尾
    在这里插入图片描述

  • authserver.conf修改数据库密码:记事本打开搜索LoginDatabaseInfo,将密码修改为之前自定义修改的密码
    在这里插入图片描述

  • dbimport.conf修改数据库密码:记事本打开搜索LoginDatabaseInfo,将密码修改为之前自定义修改的密码
    在这里插入图片描述

  • worldserver.conf修改数据库密码:记事本打开搜索LoginDatabaseInfo,将密码修改为之前自定义修改的密码
    在这里插入图片描述

  • 提取客户端文件

    • 拷贝build/bin/RelWithDebInfo目录下的4个文件到游戏客户端的根目录下 -> map_extractor.exe、mmaps_generator.exe、vmap4_assembler.exe、vmap4_extractor.exe
    • 拷贝azerothcore-wotlk/apps/extractor目录下的extractor.bat到游戏客户端的根目录下
    • 客户端根目录下新建2个目录mmaps和vmaps
    • 运行extractor.bat,选择选项4 Extract all -> 按任意键继续
      在这里插入图片描述
      在这里插入图片描述
  • 复制提取的文件到AzerothCoreServer的data目录

    • 在AzerothCoreServer下新建data目录
    • 将游戏客户端下的maps、mmaps、vmaps、Cameras、dbc目录剪切到AzerothCoreServer/data的目录下
    • 指定datadir:打开AzerothCoreServer/configs/worldserver.conf,搜索datadir修改为data
      在这里插入图片描述
      在这里插入图片描述
  • 运行authserver.exe
    在这里插入图片描述

  • 运行worldserver.exe:第一次启动会比较久
    在这里插入图片描述

5 - 添加账号

  • 添加账号:worldserver启动完毕后,回车就可以看到AC>
    • 输入account create admin 123456 添加账号
    • 添加admin为gm权限account set gmlevel 3 -1 -> 3代表为最高的gm权限,-1代表是所有服务器
    • 这时候回到数据库acore_auth查看表account可以看到已经有admin的账号了
      在这里插入图片描述
      在这里插入图片描述

6 - 修改服务器名称

  • 修改服务器列表:realmlist,默认为AzerothCore,自定义修改名称
  • address:如果是本机的话地址修改为本机的局域网地址,如果是云服务器上的话就修改为云服务器的地址
    在这里插入图片描述
  • 修改完成后,关闭authserver和worldserver并重启
    在这里插入图片描述

7 - 修改客户端的服务器地址

  • 打开/World of Warcraft 3.3.5a.12340 zhCN/Data/zhCN/realmlist.wtf:修改ip地址为刚才数据库配置的服务器ip地址
set realmlist 192.168.252.50
  • 启动客户端的wow.exe:至此搭建完成
    在这里插入图片描述

也许您对下面的内容还感兴趣: