第一章:服务器环境搭建(Ubuntu 16.04)
1. 系统准备
sudo -i
apt-get update && apt-get upgrade -y
apt-get install -y build-essential git cmake libboost-all-dev \
libmysql++-dev libssl-dev zlib1g-dev tmux p7zip-full
2. 编译ACE适配层
wget http://download.dre.vanderbilt.edu/previous_versions/ACE-6.5.0.tar.gz
tar -zxvf ACE-6.5.0.tar.gz
# 设置环境变量
export ACE_ROOT=$HOME/ACE_wrappers
echo "export ACE_ROOT=$ACE_ROOT" >> /etc/profile
echo "export LD_LIBRARY_PATH=\$ACE_ROOT/lib:\$LD_LIBRARY_PATH" >> /etc/profile
# 配置编译参数
cat << EOF > $ACE_ROOT/ace/config.h
#include "ace/config-linux.h"
EOF
cat << EOF > $ACE_ROOT/include/makeinclude/platform_macros.GNU
include \$(ACE_ROOT)/include/makeinclude/platform_linux.GNU
INSTALL_PREFIX = /usr/local
EOF
# 执行编译
cd $ACE_ROOT && make -j$(nproc) && make install
第二章:服务端编译与部署
1. 获取源码
cd ~
git clone https://github.com/vmangos/core.git --branch development --depth 1
mkdir -p core/build && cd core/build
2. 编译配置
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/vmangos \
-DACE_LIBRARY=$ACE_ROOT/lib \
-DACE_INCLUDE_DIR=$ACE_ROOT/include \
-DPCH=1 \
-DBUILD_PLAYERBOTS=0
make -j$(nproc) && make install
3. 数据库配置
-- 创建专用账号
CREATE USER 'vmangos'@'localhost' IDENTIFIED BY 'Mangos123#';
GRANT ALL PRIVILEGES ON *.* TO 'vmangos'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
-- 初始化数据库
mysql -u vmangos -pMangos123# < ~/core/sql/logon.sql
mysql -u vmangos -pMangos123# < ~/core/sql/characters.sql
mysql -u vmangos -pMangos123# < ~/core/sql/world.sql
第三章:地图文件生成
1. 服务器端准备
cd /opt/vmangos
mkdir -p data/maps data/vmaps data/mmaps
chmod 777 -R data/
2. 客户端提取工具
Windows客户端操作:
# 需安装 VC++ 2013 运行时库
MapExtractor.exe -d "D:\World of Warcraft 1.12" -o D:\output\maps
VMapsExtractor.exe -d "D:\World of Warcraft 1.12" -o D:\output\vmaps
MoveMapsGen.exe --buildGameObjects -j 4 -i "D:\output" -o D:\output\mmaps
3. 上传至服务器
scp -r D:\output\* root@yourserver:/opt/vmangos/data/
第四章:服务端配置优化
1. 核心配置文件
nano /opt/vmangos/etc/mangosd.conf
# 重点参数设置
WorldServerPort = 8085
DataDir = "/opt/vmangos/data"
LoginDatabaseInfo = "127.0.0.1;3306;vmangos;Mangos123#;realmd"
CharacterDatabaseInfo = "127.0.0.1;3306;vmangos;Mangos123#;characters"
WorldDatabaseInfo = "127.0.0.1;3306;vmangos;Mangos123#;world"
2. 进程守护设置
cat << EOF > /etc/systemd/system/mangosd.service
[Unit]
Description=VMangos World Server
[Service]
Type=simple
User=mangos
WorkingDirectory=/opt/vmangos/bin
ExecStart=/opt/vmangos/bin/mangosd -c /opt/vmangos/etc/mangosd.conf
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now mangosd
第五章:经典客户端配置
1. 必要文件验证
文件类型 | 特征校验值(MD5) |
---|---|
Wow.exe | CD21B3B0B27CAB65BA2B6DCB54112D45 |
realmlist.wtf | 必须ANSI编码 |
2. 连接调试技巧
# 实时查看服务端日志
tail -f /opt/vmangos/log/mangosd.log | grep -E "ERR|WARN"
# 客户端启动参数
start Wow.exe -console -opengl -username test -password test
3. 安全加固建议
-- 限制GM权限
UPDATE account SET gmlevel = 1 WHERE username = '管理员账号';
-- 启用双因素认证
ALTER TABLE account ADD COLUMN google_auth_secret VARCHAR(16);
第六章:高级运维方案
1. 自动备份策略
# 每日凌晨数据库备份
0 3 * * * mysqldump -u vmangos -pMangos123# --quick --single-transaction \
--databases realmd characters world | gzip > /backups/mangos_$(date +\%F).sql.gz
# 配置文件版本控制
cd /opt/vmangos/etc && git init
git add . && git commit -m "Initial config"
2. 性能监控方案
安装 prometheus exporter:
wget https://github.com/Spyroid/mangos-exporter/releases/download/v0.2.0/mangos-exporter
chmod +x mangos-exporter
nohup ./mangos-exporter --mangosd.host localhost:8085 &
完整体验检验清单:
- 在服务器输入
/server info
检查在线状态 - 客户端输入
/who
查看玩家列表 - 使用 .gm on 测试GM指令权限
- 通过不同地域地图传送确认碰撞检测正常
建议使用Chrome + ModHeader插件模拟多个客户端测试负载能力
通过本指南完成搭建后,您将获得一个功能完备的魔兽世界经典旧世私服环境。建议使用Nginx反向代理和Fail2ban加固生产环境安全。遇到核心问题时可参考VMangos官方Discord的#support频道获取技术支援。
评论