魔兽世界私服架设全指南 - VMangos Linux版与经典客户端配置

第一章:服务器环境搭建(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.exeCD21B3B0B27CAB65BA2B6DCB54112D45
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 &

完整体验检验清单:

  1. 在服务器输入 /server info 检查在线状态
  2. 客户端输入 /who 查看玩家列表
  3. 使用 .gm on 测试GM指令权限
  4. 通过不同地域地图传送确认碰撞检测正常

建议使用Chrome + ModHeader插件模拟多个客户端测试负载能力

通过本指南完成搭建后,您将获得一个功能完备的魔兽世界经典旧世私服环境。建议使用Nginx反向代理和Fail2ban加固生产环境安全。遇到核心问题时可参考VMangos官方Discord的#support频道获取技术支援。

版权属于: 瓦瓮煮酒 本文链接: http://whonee.net/index.php/archives/5/ 转载申明: 转载请保留本文转载地址,著作权归作者所有。

评论

等风等雨等你来