设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间22 现在时间22 缓存数据 关关难过关关过,夜夜难熬夜夜熬。万般皆苦,悲欢自渡,他人难悟。晚安!

关关难过关关过,夜夜难熬夜夜熬。万般皆苦,悲欢自渡,他人难悟。晚安!

查看: 1504|回复: 4

[巫妖王之怒] Windows 下编译 Azerothcore 源码

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:176
  • 打卡月天数:0
  • 打卡总奖励:2692
  • 最近打卡:2023-08-27 08:33:59
等级头衔

等級:晓枫资讯-上等兵

在线时间
33 小时

积分成就
威望
0
贡献
430
主题
484
精华
0
金钱
4234
积分
934
注册时间
2022-12-25
最后登录
2023-8-27

发表于 2023-1-30 15:15:54 | 显示全部楼层 |阅读模式
前言
目前魔兽世界 WLK 版本的源码主要是 TrinityCore 和 Azerothcore。
Azerothcore 脱胎于 TrinityCore,更专注于源码修复,游戏体验更好。
Azerothcore 的 Wiki 很强大,基本上跟着 Wiki 走就能顺利编译,不过国内看不了,而且是英文。
在这里,我根据 Azerothcore 的 Wiki 来给大家做个教程。
Azerothcore 编译的环境可以是 Win,也可以是 liunx,我很喜欢在 liunx 环境下搭建,因为流畅和稳定。
但鉴于大家普遍用的是 Win,那我就首先讲解下 Windows 下编译 Azerothcore 源码,之后再讲其他环境的。


环境准备
编译的系统环境很重要,否则后期会出现各种各样的 BUG,建议大家选择纯净版的 Win7 或 Win10 进行搭建。
在这里我选用的是 Win10 专业版(64 位),在 D 盘新建文件夹”eryuwow“。Azerothcore 需要的软件环境如下:


1.Git Extensions
2.Boost ≥ 1.70 – 1.74
3.MySQL ≥ 5.7.0
4.OpenSLL ≥ 1.0.x
5.CMake ≥ 3.16
6.MS Visual Studio (Community) ≥ 16.4 (2019) (Desktop) (No preview)


以上软件和系统环境补丁我都打包在了百度盘内,如果你访问不了下载链接的话,请网盘下载
链接:https://pan.baidu.com/s/1QBbgxElD_V__hHDYlqxdaw?pwd=bl88
提取码:bl88
--来自百度网盘超级会员V3的分享


Git Extensions
首先你需要下载 Git 扩展,点这里https://git-scm.com/download/win,下载后默认安装即可。


MS Visual Studio
接着下载 Visual Studio,点这里下载:https://visualstudio.microsoft.com/zh-hans/downloads/,注意下载” 社区版 “,安装时候选择开发环境为 C++:
110640ldbbdsbyxxpmwkwv.jpg


MySQL
继续下载 MySQL 社区版,点这里下载:https://dev.mysql.com/downloads/mysql/8.0.html
注意是 200 来 MB 的那个,选择”No thanks, just start my download“,下载完成后是 zip 压缩文件,
解压至 D 盘 “eryuwow“文件夹。


设置系统变量


111043fjtbgk2k52uo6x28.jpg
右键” 此电脑 “-” 属性 “,选择右边的” 高级系统设置 “,点击” 环境变量 “,
设置系统变量为 mysql 中的 bin 目录,如上图所示。
请无视截图内的 mysql-5.7.31 版本号,修改为你自己下载的版本号就行。


数据库安装
以管理员模式运行 cmd,首先依次输入:


d:
cd eryuwow
cd mysql-8.0.25-winx64  #通过cd命令到达MySQL的解压路径
mysqld --initialize-insecure --user=mysql
mysqld -install  #安装MySQL数据库
net start mysql  #启动MySQL数据库
mysql -uroot -p  #回车,弹出Enter password让你输入密码时,继续回车(第一次登陆时处于无密码状态,故跳过直接选择回车即可进入),登录MySQL
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';  #此处为修改MySQL的root密码,新密码即你自己设置的密码,不要忘记!
FLUSH PRIVILEGES;
exit;


至此,MySQL 安装完成,如果你想连接 MySQl,我常用的工具是 Navicat,请自行下载安装,连接你的 MySQL 数据库,
另外可以在 “服务” 里面找到 MySQL,可以停止或重启 MySQL。




Cmake
继续安装 Cmake,点这里https://cmake.org/download/下载,注意选择”cmake-3.21.0-windows-x86_64.msi“文件下载,安装时注意选择:


111344aynnyh3ew1qqq35d.png


