AzerothCore setup - nolt/acore-lxd-image GitHub Wiki
AzerothCore installation
To install, compile and configure AzerothCore server on LXD container follow this guide.
WARNING: Some screenshots can be outdated!
Packages installation
- update apt package list and install necessary packages
apt update
apt install clang cmake g++ gcc gdb git libboost-all-dev libbz2-dev libmysqlclient-dev libncurses-dev libreadline-dev libssl-dev make mysql-server screen unzip
apt clean
Database configuration
- create new user with password, grant him access to databases with all privileges
DROP USER IF EXISTS 'acore'@'localhost';
CREATE USER 'acore'@'localhost' IDENTIFIED BY '12345678' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;
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;
FLUSH PRIVILEGES;
\quit
AzerothCore setup
- AC sources download; sources will be placed in "/usr/src" directory
cd /usr/src/
git clone https://github.com/azerothcore/azerothcore-wotlk.git --branch master --single-branch azerothcore
- go to downloaded sources
cd azerothcore/
- copy database installation config file "config.sh" and modify password for mysql user (if you created non default user for the database, change user in this file too)
cp -av conf/dist/config.sh conf/
vim conf/config.sh
- run "db_assambler.sh" script and chose "5) import-all" option, database will be created and populated automatically (default - three database will be created "acore_auth", "acore_characters", "acore_world")
(this process will take a while) - prepare AzerothCore server sources
- create build directory, go to it and run "cmake" command; installation directory of AzorethCore will be placed in "/opt/azeroth-server"
mkdir build && cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/opt/azeroth-server/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=all -DSCRIPTS=static -DMODULES=static
- compile and build binaries (-j NUMBER_OF_CPU_CORES)
(this process will take a while it depends on your hardware specs)
make -j 8 && make install
- client data download
cd /opt/azeroth-server/
mkdir data && cd data
wget https://github.com/wowgaming/client-data/releases/download/v16/data.zip
- unzip downloaded file
unzip data.zip
- copy AzerothCore server configuration files and modify password to mysql user (and if needed user itself); change path to your "data" folder
cd ../etc/
cp -av authserver.conf.dist authserver.conf
cp -av worldserver.conf.dist worldserver.conf
- edit authserver.conf
vim authserver.conf
- edit worldserver.conf
vim worldserver.conf
- check container IP address
ip a
- replace default IP adress to your container IP adress in "auth" database
mysql acore_auth -u acore -p
select * from realmlist;
update realmlist set address='CONTAINER_IP_ADDRESS';
Run AzerothCore server
To manage your AzerothCore server (start, stop and restart) you can use restarter:
-
acore-linux-restarter
or run it manually as described below -
go to bin directory and run new tmux session (in this example session will be called ac)
cd ../bin/
tmux new -s ac
- open two panes key combination "Ctrl+b %"
in first run- ./authserver
swap to second pane with "Ctrl+b o" or "Ctrl+b left/right" key combination and run - ./worldserver
- ./authserver
- to detach from tmux session use "Ctrl+b d"
- to attach again to "ac" session type in terminal
tmux a -t ac
Congratulation! Your AzerothCore server is runing on LXD container.
Remember to change IP in your game client.