侧边栏壁纸
博主头像
云BLOG 博主等级

行动起来,活在当下

  • 累计撰写 318 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

AzerothCore Debian 12 安装指南

Administrator
2025-01-14 / 0 评论 / 0 点赞 / 2 阅读 / 0 字

AzerothCore Debian 12 安装指南

这是将 AzerothCore 安装到 Debian 12 服务器、保护它以及从 Windows PC 启用一键维护的快速入门指南。

目录

要求

油灰
  • 用于向服务器发送命令的 Windows 程序。

Debian 12
  • 安装了 Debian 12 的服务器。(例如:OVH 的 4gb/4core VPS)

选修的

文件齐拉
  • 用于与服务器之间传输文件的 Windows 程序。在SSH 设置期间用于将生成的密钥文件复制到您的 PC。

HeidiSQL
  • 用于连接服务器 SQL 数据库的 Windows 程序。本指南中未使用。如果您想使用 HeidiSQL 连接数据库,请阅读此内容


Debian 设置

首次登录

  • 使用PuTTY通过托管服务提供商提供的 IP 地址和登录凭据连接到您的 Debian 服务器。(如果您以 root 身份登录,请先创建具有 sudo 权限的新用户并切换到该用户。)

  • 复制以下代码块并将其粘贴到 PuTTY 终端中,右键单击,然后按回车键。

更改默认 SSH 端口

sudo sed -i 's/^#Port 22\+$/Port 55022/' /etc/ssh/sshd_config
sudo systemctl restart sshd
  • 请记住从现在开始使用 55022 作为 SSH 端口。

设置防火墙

sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 55022
sudo ufw allow 3724
sudo ufw allow 8085
sudo ufw enable

获取依赖项

sudo apt update && sudo apt install git cmake make gcc g++ clang libssl-dev libbz2-dev libreadline-dev libncurses-dev libboost-all-dev lsb-release gnupg wget p7zip-full screen fail2ban -y

获取 MySQL

mkdir -p ~/mysqlpackages && cd ~/mysqlpackages
wget https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config_0.8.32-1_all.deb
sudo apt update && sudo apt install libmysqlclient-dev mysql-server -y
sudo mysql_secure_installation
  • 验证密码组件:N

  • 更改root密码:N

  • 删除匿名用户:Y

  • 禁止远程 root 登录: Y

  • 删除测试数据库:Y

  • 重新加载权限表:Y

设置 SQL 数据库

sudo mysql -u root -p
  • 输入上一步设置的root密码。

DROP USER IF EXISTS 'acore'@'localhost';
CREATE USER 'acore'@'localhost' IDENTIFIED BY 'SQLPASSWORD';
GRANT ALL PRIVILEGES ON * . * TO 'acore'@'localhost';
CREATE DATABASE `acore_world` DEFAULT CHARACTER SET UTF8MB4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE `acore_characters` DEFAULT CHARACTER SET UTF8MB4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE `acore_auth` DEFAULT CHARACTER SET UTF8MB4 COLLATE utf8mb4_unicode_ci;
exit
  • 将SQLPASSWORD更改为更安全的内容。


SSH 设置

这是一个可选步骤,涉及创建密钥文件并禁用基于密码的 SSH 登录以提高 Debian 服务器和 SQL 数据库的安全性。

密钥生成

Debian 公钥

ssh-keygen -t ed25519 -C "Debian12"
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys

Windows 私钥

  • 使用Filezilla连接到服务器并导航至home/USERNAME/ssh/

  • 将文件复制id_ed25519到您的电脑并将其加载到puttygen.exe(位于 PuTTY 文件夹中)

  • 生成私钥.ppk文件。将此文件存储在安全的地方并进行备份。

基于密钥的登录设置

油灰

PuTTY1PuTTY2

文件齐拉

文件齐拉

HeidiSQL

HeidiSQL12HeidiSQL2

禁用密码登录

  • 确认基于密钥的登录有效后,禁用密码登录。

