電腦硬件要求
CPU雙核以上箱蝠,內(nèi)存2G以上,交換分區(qū)4G以上垦垂,硬盤20G以上抡锈。
編譯服務(wù)器程序
$ sudo apt-get install git cmake make gcc g++ clang libmariadbclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev mariadb-server libace-6.* libace-dev
$ git clone https://github.com/azerothcore/azerothcore-wotlk.git azerothcore
$ cd azerothcore
$ mkdir build
$ cd build
$ mkdir -p /home/$USER/azeroth-server
$ cmake ../ -DCMAKE_INSTALL_PREFIX=/home/$USER/azeroth-server/ -DTOOLS=0 -DSCRIPTS=1
$ make -j 2
$ make install
如果需要幻化師,還需要在編譯之前加入
$ cd azerothcore/modules
$ git clone https://github.com/azerothcore/mod-transmog.git
修改配置文件
$ cd /home/$USER/azeroth-server/etc
$ cp authserver.conf.dist authserver.conf
$ cp worldserver.conf.dist worldserver.conf
修改authserver.conf
和worldserver.conf
里面mysql的連接內(nèi)容
LoginDatabaseInfo = "127.0.0.1;3306;root;your_password;auth"
WorldDatabaseInfo = "127.0.0.1;3306;root;your_password;world"
CharacterDatabaseInfo = "127.0.0.1;3306;root;your_password;characters"
其中root
是數(shù)據(jù)庫用戶名乔外,your_password
是登陸數(shù)據(jù)庫的密碼。
修改worldserver.conf
里的DataDir路徑
DataDir = "/home/$USER/azeroth-server/data"
創(chuàng)建數(shù)據(jù)文件夾
mkdir /home/$USER/azeroth-server/data
下載數(shù)據(jù)包https://mega.nz/#!utg3hKJL!TtSzcWxVkvxF4HJvor8LFWhrBwwpH2pHpI-xHGr-HZo一罩,解壓后杨幼,把里面四個文件夾復(fù)制到data目錄
cp -r dbc maps mmaps vmaps /home/$USER/azeroth-server/data/
數(shù)據(jù)庫
創(chuàng)建數(shù)據(jù)庫
$ sudo mysql_secure_installation ##添加root密碼,按Y回車聂渊。
$ mysql -u root -p
$ passwd:
>CREATE DATABASE world;
>CREATE DATABASE characters;
>CREATE DATABASE auth;
>\q
生成數(shù)據(jù)表
$ cd ~/azerothcore/apps/db_assembler/
$ bash ./db_assembler.sh
$ cd ~/azerothcore//env/dist/sql
$ sudo mysql -u root -p world < world_base.sql
/// 按照這個順序填【base -> updates -> custom】引入差购,三個數(shù)據(jù)共9份。
修改下auth中realmist表中的address字段為你的服務(wù)器IP汉嗽,就可以使用了
進(jìn)入/home/$USER/azeroth-server/bin
運(yùn)行
./authserver &
./worldserver
創(chuàng)建游戲賬號密碼
account create <username> <password>
提升為GM
account set gmlevel <username> 3 -1
GM提升到4級欲逃,修改數(shù)據(jù)表
UPDATE auth.account_access AS access INNER JOIN auth.account AS account ON access.id = account.id SET gmlevel = '4' WHERE name = '<username>';