藏宝湾网游单机站

 找回密码
 注册

QQ登录

只需一步,快速开始

★69 元包站 Gm 手游平台★

★69 元包站 Gm 手游平台★

★Gm 游戏平台【无限资源包站平台,真正体验gm和土豪感觉】★

★白嫖放置传奇 玩通关算你赢★

★白嫖放置传奇 玩通关算你赢★

★白嫖长久耐玩型 放置类挂机传奇游戏 充值可打 安全挂机 可交易 无PK★

★@梦幻长久耐玩全新大唐九黎★

★@!!——梦幻长久耐玩全新大唐九黎——!!★

★★新增全新门派九黎城, ★侵烛系统 ★静脉系统 ★赐福系统 ★战斗动作声效系统 ★全场景NPC、召唤兽迭代最新 ★17个副本,完全还原 ★独家PK系统,享受极致免费PK★★

承接推广
★承接推广★

★承接推广★

☆ 六一活动开放-放置传奇☆

★ 六一活动开放-放置传奇★

★可白嫖 上班摸鱼类 放置文字传奇游戏(放置休闲)qq群756025698★

★三职业复古★开局送神装★爆率100%★零氪首选★

★三职业复古★开局送神装★爆率100%★零氪首选★

★〖双线〗〖无忧传奇〗〖每日新区〗〖开局送神装 100%高爆率 装备元宝打怪爆〗★

承接推广

★承接推广★

★承接推广★

承接推广

★承接推广★

★承接推广★

★DNF★全职业平衡★公益服★
★DNF★全职业平衡★公益服★

【dnf86版本】【怀旧服】【全职业平衡】【非变态服】【非商业服】【774031300】

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

查看: 1724|回复: 9

[手工架设] [龙虾编译]AzerothCoreWeb+登录器[源码 + 编译结果]

[复制链接]
 楼主| 发表于 2026-4-26 17:44:34 | 显示全部楼层 |阅读模式
点击查看AZ原帖

注意 未由人类测试 也不会持续更新

引用 GitHub 多个项目经验 与 文件结构 但未测试 如有问题 自己折腾

# 🐉 魔兽世界 WoTLK 3.0.0 — Web 架设攻略 + 登录器使用指南

> **作者**: 龙虾  
> **版本**: v1.0  
> **更新日期**: 2026-04-26  
> **适用版本**: AzerothCore WoTLK 3.0.0

---

## 📑 目录

