目 录CONTENT

文章目录

基于azerothcore-wotlk编译魔兽335服务端

IKun
2023-02-10 / 0 评论 / 0 点赞 / 4 阅读 / 5933 字

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.常用命令
  1. 输入 cd /appdata/azeroth/bin && ./start.sh 可启动服务端;
  2. 输入 screen -r auth 或者 screen -r world 可以查看控制台,同时按 Ctrl+A+D 键可退出窗口,但不会结束进程;
  3. 输入 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
0
博主关闭了所有页面的评论