sudo sed -i -E 's/#?PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo rm /etc/ssh/sshd_config.d/*
sudo service ssh restart

AzerothCore 安装

克隆存储库

git -C ~/ clone https://github.com/azerothcore/azerothcore-wotlk.git --branch master --single-branch azerothcore

添加反作弊模块

git -C ~/azerothcore/modules clone https://github.com/azerothcore/mod-anticheat

获取数据文件

mkdir -p ~/server/data && cd ~/server/data
wget https://github.com/wowgaming/client-data/releases/download/v16/data.zip
7z x data.zip && rm data.zip

构建核心

mkdir -p ~/azerothcore/build && cd ~/azerothcore/build
cmake ../ -DCMAKE_INSTALL_PREFIX=$HOME/server/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=db-only -DSCRIPTS=static -DMODULES=static
make -j $(nproc) install

编辑配置

cp -n ~/server/etc/authserver.conf.dist ~/server/etc/authserver.conf
cp -n ~/server/etc/worldserver.conf.dist ~/server/etc/worldserver.conf
cp -n ~/azerothcore/modules/mod-anticheat/conf/Anticheat.conf.dist ~/server/etc/Anticheat.conf 
sudo sed -i -E 's|^DataDir = .*|DataDir = "/home/USERNAME/server/data"|' ~/server/etc/worldserver.conf
sudo sed -i -E 's|^LogsDir = .*|LogsDir = "/home/USERNAME/server/logs"|' ~/server/etc/*.conf
sudo sed -i -E 's/= "127.0.0.1;3306;acore;[^;]*;/= "127.0.0.1;3306;acore;SQLPASSWORD;/' ~/server/etc/*.conf
  • 将USERNAME更改为您的 Debian 用户。

  • SQLPASSWORD更改为 acore 数据库用户的密码。

启动服务器

mkdir -p ~/server/logs
screen -AmdS auth ~/server/bin/authserver
screen -AmdS world ~/server/bin/worldserver
screen -r world

创建GM账户

account create USERNAME PASSWORD
account set gmlevel USERNAME 3 -1
  • 使用 Ctrl+A -> Ctrl+D 退出世界服务器屏幕

设置领域 IP

sudo mysql -u acore -p
  • 输入 acore 数据库用户的密码。

UPDATE acore_auth.realmlist SET address = '0.0.0.0' WHERE id = 1;
exit
  • 将0.0.0.0更改为您的 Debian12 服务器的公网 IP 地址。

结束!

  • 现在,您应该能够通过将您的领域列表设置为 Debian12 服务器的公共 IP 地址来登录 AzerothCore。例如:set realmlist 0.0.0.0


维护

创建别名命令

touch ~/.bash_aliases
echo "alias acoreupdate='
screen -S world -p 0 -X stuff "saveall^m";
screen -X -S "world" quit;
git -C ~/azerothcore/modules/mod-anticheat pull;
git -C ~/azerothcore pull;
cd ~/azerothcore/build;
cmake ../ -DCMAKE_INSTALL_PREFIX=$HOME/server/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=db-only -DSCRIPTS=static -DMODULES=static;
make -j $(nproc) install;
screen -AmdS world ~/server/bin/worldserver;
screen -r world;'" > ~/.bash_aliases
source ~/.bashrc
  • 现在我们可以保存/退出世界服务器,从 GitHub 中提取最新更改,构建更新的核心,并使用一个命令重新启动世界服务器。

更新 AzerothCore

acoreupdate

常见问题

Auth/Worldserver 甚至无法启动。

登录成功但无法进入领域。


值得了解的是本指南未涵盖的内容。
  • “set realmlist logon.server.com”的域名和 DNS 设置

  • Wordpress 注册站点和 acore-cms 插件 SOAP 连接。

  • 使用 cron 和 rclone 自动将数据库备份到 Google Drive。

其他资源

该项目由azerothcore维护

托管于 GitHub Pages — 由Git-Wiki v2.8.6提供支持

在 Github 上查看项目

0

评论区