☰
HsMod 安装指南:基于 BepInEx 的炉石传说多功能模改插件
2026/10/31 1:29:37 网站建设 项目流程

HsMod 安装指南:基于 BepInEx 的炉石传说多功能模改插件

【免费下载链接】HsModHearthstone Modification Based on BepInEx项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod

HsMod 是一款基于 BepInEx 5.x 框架和 Harmony 热补丁技术开发的炉石传说(Hearthstone)模改插件,以单一 DLL 形式注入游戏,覆盖变速控制、界面清理、快速开包、酒馆战棋数据、皮肤定制等场景。项目采用 AGPL-3.0 协议开源,支持 Windows、macOS、Linux 三个平台,不收集任何用户信息,仅用于学习与研究。

📦 安装与依赖配置

前置条件

  • 最新正式版炉石客户端,安装路径不能包含非拉丁字符(如中文)
  • BepInEx 5.x。BepInEx 6 仍处于预发布阶段,HsMod 尚未适配;2026-07-01 起炉石转为 64 位程序,请使用 x64 构建
  • 从源码编译需要 .NET SDK 8.x
  • 插件不收集任何数据,但需注意与其他修改Assembly-CSharp.dll的模组可能冲突(见"故障排查")

Windows 安装步骤

  1. 从 Releases 下载HsMod.dll,或按下面的方式从源码编译

  2. 将 BepInEx x64 解压到炉石根目录(Hearthstone\)

  3. 将项目目录 HsMod/UnstrippedCorlib/ 下的全部 DLL 复制到Hearthstone\BepInEx\unstripped_corlib\

  4. 编辑Hearthstone\doorstop_config.ini:

    [config] dll_search_path_override = BepInEx\unstripped_corlib

    旧版本 BepInEx 的键名为dllSearchPathOverride

  5. 将HsMod.dll放入Hearthstone\BepInEx\plugins\,启动游戏

从源码编译:

git clone --depth 1 --branch bepinex5 https://gitcode.com/GitHub_Trending/hs/HsMod cd HsMod dotnet build --configuration Release --no-restore

产物位于HsMod/Release/HsMod.dll。构建后的install.bat会在检测到默认炉石目录已配置 BepInEx 时自动复制 DLL。

macOS 与 Linux

  • macOS:使用BepInEx_macos_universal,DLL 来自 HsMod/UnstrippedCorlibUinx/,在run_bepinex.sh中设置executable_name="Hearthstone.app",并以x86_64架构运行(炉石目前无 arm64 版本)
  • Linux:通过 0xf4b1 的hearthstone-linux方案安装客户端,使用 BepInEx unix v5,executable_name="Bin/Hearthstone.x86_64"
  • 两者都通过client.config中的登录令牌(Battle.net 登录 URL 中?ST=与&accountId=之间的部分)绕过 Battle.net 启动,令牌过期后游戏打不开时更新该文件即可

🎮 功能总览

核心操作场景

  • 变速齿轮:1~32 倍(默认上限 8 倍,可配置),快捷键分升档、降档、复位、最大四组
  • 显示实时帧率,并可修改目标帧率
  • 快速开包:空格一次开 5 包,可选开包时自动分解全额退尘卡;支持一键分解全额退尘卡组
  • 收藏页显示卡牌真实数量(9+)、右键查看 DbId、一键清除new!标记

界面清理与对手信息

  • 移除中文提示、削弱补丁提示、广告、天梯结算奖励、游戏结束推广与奖励弹窗
  • 屏蔽对手表情(可限量)、屏蔽"思考"表情、屏蔽鲍勃语音、跳过匹配英雄介绍
  • 显示对手完整 Battle.net 昵称、传说以下天梯段位、对手已知卡牌标记,可一键静音(快捷键)

酒馆战棋场景

  • 排行榜覆盖层显示每位对手 MMR(单人/双人,对局开始后台加载)
  • 对局统计:每场排位的位置、MMR 变化、英雄写入 CSV,网页按今日 / 7 天 / 月 / 全部与单人 / 双人筛选
  • 商店快捷键:刷新、冻结、酒馆升级、英雄技能、双人模式队友棋盘;按键可重绑,仅购物阶段生效
  • 开局自动屏蔽所有对手表情(默认关闭)、快速战斗跳过部分动画

