# DesktopDPS **Repository Path**: ayusummer233/desktop-dps ## Basic Information - **Project Name**: DesktopDPS - **Description**: No description available - **Primary Language**: Unknown - **License**: MPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-08-10 - **Last Updated**: 2025-08-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 星痕共鸣伤害统计工具 ## 📖 目录 - [📥 安装指南](#-安装指南) - [🚀 快速开始](#-快速开始) - [🎮 使用说明](#-使用说明) - [🌟 功能特性](#-功能特性) - [🔧 故障排除](#-故障排除) - [⚙️ 高级配置](#-高级配置) --- ## 📥 安装指南 ### 环境要求 - **操作系统**: Windows 10/11 - **权限**: 管理员权限(用于网络包捕获) - **Python**: 版本(群文件) - **Node.js**: 16+ 版本(群文件) - **Npcap**: 1.83(群文件,要勾选第三个选项 WinPcap API) - **VCTool**: (群文件) ### 🎯 一键安装(推荐) #### 方法一:标准安装 ```batch # 右键以管理员身份运行 install.bat ``` ### 📋 安装检查清单 - [ ] 是否安装了 Python - [ ] 路径不包含中文或特殊字符 - [ ] 以管理员身份运行 - [ ] 网络连接稳定 - [ ] 防火墙允许 Node.js - [ ] 足够的磁盘空间(至少 500MB) ### 🚨 常见安装问题 #### 1. install.bat 立即闪退 **原因**: Python 未安装 **解决方案**: win+R 打开运行界面。输入 python 回车 如果没有进入 pyhon 运行界面 类似于 ```code python 3.9.13 >> ``` 都说明 没成功安装 python 进入群文件下载 python 根据指南进行安装 [Python 安装指南](https://blog.csdn.net/xuemanqianshan/article/details/144809714) #### 2. npm 安装失败 **症状**: install 报错 常见样式 ##### 1. Vctool Err ![Vctool_err](markdown/Vctool_error.png) 说明 VCTool 没有安装 解决方法: - 下载并安装 Visual Studio 2019 Build Tools ,勾选 “C++桌面开发” 和 “Windows SDK” 组件 SKD 组件根据电脑版本来。不清楚的可以全选上 ![vc_setup](markdown/vc_setup.jpg) #### 3. Node.js 未安装 ![node_err](markdown/node_err.png) **解决方案**: - 群文件下载 node - 安装时勾选 "Add to PATH" - 重启计算机(部分情况下不需要) --- ## 🚀 快速开始 ### 💫 一键启动(推荐) ```batch # 启动完整功能:服务器 + 浏览器 + 悬浮窗 一键启动.bat ``` ### 🎯 分步启动 #### 1. 仅启动服务器 ```batch start.bat ``` #### 2. 仅启动悬浮窗 ```batch cd floating_overlay start_overlay.bat ``` ### ⚙️ 首次配置 1. **网卡配置**(自动生成,也可手动编辑 `server_input.txt`): 暂时存在问题需要手动修改 create_config.js ``` 3 # 网卡编号(通常是3) info # 日志级别 ``` 2. **访问地址**: - 浏览器界面: http://localhost:8989 - 桌面悬浮窗: 自动启动 --- ## 🎮 使用说明 ### 🌐 浏览器界面 - **实时统计**: 查看详细伤害数据 - **图表分析**: 可视化数据展示 - **历史记录**: 查看统计历史 - **控制面板**: 开始/暂停/清除统计 ### 🪟 桌面悬浮窗 #### 基本操作 - **拖拽移动**: 鼠标拖拽调整位置 - **调整大小**: 设置中调节窗口尺寸 - **锁定模式**: 防止游戏中误操作 - **透明度**: 30%-100%可调 #### 显示内容 - 🏆 **伤害排行**: 实时玩家排名 - 📊 **百分比**: 相对第一名的伤害比例 - ⚡ **DPS**: 每秒伤害输出 - 💥 **暴击率**: 暴击和幸运统计 - 🏷️ **职业**: 自动识别玩家职业 #### 功能按钮 - **📊 技能**: 查看详细技能分析 - **⚙️ 设置**: 打开设置面板 - **🏷️ 昵称**: 管理玩家昵称 - **🔒 锁定**: 锁定/解锁窗口 ### 🏷️ 昵称管理 #### 添加昵称 1. 点击 `⚙️` → `🏷️ 管理昵称` 2. 点击 `➕ 添加新昵称` 3. 输入玩家 ID 和昵称 #### 编辑昵称 1. 点击昵称旁的 `✏️ 编辑` 2. 在弹出的输入框中修改 3. 按 Enter 确认,Esc 取消 #### 删除昵称 1. 点击 `🗑️ 删除` 2. 确认删除操作 --- ## 🌟 功能特性 ### 📊 核心统计功能 #### 伤害统计 - **实时排行榜**: 按伤害量排序显示 - **百分比显示**: 第一名 100%,其他按比例 - **DPS 计算**: 每秒伤害输出统计 - **暴击分析**: 暴击率和幸运一击率 - **职业识别**: 自动显示玩家职业 #### 治疗统计 - **治疗排行**: 治疗量统计和排名 - **HPS 计算**: 每秒治疗量统计 - **治疗效率**: 治疗技能效果分析 - **模式切换**: 伤害/治疗模式切换 #### 承伤统计 - **承伤排行**: 坦克承受伤害统计 - **生存分析**: 承伤数据展示 - **防护效率**: 减伤效果分析 ### ⚔️ 技能详细分析 #### 技能统计 - **伤害占比**: 各技能伤害百分比 - **使用次数**: 技能释放频率统计 - **单次伤害**: 技能平均伤害值 - **效率分析**: 技能输出效率 #### 可视化展示 - **进度条**: 红橙渐变的美观进度条 - **排序显示**: 按伤害占比排序 - **悬停提示**: 显示完整技能名称 - **滚动查看**: 支持查看所有技能 ### 🪟 悬浮窗特性 #### 界面设计 - **现代 UI**: 橙色主题,简洁美观 - **半透明**: 可调节透明度(30%-100%) - **无边框**: 游戏内不干扰显示 - **响应式**: 适配不同屏幕尺寸 #### 交互功能 - **拖拽移动**: 自由调整显示位置 - **大小调整**: 宽度 300-800px,高度 200-1000px - **锁定模式**: 防止误操作 - **置顶显示**: 始终在游戏上方 #### 设置选项 - **显示模式**: 伤害/治疗/承伤切换 - **排序方式**: 从高到低/从低到高 - **职业显示**: 开启/关闭职业信息 - **计时器**: 显示统计时长 - **刷新频率**: 1-5 秒可选 ### 🔧 技术特性 #### 性能优化 - **数据哈希**: 避免无意义更新 - **事件委托**: 高效事件处理 - **内存管理**: 防止内存泄漏 - **异步处理**: 非阻塞数据更新 #### 稳定性 - **错误捕获**: 完善异常处理 - **自动重连**: 网络断开自动重连 - **状态恢复**: 重启后状态恢复 - **兼容性**: 支持不同 Windows 版本 --- ## 🔧 故障排除 ### 🚨 启动问题 #### 1. 一键启动闪退 **症状**: cmd 窗口一闪即逝 **解决方案**: 1. 确保以管理员身份运行 2. 检查路径是否包含中文字符 3. 尝试使用 `一键启动_简化版.bat` 4. 查看 `launch.log` 获取详细错误 #### 2. Node.js 相关错误 **症状**: "node 不是内部或外部命令" **解决方案**: 1. 安装 Node.js: https://nodejs.org/ 2. 重启计算机 3. 验证安装: `node --version` #### 3. 端口占用问题 ✅ 已自动化 **症状**: "EADDRINUSE: address already in use" **解决方案**: - 一键启动脚本已自动清理端口冲突 - 无需手动操作 #### 4. 依赖安装失败 **症状**: "Cannot find module" 或 npm 错误 **解决方案**: 1. 以管理员身份运行 `install.bat` 2. 检查网络连接 3. 清空缓存: `npm cache clean --force` 4. 删除 `node_modules` 重新安装 ### 🪟 悬浮窗问题 #### 1. 悬浮窗不显示 **解决方案**: 1. 检查 Electron 是否安装: `cd floating_overlay && npm list electron` 2. 手动启动: `cd floating_overlay && npx electron .` 3. 查看 `overlay_debug.log` #### 2. 悬浮窗崩溃 **解决方案**: 1. 更新 Electron: `cd floating_overlay && npm update electron` 2. 重置配置文件 3. 以调试模式启动: `npx electron . --debug` ### 📊 数据问题 #### 1. 无法捕获数据 **解决方案**: 1. 确认网卡配置正确 2. 检查游戏是否运行 3. 尝试不同网卡编号 4. 确保管理员权限 #### 2. 数据不准确 **解决方案**: 1. 重启统计: 浏览器中点击"清除数据" 2. 检查网络环境 3. 更新技能名称文件 ### 🔍 调试方法 #### 查看日志文件 - `launch.log` - 启动日志 - `server_output.log` - 服务器日志 - `install_log.txt` - 安装日志 - `overlay_debug.log` - 悬浮窗日志 #### 手动启动调试 ```cmd # 以管理员身份打开命令提示符 cd /d "项目路径" node server_wrapper.js ``` --- ## ⚙️ 高级配置 ### 📁 文件结构 ``` StarResonanceDamageCounter/ ├── 一键启动.bat # 🎯 主启动脚本 ├── install.bat # 标准安装脚本 ├── install_safe.bat # 增强安装脚本 ├── diagnose_install.bat # 诊断工具 ├── server.js # 主服务器 ├── server_wrapper.js # 服务器包装器 ├── server_input.txt # 网卡配置 ├── nicknames.json # 昵称数据 ├── skill_names.json # 技能名称 ├── floating_overlay/ # 桌面悬浮窗 │ ├── main.js # Electron主进程 │ ├── overlay.html # 界面HTML │ ├── overlay.css # 样式表 │ ├── renderer_simple.js # 渲染逻辑 │ └── package.json # 悬浮窗依赖 └── public/ # 网页资源 └── index.html # 浏览器界面 ``` ### ⚙️ 配置文件说明 #### `server_input.txt` - 网卡配置 ``` 3 # 网卡编号(1-10,通常是3) info # 日志级别(debug/info/warn/error) ``` #### `nicknames.json` - 昵称管理 ```json { "player123": "小明", "player456": "小红" } ``` ### 🎨 自定义设置 #### 悬浮窗设置 - **透明度**: 修改 `overlay.css` 中的 `opacity` - **主题颜色**: 调整 CSS 变量 `--primary-color` - **默认大小**: 修改 `main.js` 中的窗口尺寸 #### 服务器设置 - **端口**: 修改 `server.js` 中的端口号 - **刷新频率**: 调整数据推送间隔 - **数据保留**: 设置统计数据保留时间 ### 🔌 API 接口 #### 获取统计数据 ``` GET http://localhost:8989/api/stats ``` #### 获取技能数据 ``` GET http://localhost:8989/api/skills ``` #### 清除统计 ``` POST http://localhost:8989/api/clear ``` ### 🛠️ 开发者选项 #### 调试模式 ```bash # 启用详细日志 set DEBUG=* node server.js # 悬浮窗调试 cd floating_overlay npx electron . --debug ``` #### 自定义功能 - 修改 `skill_names.json` 添加新技能 - 扩展 `renderer_simple.js` 添加新功能 - 自定义 `overlay.css` 修改界面样式 --- ## 💡 使用技巧 ### 🎮 游戏中最佳实践 1. **悬浮窗位置**: 放在不影响操作的屏幕角落 2. **透明度设置**: 70%-80%既清晰又不遮挡 3. **锁定模式**: 团战时启用防止误操作 4. **职业显示**: 了解团队构成优化配置 ### 📊 数据分析技巧 1. **技能优化**: 关注伤害占比最高的技能 2. **输出循环**: 分析技能使用频率 3. **团队配合**: 观察治疗与输出的平衡 4. **个人提升**: 对比不同时段的表现 ### 🏷️ 昵称管理建议 1. **统一格式**: 使用简洁易识别的昵称 2. **职业标识**: 在昵称中包含职业信息 3. **定期整理**: 清理不活跃玩家昵称 4. **备份数据**: 定期备份 `nicknames.json` --- ## 🆘 获取帮助 ### 📞 联系方式 如果遇到无法解决的问题: 1. **检查日志**: 查看相关日志文件内容 2. **重现问题**: 记录具体的操作步骤 3. **环境信息**: 提供系统版本和 Node.js 版本 4. **截图说明**: 提供错误截图 ### 📋 问题报告模板 ``` 问题描述: [详细描述遇到的问题] 操作系统: [Windows版本] Node.js版本: [node --version 的输出] 操作步骤: [重现问题的具体步骤] 错误信息: [完整的错误信息] 日志文件: [相关日志文件内容] ``` ### 🔄 更新说明 - 定期检查项目更新 - 备份个人配置文件 - 阅读更新日志了解新功能 --- ## 🎯 结语 星痕共鸣伤害统计工具致力于为玩家提供: - 🎯 **准确的数据** - 实时可靠的统计信息 - 🎨 **美观的界面** - 现代化的用户体验 - ⚡ **流畅的性能** - 高效稳定的运行表现 - 🔧 **完善的功能** - 满足各种统计需求 现在你已经掌握了工具的完整使用方法,快去游戏中体验实时数据分析的乐趣吧! **记住:始终以管理员权限运行,确保网卡配置正确!** 🚀 --- _最后更新: 2025 年 1 月_