AzerothCore setup - nolt/acore-lxd-image GitHub Wiki

AzerothCore installation

To install, compile and configure AzerothCore server on LXD container follow this guide.

Packages installation

  • update apt package list and install necessary packages
apt update
apt install git cmake make gcc g++ clang libssl-dev libbz2-dev libreadline-dev libncurses-dev libace-6.* libace-dev libboost-all-dev mariadb-server mariadb-client libmariadb-dev libmariadbclient-dev libmariadb-dev-compat

Database configuration

  • create new user with password, grant him access to datases with all privileges
DROP USER IF EXISTS 'acore'@'localhost';
CREATE USER 'acore'@'localhost' IDENTIFIED BY '12345678';
GRANT ALL PRIVILEGES ON *.* 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=0 -DSCRIPTS=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/v12/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
  • 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.