自动化与 AFK 场景

  • VerifyWebCredentials登录,支持命令行启动,无需 Battle.net;支持--width/--height等启动参数
  • 禁用掉线检测,允许长时间无操作挂机
  • 自动收取竞技场、对决、佣兵等奖励并打开奖励包、自动举报对手、自动轮换卡组、观战时自动切换视角
  • 屏蔽错误报告(不向暴雪发送错误信息),或选择允许报告并自动退出

个性化与开发者场景

  • 皮肤:匹配/酒馆英雄皮肤、终结动画、面板、幸运硬币、卡背、自动金卡/钻卡、佣兵随机皮肤
  • 模拟开包(随机或固定结果,可指定类型、数量、稀有度)、模拟拔线断连、访问炉石开发者模式
  • Showinfo 网页显示佣兵进度、开包历史等信息(默认端口 58744);/shellWebShell 需手动启用

🔍 重点功能深讲

变速齿轮系统

  • 做什么:统一控制游戏内动画与流程速度,负值减速、正值加速,默认档位在 -8 ~ 8 之间循环,上限可配置到 32
  • 怎么用:在配置中开启isTimeGearEnable,通过四组可重绑快捷键升档/降档/复位/最大;挂机模板(AFK 模板)下齿轮会自动置零
  • 注意事项:高速档位适合开包、日常任务与观战回放;对局中保持 1 倍速度,避免操作变形。相关配置项为timeGear(Main.cs 中的快捷键分发逻辑)

酒馆战棋数据与快捷键

  • 做什么:在战棋排行榜上叠加对手 MMR,并将每场排位的位置、MMR 变化、英雄记录到会话统计
  • 怎么用:开启isBgRankEnable与isBgSessionStatsEnable;日志写入BepInEx\HsMatch.log(逗号分隔 CSV),配置页提供时间范围与模式筛选图表
  • 注意事项:MMR 数据在对局开始时后台加载,首次显示可能略有延迟;快速战斗功能在佣兵 PvE 中同样可用,但最终死亡结算可能滞后

皮肤定制

  • 做什么:修改匹配/酒馆英雄皮肤、终结动画、匹配与酒馆面板、幸运硬币、卡背,以及金卡/钻卡表现
  • 怎么用:编辑HsSkins.cfg(首次运行自动生成)或在游戏内 Mod Settings 中修改;对局中更新时按F4保存皮肤配置,再触发模拟断线使新皮肤生效。卡背类修改在局内自动生效
  • 注意事项:F4是固定快捷键,同时会转储游戏内信息到Hearthstone\BepInEx\并重启 Web 服务;皮肤显示异常时先核对HsSkins.cfg,无效则删除HsMod.cfg重新配置

⚙️ 配置文件说明

文件位置说明
HsMod.cfgHearthstone\BepInEx\config\主配置,含全部功能开关与快捷键,首次运行自动生成
HsSkins.cfgHearthstone\BepInEx\config\皮肤配置,首次运行自动生成
HsMatch.logHearthstone\BepInEx\战棋会话统计,CSV 格式,路径可在设置中改
client.config与Hearthstone.exe同级绕过 Battle.net 的令牌登录配置

大部分功能默认关闭,需在 ModSettingsUI 对应的游戏内菜单(Esc → Mod Settings,带分类、搜索与按键录制)或 Web 配置页http://localhost:58744/config中逐项启用。改动一般即时生效,无需重启;例外是对局中的皮肤更新,需要F4保存 + 模拟断线。

client.config示例:

[Config] Version = 3 [Aurora] VerifyWebCredentials = "TOKEN" ClientCheck = 0 Env.Override = 1 Env = us.actual.battle.net

Env按区域填写,国服为cn.actual.battlenet.com.cn,其余与令牌前两位一致。启用插件后也可直接用./Hearthstone.exe VerifyWebCredentials命令行启动。

🗂 架构速览

HsMod/ ├── Main.cs # 插件入口:参数解析、快捷键分发、F4 处理 ├── PluginConfig.cs # 全部配置项定义 ├── Patcher.cs # Harmony 补丁统一注册与卸载 ├── Patches/ # 按玩法拆分的补丁模块(战棋/佣兵/盒子/反作弊等 20+ 文件) ├── Utils*.cs # 通用工具:皮肤、假宠物、命令行参数、开包 ├── Bg*.cs # 酒馆战棋:MMR 覆盖层、会话统计、自动静默 ├── WebServer.cs / WebApi.cs / WebPage.cs # 内置 Web 服务与配置页 ├── Languages/ # 16 种语言 JSON,作为嵌入资源随 DLL 编译 ├── WebResources/ # 配置页与展示页 HTML 模板 └── UnstrippedCorlib(Uinx)/ # 未剥离 PDB 的运行库(Windows / Unix 各一套)

