Azerothcore

Azerothcore

azerothcore debian 12

https://github.com/azerothcore/azerothcore-wotlk
https://github.com/wowgaming/client-data/releases/

dependencies

sudo apt-get update && sudo apt-get install git cmake make gcc g++ clang default-libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev mariadb-server libboost-all-dev unzip

core installation

mkdir -P azeroth-server/data  
git clone https://github.com/azerothcore/azerothcore-wotlk.git --branch master --single-branch azerothcore  
cd azerothcore  
mkdir build  
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=$HOME/azeroth-server/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=all -DSCRIPTS=static -DMODULES=static
make -j $(nproc --all)
make install
cp $HOME/azeroth-server/etc/authserver.conf.dist /home/arthas/azeroth-server/etc/authserver.conf
cp $HOME/azeroth-server/etc/worldserver.conf.dist /home/arthas/azeroth-server/etc/worldserver.conf
## change datadir inside worldserver.conf to the following data directory
cd $HOME/azeroth-server/data
wget https://github.com/wowgaming/client-data/releases/download/v16/data.zip
unzip data.zip 

database

sudo mysql_secure_installation
## First option leave blank and hit enter]
## N to switch to unix_socket authentication]
## Y to change the root password]
## Y to remove anonymous users]
## Y or N to disallow root login remotely]
## Y to remove test DB]
## Y to reload privilege tables now]
sudo mysql -u root -p
DROP USER IF EXISTS 'acore'@'localhost';
CREATE USER 'acore'@'localhost' IDENTIFIED BY 'acore' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;
GRANT ALL PRIVILEGES ON * . * TO 'acore'@'localhost' WITH GRANT OPTION;
CREATE DATABASE `acore_world` DEFAULT CHARACTER SET UTF8MB4 COLLATE utf8mb4_general_ci;
CREATE DATABASE `acore_characters` DEFAULT CHARACTER SET UTF8MB4 COLLATE utf8mb4_general_ci;
CREATE DATABASE `acore_auth` DEFAULT CHARACTER SET UTF8MB4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON `acore_world` . * TO 'acore'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON `acore_characters` . * TO 'acore'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON `acore_auth` . * TO 'acore'@'localhost' WITH GRANT OPTION;
ä change IP address in realmlist table 

services

save service file under /etc/systemd/system/

sudo systemctl enable --now authserver.service
sudo systemctl enable --now worldserver.service

modules

keeping the server up to date

cd ~/azerothcore/
sudo git pull origin master
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=$HOME/azeroth-server/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=all -DSCRIPTS=static -DMODULES=static
make -j $(nproc); make install

configs

most modules leave a config .dist file under azeroth-server/etc/modules/

cp azeroth-server/etc/modules/module.conf.dist azeroth-server/etc/modules/module.conf

transmog

.npc add 190010

npc-free-professions

.npc add 199999

npc-talent-template

.npc add 55009