OpenSSL
继续安装 OpenSSL,点这里https://slproweb.com/products/Win32OpenSSL.html下载,注意选择”Win64 OpenSSL v1.1.1k“文件下载,安装时注意选择:


111447l8zh5gyk7y5gzgay.png
如果在安装 OpenSSL 时收到 “Missing Microsoft Visual C++ 2008 Redistributable” 错误消息,
请下载 Microsoft Visual C++ 2008 Redistributable Package (x64) (1.7MB Installer) 并安装它。


Boost
继续安装 Boost:点这里https://sourceforge.net/projects ... 4.2-64.exe/download下载,
一路默认安装即可,安装完毕后,C 盘会有这个路径:C:\local\boost_1_60_0(版本号可能不同)。


环境变量里面,新建系统变量,变量名为 “BOOST_ROOT”,变量值为 C 盘安装路径,如图所示:


111620geauau4kjxuw7fff.png


至此,编译所需的软件环境安装完成。


源码编译
此部分但凡出现错误,请百度错误信息,或者检查之前环境搭建是否有误。


下载源码
进入 D 盘”eryuwow“文件夹,右键选择”Git Bash here“,弹出命令窗口,输入:
git clone https://gitee.com/gswxy/azerothcore-wotlk.git
111747zudgiiaq5nyd55vx.png


等待 Azerothcore 源码下载完成,关闭此命令框。完成后,“eryuwow” 文件夹内会有”azerothcore-wolk“的文件夹,该文件夹内是源码。


配置编译方案
1.在 D 盘”eryuwow “文件夹内新建文件夹” build“;


2.打开 Cmake,点击”Browse Source“,选择到”D:/eryuwow/azerothcore-wotlk“文件夹;


3.点击”Browse Build“,选择到”D:/eryuwow/build“文件夹;


4.点击”Configure“,选择”Visual studio 16 2019“(根据你下载安装的 Visual studio 版本来选”,其余默认,点 “Finish”,该步骤如果弹出警示框 “Error in configuration process……”,看下你 MySQL 安装了没,服务启动了没;


5.选中 Tools 后面的复选框,如图所示:


111844jddx8exybv9yxy4e.png


6.再次点击”Configure“,然后点击”Generate“,这时构建文件已全部生成在 build 文件夹内,以后如果你改了源码想重新编译,请先清空 build 文件夹;


7.选择”Open Project“,即可打开 Visual studio,开始编译源码。


编译源码
首选确保资源管理器内,选中”ALL Build“,活动解决方案配置设置为”Release“,如图所示:


112001jh25eheeaeyyeyjh.png
然后点击菜单栏 “生成”-“生成解决方案”(或直接按 F7),Visual studio 将开始编译,编译时长取决于你电脑配置,成功后会有类似提示:
========== Build: 22 succeeded, 0 failed, 0 up-to-date, 1 skipped ==========
如果有失败的(failed),请往上翻看编译日志,排查问题。编译成功的文件在 “D:\eryuwow\build\bin\Release\” 文件夹内。


地图和 DBC 提取
复制 mapextractor.exe、mmaps_generator.exe、vmap4extractor.exe、vmap4assembler.exe 四个文件到魔兽世界客户端目录内(wow.exe 所在的目录);
复制 “D:/eryuwow/azerothcore-wotlk/apps/extractor “内的” extractor.bat“文件到魔兽世界客户端目录内;
在魔兽世界客户端文件夹内创建 mmaps 和 vmaps 文件夹;
双击”extractor.bat “文件选择” 4 – Extract all“选项运行,提取时长取决于你电脑配置;
在”eryuwow “文件夹内新建” data“文件夹,将提取出来的 vmaps、maps、dbc、cameras 移动到 data 文件夹中。
数据库设置
用 Navicat 或其他工具连接你的数据库,右键数据库选择” 运行 SQL 文件 “,SQL 文件为 “D:\eryuwow\azerothcore-wotlk\data\sql\create” 的”create_mysql.sql“。


进入 “D:\eryuwow\azerothcore-wotlk\apps\db_assembler” 文件夹,右键空白处,选择 “Git Bash here”,输入:
bash db_assembler.sh


输入数字 “5” 回车,即可选择 “5) import-all: Assemble & Import all” 执行,完毕后,你会在 SQL 里看到 “acore_auth、acore_characters、acore_world” 三个数据库及里面的各种表。提示:如果你想改数据库账户密码(默认账密都为 acore),请在第一步前编辑脚本配置:


