221 lines
4.9 KiB
Markdown
221 lines
4.9 KiB
Markdown
# Guide on getting a private WoW server running
|
|
|
|
This is the documentation to create a World of Warcraft server.
|
|
|
|
**The VM has to have a minimum of 3 cores, 50 gig of storage and 4 gig of memory not less**
|
|
|
|
**You will set the number of cores during the make steps**
|
|
|
|
# Setting up the Server
|
|
|
|
# Core Installation
|
|
|
|
* Log into server using putty.
|
|
* Create a user names acore with pw acore
|
|
```
|
|
sudo adduser newuser
|
|
```
|
|
* Then add them to the sudo group
|
|
```
|
|
sudo usermod -aG sudo newusername
|
|
```
|
|
* Install the needed packages
|
|
```
|
|
sudo apt-get update && sudo apt-get install git cmake make gcc g++ clang libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev mysql-server libboost-all-dev unzip
|
|
```
|
|
* Install Mysql
|
|
```
|
|
export MYSQL_APT_CONFIG_VERSION=0.8.33-1
|
|
```
|
|
* Download the latest Mysql Repository
|
|
```
|
|
wget https://dev.mysql.com/get/mysql-apt-config_${MYSQL_APT_CONFIG_VERSION}_all.deb
|
|
```
|
|
* Configure the install directory
|
|
```
|
|
echo $HOME
|
|
export AC_CODE_DIR=$HOME/azerothcore
|
|
```
|
|
* Clone the Github
|
|
```
|
|
git clone https://github.com/azerothcore/azerothcore-wotlk.git --branch master --single-branch $AC_CODE_DIR
|
|
```
|
|
* Create a direstory named build to keep things organized
|
|
```
|
|
cd $AC_CODE_DIR
|
|
mkdir build
|
|
cd build
|
|
```
|
|
* Configure for compiling
|
|
```
|
|
cmake ../ -DCMAKE_INSTALL_PREFIX=$AC_CODE_DIR/env/dist/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=all -DSCRIPTS=static -DMODULES=static
|
|
```
|
|
* You need to set a variable for the number of cores need for the "make" step. This ensures you do not run out of memory.
|
|
First check to make sure you have the correct amount of cores on the machine
|
|
```
|
|
nproc --all
|
|
```
|
|
Then set the VARIABLE to the max numer.
|
|
|
|
!NOTE
|
|
See above important message regaring server requierments.
|
|
|
|
* This will set a varibale to the number of cores a min. of 3.
|
|
|
|
```
|
|
export BUILD_CORES=`nproc | awk '{print $1 - 1}'`
|
|
```
|
|
|
|
|
|
* Run the make install commands (note: this will take awhile)
|
|
```
|
|
make -j$BUILD_CORES
|
|
make install
|
|
```
|
|
|
|
# Server Setup
|
|
* Go to the directory /azerothcore/env/dist/bin
|
|
* You must do the above step to ensure the zip file goes into the correct place.
|
|
* Download the data.zip file with the game files in it.
|
|
```
|
|
wget https://github.com/wowgaming/client-data/releases/download/v19/Data.zip
|
|
```
|
|
* Unzip the zile in the same folder it is in
|
|
```
|
|
unzip Data.zip
|
|
```
|
|
* Get the worldserver.conf and authserver.conf from the direstory /env/dist/etc/
|
|
|
|
You need to change the name of them, in the directory they are called worldserver.conf.dist and authserver.conf.dist
|
|
|
|
You open them in nano and write out, save by taking off the .dist extenstion
|
|
|
|
```
|
|
nano worldserver.conf.dist
|
|
nano authserver.conf.dist
|
|
```
|
|
|
|
# Database Installation
|
|
|
|
* Go to the following directory
|
|
|
|
/azerothcore/data/sql/create
|
|
|
|
run this file thats located in the directory using this command
|
|
```
|
|
sudo mysql < create_mysql.sql
|
|
```
|
|
|
|
* Go to the following directory
|
|
|
|
/azerothcore/env/dist/bin
|
|
|
|
run the batch files to start the auth and world server
|
|
!NOTE Once they are up and running stop them using the command ``` ctr+c ```
|
|
run the auth stop it and then the world and stop it
|
|
```
|
|
./authserver
|
|
|
|
./worldserver
|
|
```
|
|
|
|
# Networking
|
|
|
|
* Set the ip address of the machine in the MySql database
|
|
|
|
Run the following commands in order
|
|
|
|
```
|
|
sudo mysql
|
|
|
|
use acore_auth;
|
|
|
|
UPDATE realmlist SET address = ' IP of machine 192.168.*.*' WHERE id = 1;
|
|
|
|
exit
|
|
```
|
|
|
|
# Time to start the server
|
|
|
|
* You need to create a screen session for each server auth and world
|
|
|
|
* Starting auth server
|
|
|
|
```
|
|
screen -S auth
|
|
./authserver
|
|
[CTRL+a] then "d"
|
|
```
|
|
```
|
|
screen -S world
|
|
./worldserver
|
|
[CTRL+a] then "d"
|
|
```
|
|
|
|
* *Screen* commands
|
|
|
|
to create a screen session
|
|
```
|
|
screen -S (name of screenseesion you are creating)
|
|
```
|
|
|
|
to get out of a screen session
|
|
```
|
|
[CTRL+a] then "d"
|
|
```
|
|
|
|
to list all the screen session that are running
|
|
```
|
|
screen -ls
|
|
|
|
```
|
|
|
|
to reattach to an exisitng screen session
|
|
```
|
|
screen -r (name of of screen session)
|
|
```
|
|
|
|
|
|
# To add a user into the database for players access to the game
|
|
|
|
|
|
* To create an account
|
|
|
|
```
|
|
account create <user> <pass>
|
|
```
|
|
|
|
* to set account security level
|
|
|
|
```
|
|
account set gmlevel <user> <level> <realm>
|
|
```
|
|
NOTE! Realm will be -1 always
|
|
|
|
You can grant different levels of account security please see table below, 0 is regular player 3 is admin
|
|
|
|
|
|

|
|
|
|
|
|
#
|
|
|
|
|
|
# Client configuration
|
|
|
|
* Navagate to the folder in the WOW WOLK Client folder
|
|
|
|
\Wrath of the Lich King\Data\enUS
|
|
|
|
locate the file named realmlist.wtf
|
|
|
|
open in notepad and change the set realmlist *server Ip 192.168.*.*
|
|
|
|
|
|
# Run and log in
|
|
|
|
|
|
|
|
|
|
|