1.安装环境
1.Debian系
apt update && apt full-upgrade -y && apt install git cmake make gcc g++ clang libssl-dev libbz2-dev libreadline-dev libncurses-dev libboost-all-dev mariadb-server mariadb-client libmariadb-dev libmariadb-dev-compat screen
2.Arch系
pacman -S base-devel git cmake clang boost mariadb
3.数据库
这一步非必要,可以使用源安装的数据库
docker run -d \
--name=mariadb \
-e PUID=1000 \
-e PGID=1000 \
-e MYSQL_ROOT_PASSWORD=PASSWORD \
-e TZ=Asia/Shanghai \
-p 3306:3306 \
-v path_to_data:/config \
--restart unless-stopped \
lscr.io/linuxserver/mariadb:latest
2.源码下载
1.azerothcore-wotlk
内网
cd
git clone https://git.tnxw.com/Ming/azerothcore-wotlk.git --branch master --single-branch azerothcore --depth 1
外网
cd
git clone https://github.com/azerothcore/azerothcore-wotlk.git --branch master --single-branch azerothcore --depth 1
2.mod-eluna
内网
cd azerothcore-wotlk/modules
git clone https://git.tnxw.com/Ming/mod-eluna.git mod-eluna
外网
cd azerothcore-wotlk/modules
git clone https://github.com/azerothcore/mod-eluna.git mod-eluna
2.编译安装
1.创建目录
cd azerothcore-wotlk
mkdir build
cd build
2.准备编译
cmake ../ -DCMAKE_INSTALL_PREFIX=/appdata/azeroth/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=all -DSCRIPTS=static -DMODULES=static
/appdata/azeroth/
为服务端安装路径,可自行修改,下文其它文件路径必须和其对应。
3.编译服务端
有2种方式来编译。
-
第一种是傻瓜式,直接开始编译,这种速度一般。
make&&make install
-
第二种是利用全核心CPU make -j 线程数 install 这里线程数要改成自己CPU的线程数,这样可以全核心进行编译。
make -j 20
make install
4.导入数据
1.下载地图
进入azeroth
导入地图,下载地址data,
cd /appdata/azeroth/bin
wget https://github.com/wowgaming/client-data/releases/download/v16/data.zip
unzip data.zip
将 data
文件夹上传到 azeroth-server
目录
2.连接数据库
-
源安装数据库
mysql -uroot -p
-
docker方式安装的数据库
docker exec -it mariadb bash mysql -uroot -p
3.创建数据库
#password,密码可以自行修改
CREATE USER 'acore'@'%' IDENTIFIED BY 'password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;
GRANT ALL PRIVILEGES ON * . * TO 'acore'@'%' 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'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON `acore_characters` . * TO 'acore'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON `acore_auth` . * TO 'acore'@'%' WITH GRANT OPTION;
exit;
- 自动创建
mysql -uroot -p
source /root/azerothcore/data/sql/create/create_mysql.sql
#根据自己下载路径选择
5.修改配置文件
1.修改配置文件
-
移除
etc
目录下文件名中的.dist
-
最后成这样
authserver.conf
dbimport.conf
worldserver.conf
修改authserver.conf
dbimport.conf
worldserver.conf
,中的数据库地址和密码。
127.0.0.1;3306;acore;acore;acore_auth
- 127.0.0.1:数据库地址
- 3306:端口
- acore:第一个为用户名,第二个为用户密码
- acore_auth:数据库名
进入数据库,更改IP为本机地址
use acore_auth;
UPDATE realmlist SET address = 'IP' WHERE id = 1;
2.修改Data路径
DataDir = "."
#此字段仅worldserver.conf有,将.更改为你的data文件夹路径
6.启动服务
1.手动启动
cd /appdata/azeroth/bin
启动authserver
再新建终端启动worldserver
./authserver
./worldserver
2.脚本启动
1.认证
输入 cd /appdata/azeroth/bin && vi auth.sh
#!/bin/sh
while :; do
./authserver
sleep 20
done
2.服务
输入 vi world.sh
#!/bin/sh
while :; do
./worldserver
sleep 20
done
3.启动
输入 vi start.sh
#!/bin/bash
screen -AmdS auth ./auth.sh
screen -AmdS world ./world.sh
4.关闭
输入 vi stop.sh
#!/bin/bash
screen -X -S "world" quit
screen -X -S "auth" quit
5.权限
chmod 777 /appdata/azeroth/bin/*.sh
6.常用命令
- 输入 cd /appdata/azeroth/bin && ./start.sh 可启动服务端;
- 输入 screen -r auth 或者 screen -r world 可以查看控制台,同时按 Ctrl+A+D 键可退出窗口,但不会结束进程;
- 输入 cd /appdata/azeroth/bin && ./stop.sh 可关闭服务端。
3.创建账号
account create admin password
account set gmlevel admin 3 -1
修改客户端Data\zhCN
目录下的realmlist.wtf
文件,将IP地址改为服务端IP
set realmlist 127.0.0.1
其它记录
地图提取
/root/wow/bin/mapextractor
mkdir /root/wow/data
cp -r dbc maps /root/wow/data
/root/wow/bin/vmap4extractor
mkdir vmaps
/roo/wow/bin/vmap4assembler Buildings vmaps
cp -r vmaps /root/wow/data
mkdir mmaps
/root/wow/bin/mmaps_generator
cp -r mmaps /root/wow/data