复制 “D:\eryuwow\azerothcore-wotlk\conf\dist\config.sh” 到 “D:\eryuwow\azerothcore-wotlk\conf\config.sh”;
右键编辑 “cofig.sh” 文件,这里我选择的 Notepad++ 软件进行编辑,推荐大家安装;
找到以下文件,修改我加粗的部分(acore),分别是 “acore_auth、acore_characters、acore_world” 三个数据库的账号和密码,修改成你想要的即可:


DB_AUTH_CONF=${DB_AUTH_CONF:-"MYSQL_USER='**acore**'; \
                        MYSQL_PASS='**acore**'; \
                        MYSQL_HOST='localhost';\
                        MYSQL_PORT='3306';\
                        "}
                                               
DB_CHARACTERS_CONF=${DB_CHARACTERS_CONF:-"MYSQL_USER='**acore**'; \
                        MYSQL_PASS='**acore**'; \
                        MYSQL_HOST='localhost';\
                        MYSQL_PORT='3306';\
                        "}
                                               
DB_WORLD_CONF=${DB_WORLD_CONF:-"MYSQL_USER='**acore**'; \
                        MYSQL_PASS='**acore**'; \
                        MYSQL_HOST='localhost';\
                        MYSQL_PORT='3306';\


服务器设置
复制 “configs” 文件夹和 authserver.exe 和 worldserver.exe 文件到 “eryuwow” 文件夹内;


复制 MySQL 文件夹内(MySQL\MySQL Server 8.x\lib\)的 libmysql.dll 文件到 “eryuwow” 文件夹内;


复制 OpenSSL 安装文件夹内(C:\OpenSSL-Win64\bin)的 libssl-1_1-x64.dll 和 libcrypto-1_1-x64.dll 文件到 “eryuwow” 文件夹内;


进入 “configs” 文件夹,同目录内复制 worldserver.conf.dist 和 authserver.conf.dist,然后将副本重命名为不带 .dist 扩展名的同名副本;


编辑 worldserver.conf,按以下修改:


DataDir = "data"
提示:如果前面你修改了三个数据库的密码,请修改以下两处:


①worldserver.conf
LoginDatabaseInfo     = "127.0.0.1;3306;acore;acore;acore_auth"
WorldDatabaseInfo     = "127.0.0.1;3306;acore;acore;acore_world"
CharacterDatabaseInfo = "127.0.0.1;3306;acore;acore;acore_characters"


②authserver.conf
LoginDatabaseInfo = "127.0.0.1;3306;acore;acore;acore_auth"


启动服务器
在确保 MySQL 正常运行的前提下,双击打开 “authserver.exe”,接着双击打开 “worldserver.exe”,两个窗口在服务器运行时候都不要关闭;


在 worldserver.exe 窗口内输入以下内容即可创建账号:
account create $account $password
#例如我想创建用户名为1,密码为2的账户,则输入account create 1 2


将账号提升为 GM 权限:
account set gmlevel $account #level #realmid
#例如我想将用户名为1的账户设置为最高权限的GM,则输入account set gmlevel 1 3 -1


客户端设置
在客户端文件夹内新建 bat 文件,如 “有爱魔兽.batt”,输入以下内容:
del /f /s /q D:\eryuwow\World of Warcraft\Cache  #更改为你的魔兽世界客户端路径
echo y | rd /s "Cache"
echo SET realmlist "127.0.0.1" > Data\zhTW\realmlist.wtf
echo SET realmlist "127.0.0.1" > Data\enTW\realmlist.wtf
echo SET realmlist "127.0.0.1" > Data\zhCN\realmlist.wtf
echo SET realmlist "127.0.0.1" > Data\enCN\realmlist.wtf
echo SET realmlist "127.0.0.1" > Data\enUS\realmlist.wtf
echo SET realmlist "127.0.0.1" > realmlist.wtf
start wow.exe
goto end


双击运行打开魔兽世界,尽情玩耍吧!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
20
积分
20
注册时间
2022-12-27
最后登录
2022-12-27

发表于 2023-1-30 15:17:17 | 显示全部楼层
感谢楼主分享~~~~~
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
19
积分
18
注册时间
2022-12-27
最后登录
2022-12-27

发表于 2024-8-23 09:13:11 | 显示全部楼层
顶顶更健康!!!
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
14
积分
8
注册时间
2022-12-24
最后登录
2022-12-24

发表于 2024-11-9 00:27:15 | 显示全部楼层
路过,支持一下
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
17
积分
14
注册时间
2022-12-28
最后登录
2022-12-28

发表于 2025-8-2 12:19:00 | 显示全部楼层
感谢楼主分享。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
3楼
4楼
5楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表