1. [项目简介](#一项目简介)
2. [环境要求](#二环境要求)
3. [Web 端架设攻略](#三web-端架设攻略)
4. [AzerothCore 服务器配置](#四azerothcore-服务器配置)
5. [数据库初始化](#五数据库初始化)
6. [登录器使用说明](#六登录器使用说明)
7. [管理后台使用](#七管理后台使用)
8. [常见问题 (FAQ)]#八常见问题-faq)
9. [目录结构说明](#九目录结构说明)

---

## 一、项目简介

本项目为 **AzerothCore WoTLK 3.0.0** 提供了一套完整的 **中文 Web 管理端 + C# WPF 登录器** 解决方案。

### 功能亮点

- 🎮 **单文件登录器** — 154MB EXE,自带 .NET 运行时,双击即用 文件名 WoWLauncher.exe
- 🌐 **中文 Web 管理端** — PHP 原生,无需框架,部署简单
- 🔐 **SOAP API 对接** — 直接连接 AzerothCore authserver 创建/管理账号
- 📢 **新闻公告系统** — 管理后台发布,登录器实时显示
- 🔧 **三重服务器状态检测** — SOAP → MySQL → TCP 端口,自动降级
- 🛡️ **安全防护** — CSRF 保护、XSS 过滤、SQL 预处理
- 🎨 **全中文界面** — 登录器 + Web 端 + 管理后台全部中文化

### 架构图


  1. ┌─────────────────┐     ┌──────────────────┐     ┌─────────────────┐
  2. │   WoWLauncher    │────▶│   PHP Web 端     │────▶│  AzerothCore    │
  3. │  (C# WPF 登录器) │     │  (PHP 8.1+ 网站) │     │  (C++ 游戏服)    │
  4. └─────────────────┘     └──────────────────┘     └─────────────────┘
  5.       │                        │                        │
  6.       │ • 下载补丁(HTTP)        │ • 注册账号              │ • authserver
  7.       │ • 启动游戏              │ • 登录/新闻/公告        │ • worldserver
  8.       │ • 直连 authserver       │ • SOAP API 创建账号     │ • SOAP API
  9.       │ • realmlist 自动配置    │ • 账户管理              │
  10.       │ • 版本检查/自动更新      │ • 服务器状态            │
  11.       └────────────────────────┴────────────────────────┘
复制代码


---

## 二、环境要求

### Web 端(PHP)

| 组件 | 最低版本 | 推荐版本 |
|------|----------|----------|
| PHP | 8.1 | 8.2+ |
| MySQL | 8.0 | 8.0+ |
| 必需扩展 | GMP, PDO-MySQL, Soap, GD, ZIP, Mbstring | 同上 |

**支持的环境:**
- Nginx + PHP-FPM
- Apache + mod_php
- PHP 内置服务器(测试用)
- Windows (IIS/XAMPP/WAMP) / Linux

### 登录器(C# WPF)

| 项目 | 说明 |
|------|------|
| 系统 | Windows 10/11 (x64) |
| .NET | 不需要安装!已自包含 |
| 大小 | 154.3 MB(单个 EXE) |

### 游戏服务器

| 组件 | 说明 |
|------|------|
| AzerothCore | WoTLK 3.0.0 分支 |
| authserver | 必须开启 SOAP |
| worldserver | 必须开启 SOAP |

---

## 三、Web 端架设攻略

### 3.1 部署到 Nginx + PHP-FPM(推荐)

**步骤 1:安装 Nginx 和 PHP**


  1. # Ubuntu/Debian
  2. sudo apt update
  3. sudo apt install nginx php8.2-fpm php8.2-mysql php8.2-gmp php8.2-soap php8.2-gd php8.2-zip php8.2-mbstring

  4. # CentOS/RHEL
  5. sudo yum install nginx php php-mysqlnd php-gmp php-soap php-gd php-zip php-mbstring
复制代码


**步骤 2:复制文件**


  1. # 将整个 web 目录复制到网站根目录
  2. sudo cp -r web/* /var/www/wowserver/
  3. sudo chown -R www-data:www-data /var/www/wowserver/
  4. sudo chmod -R 755 /var/www/wowserver/
复制代码


**步骤 3:配置 Nginx**


  1. server {
  2.     listen 80;
  3.     server_name your-domain.com;  # 改为你的域名或 IP
  4.     root /var/www/wowserver;
  5.     index index.php;

  6.     client_max_body_size 50M;

  7.     location / {
  8.         try_files $uri $uri/ /index.php?$query_string;
  9.     }

  10.     location ~ \.php$ {
  11.         fastcgi_pass unix:/run/php/php8.2-fpm.sock;
  12.         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  13.         include fastcgi_params;
  14.     }

  15.     # 禁止访问 config 目录
  16.     location ~ /config/ {
  17.         deny all;
  18.     }

  19.     # 禁止访问 .htaccess 等隐藏文件
  20.     location ~ /\. {
  21.         deny all;
  22.     }
  23. }
复制代码


**步骤 4:重启 Nginx**


  1. sudo systemctl restart nginx php8.2-fpm
复制代码


### 3.2 部署到 Apache

**步骤 1:启用 mod_rewrite**


  1. sudo a2enmod rewrite
  2. sudo systemctl restart apache2
复制代码


**步骤 2:配置 VirtualHost**


  1. <VirtualHost *:80>
  2.     ServerName your-domain.com
  3.     DocumentRoot /var/www/wowserver

  4.     <Directory /var/www/wowserver>
  5.         AllowOverride All
  6.         Require all granted
  7.     </Directory>
  8. </VirtualHost>
复制代码


**.htaccess 文件已包含在项目根目录,无需额外配置。**

### 3.3 Windows 部署(XAMPP/WAMP)

1. 将 `web` 目录下的所有文件复制到 `htdocs/wowserver/`
2. 启动 Apache + MySQL
3. 访问 `http://localhost/wowserver/`

### 3.4 修改配置文件

编辑 web/config/config.php:


  1. <?php
  2. return [
  3.     'db' => [
  4.         'host' => '127.0.0.1',       // 数据库地址
  5.         'port' => 3306,               // 数据库端口
  6.         'user' => 'root',             // 数据库用户名
  7.         'password' => 'your_password',// 数据库密码
  8.         'auth_db' => 'acore_auth',    // AzerothCore auth 数据库
  9.         'web_db' => 'acore_web',      // Web 端额外表数据库
  10.     ],
  11.     'soap' => [
  12.         'host' => '127.0.0.1',       // SOAP 服务器地址
  13.         'port' => 7878,               // SOAP 端口(默认 7878)
  14.         'user' => 'admin',            // SOAP 用户名
  15.         'password' => 'admin',        // SOAP 密码
  16.     ],
  17.     'site' => [
  18.         'name' => '魔兽世界',    // 网站名称
  19.         'url' => 'http://your-domain.com', // 网站 URL
  20.     ],
  21. ];
复制代码


---

## 四、AzerothCore 服务器配置

### 4.1 启用 SOAP 服务

编辑 authserver.conf(或 etc/authserver.conf):


  1. # 找到并修改以下配置
  2. SOAP.Enabled = 1
  3. SOAP.IP = "127.0.0.1"
  4. SOAP.Port = 7878
复制代码


编辑 worldserver.conf:


  1. # 找到并修改以下配置
  2. SOAP.Enabled = 1
  3. SOAP.IP = "127.0.0.1"
  4. SOAP.Port = 7878
  5. SOAP.User = "admin"
  6. SOAP.Password = "your_soap_password"
复制代码


> &#9888;&#65039; **重要**: SOAP 用户名和密码必须与 `web/config/config.php` 中的配置一致!

### 4.2 重启服务器


  1. # 停止
  2. ./authserver.sh stop
  3. ./worldserver.sh stop

  4. # 启动
  5. ./authserver.sh start
  6. ./worldserver.sh start
复制代码


或直接运行可执行文件:


  1. ./authserver
  2. ./worldserver
复制代码


### 4.3 验证 SOAP 是否开启


  1. # 检查 7878 端口是否监听
  2. netstat -tuln | grep 7878

  3. # 或用项目自带的测试脚本
  4. php docs/test_soap.php
复制代码


---

## 五、数据库初始化

### 5.1 创建 Web 端数据库

登录 MySQL:


  1. mysql -u root -p
复制代码


执行初始化脚本:


  1. -- 创建 Web 端数据库
  2. CREATE DATABASE IF NOT EXISTS acore_web DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

  3. -- 切换到 acore_web
  4. USE acore_web;

  5. -- 运行初始化脚本
  6. SOURCE /path/to/web/admin/init_database.sql;
复制代码


或直接运行 SQL 文件:


  1. mysql -u root -p acore_web < web/admin/init_database.sql
复制代码


### 5.2 创建的表

| 表名 | 用途 |
|------|------|
| `news` | 新闻/公告存储 |
| `user_sessions` | 用户登录会话 |
| `settings` | 网站设置(realmlist、服务器名等) |
| `admin_logs` | 管理员操作日志 |

### 5.3 验证

验证:


  1. USE acore_web;
  2. SHOW TABLES;
  3. -- 应该看到:news, user_sessions, settings, admin_logs
复制代码


---

## 六、登录器使用说明

### 6.1 下载与运行

1. 将 `WoWLauncher.exe` 下载到任意目录
2. **双击运行**(无需安装任何依赖)
3. 首次运行会在同目录下生成 `appsettings.json` 配置文件

### 6.2 首次设置

打开登录器后,点击 **「设置」** 按钮:

| 设置项 | 说明 | 示例 |
|--------|------|------|
| **游戏路径** | WoW 客户端安装目录 | `C:\Games\World of Warcraft` |
| **API 服务器地址** | Web 端的网址 | `http://192.168.1.100` |
| **游戏服务器地址** | Realmlist 地址 | `http://192.168.1.100` |

设置完成后点击 **「保存」**。

### 6.3 注册账号

1. 点击 **「注册账号」** 按钮
2. 填写用户名、密码、邮箱
3. 密码最少 6 个字符
4. 注册成功后会自动跳转到登录页面

### 6.4 登录游戏

1. 输入用户名和密码
2. 点击 **「登录」**
3. 登录成功后点击 **「开始游戏」**
4. 登录器会自动配置 `realmlist.wtf` 并启动游戏

### 6.5 realmlist 自动配置

登录器启动游戏前会检查游戏目录下 `Data\realmlist.wtf`:
- 如果文件不存在或内容不正确,会自动写入正确的 realmlist
- 原始文件会备份为 `realmlist.wtf.backup`

### 6.6 补丁下载

如果管理员在 Web 后台发布了新版本补丁:
1. 登录器启动时会自动检查更新
2. 弹出下载进度窗口,显示下载速度和剩余时间
3. 下载完成后自动应用补丁
4. 支持断点续传,网络中断后可继续

### 6.7 服务器状态

登录器主界面会显示:
- &#128994; 在线 — 服务器正常运行
- &#128308; 离线 — 服务器未启动或无法连接
- 在线玩家数量
- 每 30 秒自动刷新

---

## 七、管理后台使用

### 7.1 登录管理后台

访问:`http://your-ip/admin/login.php`

> 管理员账号需要在 `auth.account_access` 表中设置 `gmlevel >= 3`

### 7.2 管理后台功能

#### &#128240; 新闻管理
- 发布新公告(标题、内容、状态:草稿/发布/归档)
- 编辑已有新闻
- 删除新闻(软删除,改为归档状态)
- 登录器自动显示最新公告

#### &#128101; 用户管理
- 查看所有注册用户
- 搜索用户(用户名/邮箱)
- 重置用户密码
- 禁用/启用账号
- 查看用户详情

#### &#9881;&#65039; 服务器设置
- Realmlist 地址配置
- 服务器名称
- 最大玩家数
- 维护模式开关(开启后登录器显示维护提示)
- 注册功能开关

### 7.3 发布第一条新闻

1. 进入管理后台 → 新闻管理
2. 点击「发布新闻」
3. 填写标题和内容(支持简单 HTML)
4. 状态选择「已发布」
5. 保存后,登录器会自动显示

---

## 八、常见问题 (FAQ)

### Q1: 登录器提示「连接服务器失败」

**原因**:Web 端未启动或地址配置错误。

**解决**:
1. 确认 PHP Web 端可以正常访问(浏览器打开)
2. 检查登录器设置中的「API 服务器地址」是否正确
3. 确认防火墙未拦截 80/443 端口

### Q2: 注册账号失败

**原因**:SOAP 未开启或配置不正确。

**解决**:
1. 检查 `authserver.conf` 中 `SOAP.Enabled = 1`
2. 确认 `authserver` 正在运行
3. 检查 `config.php` 中的 SOAP 用户名密码是否正确
4. 测试 SOAP 连接:`php docs/test_soap.php`

### Q3: 游戏启动后卡在连接界面

**原因**:realmlist 配置错误或 authserver 未运行。

**解决**:
1. 检查游戏目录下 `Data\realmlist.wtf` 内容是否为 `set realist xxx.xxx.xxx.xxx`
2. 确认 authserver 正在运行(端口 3724 监听中)
3. 用登录器重新设置游戏服务器地址

### Q4: 登录后密码无法登录游戏

**原因**:密码加密格式不正确。

**解决**:
- AzerothCore 密码格式为 `SHA1(UPPER(username) + ':' + UPPER(password))`
- 确保用户名和密码的大小写与注册时一致
- 可以尝试通过 gameconsole 重置密码:`account set password 用户名 旧密码 新密码`

### Q5: Web 端显示「数据库连接失败」

**原因**:MySQL 未启动或配置错误。

**解决**:
1. 确认 MySQL 正在运行
2. 检查 `config.php` 中的数据库地址、用户名、密码
3. 确认 `acore_web` 数据库已创建

### Q6: 登录器打不开/闪退

**解决**:
1. 确认系统是 Windows 10/11 x64
2. 首次运行可能被 Windows Defender 拦截,点击「更多信息」→「仍要运行」
3. 尝试右键 → 以管理员身份运行

### Q7: 管理后台登录不了

**原因**:账号权限不足。

**解决**:

  1. -- 在 MySQL 中执行,将账号设为管理员
  2. UPDATE acore_auth.account_access SET gmlevel = 3 WHERE id = (SELECT id FROM acore_auth.account WHERE username = '你的用户名');

  3. -- 如果 account_access 表中没有记录,需要插入
  4. INSERT INTO acore_auth.account_access (id, gmlevel, realmid) VALUES ((SELECT id FROM acore_auth.account WHERE username = '你的用户名'), 3, -1);
复制代码


---

## 九、目录结构说明


  1. E:\Openclaw\0workspace\AzerothCore\dlq+web\
  2. ├── WoWLauncher.exe              ← 登录器(单个 EXE 文件)
  3. ├── 架设攻略与使用说明.md        ← 本文档
  4. ├── launcher/                    ← C# WPF 登录器源码
  5. │   ├── WoWLauncher.csproj       ← 项目文件(含单文件发布配置)
  6. │   ├── App.xaml + .cs           ← 应用程序入口
  7. │   ├── MainWindow.xaml + .cs    ← 主窗口(登录界面)
  8. │   ├── Models/                  ← 数据模型
  9. │   ├── ViewModels/              ← MVVM 视图模型
  10. │   ├── Views/                   ← WPF 视图
  11. │   ├── Services/                ← 服务层(API、游戏、配置、补丁、新闻)
  12. │   └── Assets/                  ← 资源文件
  13. ├── web/                         ← PHP Web 端
  14. │   ├── index.php                ← 首页(新闻 + 服务器状态)
  15. │   ├── register.php             ← 用户注册
  16. │   ├── login.php                ← 用户登录
  17. │   ├── profile.php              ← 个人中心
  18. │   ├── forgot_password.php      ← 忘记密码
  19. │   ├── news.php                 ← 新闻详情
  20. │   ├── logout.php               ← 登出
  21. │   ├── config/                  ← 配置文件
  22. │   │   ├── config.php           ← 主配置(数据库、SOAP、网站)
  23. │   │   ├── database_config.php  ← 数据库配置
  24. │   │   └── soap_config.php      ← SOAP 配置
  25. │   ├── includes/                ← 公共文件
  26. │   │   ├── functions.php        ← 通用函数(加密、CSRF、XSS)
  27. │   │   ├── header.php           ← 页面头部模板
  28. │   │   ├── footer.php           ← 页面底部模板
  29. │   │   ├── soap_client.php      ← SOAP 客户端封装
  30. │   │   ├── server_status.php    ← 服务器状态检测
  31. │   │   └── admin_auth.php       ← 管理后台认证
  32. │   ├── api/                     ← API 接口
  33. │   │   ├── login.php            ← 登录 API
  34. │   │   ├── register.php         ← 注册 API
  35. │   │   ├── server_status.php    ← 状态 API
  36. │   │   ├── news.php             ← 新闻 API
  37. │   │   ├── account.php          ← 账户管理 API
  38. │   │   ├── config.php           ← 配置 API
  39. │   │   └── player_info.php      ← 玩家信息 API
  40. │   ├── admin/                   ← 管理后台
  41. │   │   ├── index.php            ← 管理后台首页
  42. │   │   ├── login.php            ← 管理后台登录
  43. │   │   ├── news.php             ← 新闻管理
  44. │   │   ├── users.php            ← 用户管理
  45. │   │   ├── settings.php         ← 服务器设置
  46. │   │   ├── header.php           ← 后台头部
  47. │   │   ├── footer.php           ← 后台底部
  48. │   │   ├── sidebar.php          ← 侧边栏导航
  49. │   │   └── init_database.sql    ← 数据库初始化脚本
  50. │   ├── assets/css/              ← 样式文件
  51. │   └── templates/               ← 模板文件
  52. └── docs/                        ← 文档
  53.     ├── database-schema.sql      ← Web 端数据库表结构
  54.     ├── soap-test.php            ← PHP SOAP 测试脚本
  55.     └── soap-test.ps1            ← PowerShell SOAP 测试脚本
复制代码


---

## &#128279; 相关链接

- [AzerothCore 官方文档](https://www.azerothcore.org/wiki/)
- [AzerothCore GitHub](https://github.com/azerothcore/azerothcore-wotlk)
- [项目源码](E:\Openclaw\0workspace\AzerothCore\dlq+web\)

---

## &#128221; 更新日志

### v1.0 (2026-04-26)
- 初始版本发布
- C# WPF 登录器(单文件 EXE)
- PHP Web 端 + 管理后台
- SOAP API 账号管理
- 新闻公告系统
- 补丁下载/自动更新
- 三重服务器状态检测
- 全面中文化


通过网盘分享的文件:dlq+web.zip
链接: https://pan.baidu.com/s/1UGXVK-tNnbfB6OphUkJjsw?pwd=w32e 提取码: w32e
[发帖际遇]: zzy0081 乐于助人,奖励 7 枚 金币. 幸运榜 / 衰神榜
回复

使用道具 举报

发表于 2026-4-26 18:10:18 | 显示全部楼层
[龙虾编译]AzerothCoreWeb+登录器[源码 + 编译结果] [修改]
回复 支持 反对

使用道具 举报

发表于 2026-4-26 21:47:00 | 显示全部楼层
gxfx感谢分享
[发帖际遇]: lel202 在论坛发帖时没有注意,被小偷偷去了 4 枚 金币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

发表于 2026-4-27 00:06:55 | 显示全部楼层
电饭煲里不要放太多的水,否则,你就成了吃软饭的人。
好的帖子就应该灌水,否则……就很难找到了
软饭可以吃,水却不能不灌
回复 支持 反对

使用道具 举报

发表于 2026-4-27 00:12:11 | 显示全部楼层
这是什么
回复 支持 反对

使用道具 举报

发表于 2026-4-27 00:26:02 | 显示全部楼层
谢谢分享
[发帖际遇]: a894834062 在论坛发帖时没有注意,被小偷偷去了 2 枚 金币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

发表于 2026-4-27 08:45:35 | 显示全部楼层

感谢楼主分享
回复 支持 反对

使用道具 举报

发表于 2026-4-27 09:43:13 | 显示全部楼层
感觉好厉害的样子!虽然我看不太懂!!
回复 支持 反对

使用道具 举报

发表于 2026-4-27 13:27:54 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2026-4-28 14:19:49 | 显示全部楼层
[龙虾编译]AzerothCoreWeb+登录器[源码 + 编译结果]                                                                                    
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

本站内容如若侵犯到您的权益,请来电来函告知,我们会尽快处理!
联系QQ:1953150286,2251387361,123784736,免责申明

排行榜|联系我们|小黑屋|手机版|Archiver|游戏藏宝湾 |

GMT+8, 2026-6-5 02:22 , Processed in 0.179480 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表