设计思路:每个玩法对应一个独立补丁类,由 Patcher.cs 集中注册,互不干扰;多语言与网页资源以嵌入资源形式编译进HsMod.dll,部署只需一个文件;Web 服务与游戏进程同生命周期,F4可重启。版本号采用四段式(当前如12.1.0.1):第一段对应炉石大版本,第二段为该版本内炉石更新次数,第三段为 HsMod 功能更新次数,第四段为编译(bug 修复)版本。炉石更新不必然导致 HsMod 失效,插件仍可用时无需强制升级。

💡 使用技巧与调优

  • 几乎全部功能默认关闭,按需启用即可减少潜在冲突与日志噪音
  • 变速档位建议:开包与日常任务 8 倍,动画跳过最高 32 倍,对局回放保持 1 倍
  • Web 服务默认监听所有本地 IP 且端口为 58744,云服务器部署时务必收紧防火墙与安全组
  • 快捷键默认在聊天等文本输入激活时自动禁用,避免打字误触发;酒馆商店快捷键仅购物阶段生效
  • 出问题先删除对应.cfg(通常在BepInEx\config\)重新配置,仍无法解决再附HsMod.cfg反馈

🛠 常见故障排查

插件无法加载

  1. 检查炉石安装路径是否含中文或其他非拉丁字符
  2. 确认 BepInEx 为 5.x 的 x64 版本(非 6.x 预览版),unstripped_corlib下 DLL 完整
  3. 核对doorstop_config.ini中dll_search_path_override是否指向BepInEx\unstripped_corlib

皮肤修改不生效

  1. 核对HsSkins.cfg中的皮肤 ID 是否存在
  2. 对局中按F4保存后模拟断线
  3. 删除HsMod.cfg重新配置

Web 配置页无法访问

  1. 防火墙放行端口 58744,确认游戏已启动且插件加载成功
  2. 尝试更换浏览器,或用启动参数--port指定其他端口

与其他模组冲突

  1. 检查是否有其他基于Assembly-CSharp.dll的模组在修改 IL,会导致补丁偏移错位
  2. 两个 BepInEx 插件同时补丁同一方法也会失效,HsMod 不检测原方法是否已被修改,建议排查后禁用其中一个

设置无法保存

  1. 检查是否同时启用了其他炉石插件
  2. 删除HsMod.cfg后重新进入 Mod Settings 配置

⚠️ 安全与合规提示

  • 中国大陆炉石客户端默认启动反作弊 SDK,HsMod 会尝试屏蔽相关功能,但不能保证账号安全
  • 建议在非排位、非官方比赛的休闲场景中测试,避免在正式赛事中使用
  • 插件不收集任何用户信息,遵循 AGPL-3.0,定位是学习与研究用途
  • /shellWebShell 权限很高,必须手动启用,且该端口绝不应暴露到公网

🤝 社区与贡献

项目遵循 AGPL-3.0 协议,开发活动在上游仓库 Pik-4/HsMod 进行:

  • 问题反馈:提交 Issue,附HsMod.cfg便于定位
  • 功能开发:修复补丁、新增玩法支持,提交 PR
  • 翻译:编辑 HsMod/Languages/ 下对应语言 JSON(当前覆盖 zhCN、enUS、jaJP、koKR、ruRU 等 16 种),重新编译后提交
  • 社区讨论:Telegram 群组 @HearthstoneMod 与官方 Discord 服务器

结语

HsMod 把炉石玩家日常重复、低效的操作——开包、收集奖励、战棋商店、界面提示——收敛到一套可配置的开关与快捷键里,同时保留了皮肤与开发者工具这类深度定制入口,是 BepInEx 生态中功能面较宽的炉石插件之一。如果你受够了冗长动画和满屏提示,可以从安装 BepInEx 5.x、放置HsMod.dll这两步开始,进游戏后按 Esc 进入 Mod Settings 逐项打开需要的功能。

【免费下载链接】HsModHearthstone Modification Based on BepInEx项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询