魔兽世界 - AzerothCore + Debian 12 + MySQL 8.0 编译安装
作者: reistlin
来源: http://www.reistlin.com/blog/439
更新时间: 2023.07
版权声明: 原创文章.转载请保留作者信息和原文完整.谢绝任何方式的摘要
AzerothCore 主页:[https://www.azerothcore.org]
AzerothCore Wiki 文档:[https://www.azerothcore.org/wiki/home]
Eluna Lua Engine 主页:[https://github.com/azerothcore/mod-eluna]
Eluna Lua Engine API 文档:[https://www.azerothcore.org/pages/eluna/index.html]
一,安装 MySQL 8.0
wget https://repo.mysql.com//mysql-apt-config_0.8.29-1_all.deb -O /tmp/mysql-apt-config_all.deb
apt-get install gnupg
Debian 11
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AABBCC1122334455
Debian 12
gpg --keyserver keyserver.ubuntu.com --recv-keys AABBCC1122334455 gpg --export --armor AABBCC1122334455 | apt-key add apt-get update apt-get upgrade
dpkg -i /tmp/mysql-apt-config_all.deb
apt-get update
二,安装编译环境
apt-get install git clang cmake make gcc g++ libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev libboost-all-dev mysql-server p7zip
三,通过 alternatives 设置 clang 版本
update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100 update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang 100
四,通过 git clone 下载 AzerothCore,同时安装 mod-ah-bot 和 mod-eluna
cd /home/reistlin mkdir AzerothCore git clone https://github.com/azerothcore/azerothcore-wotlk.git --branch master --single-branch AzerothCore --depth 1 cd AzerothCore/modules git clone https://github.com/azerothcore/mod-ah-bot.git git clone https://github.com/azerothcore/mod-eluna.git
五,编译安装
cd /home/reistlin/AzerothCore mkdir build cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/home/reistlin/azerothcore/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=all -DSCRIPTS=static -DMODULES=static
make -j 8 make install
六,MySQL 设置
mysql -u root -p
DROP USER IF EXISTS 'acore'@'localhost'; CREATE USER 'acore'@'%' IDENTIFIED BY 'NEWPASSWORD'; GRANT ALL PRIVILEGES ON * . * TO 'acore'@'%'; GRANT ALL PRIVILEGES ON `acore_world` . * TO 'acore'@'%'; GRANT ALL PRIVILEGES ON `acore_characters` . * TO 'acore'@'%'; GRANT ALL PRIVILEGES ON `acore_auth` . * TO 'acore'@'%'; exit