前言¶
DSH Web GUI 支持通过插件扩展功能。Dice Battle 插件在 DSH 界面中集成了骰子游戏合集,运行在中心列 iframe 中,无需离开当前界面即可进行博弈娱乐。
插件简介¶
Dice Battle 是一款收录了六种经典骰子玩法的 Web GUI 插件。插件由 zmm863-commits 维护,基于 MIT 许可证开源。它为 DSH 提供了一个侧边栏入口,点击后可在中心列打开游戏面板。
核心功能¶
- 游戏列表: 包含 Liar’s Dice (吹牛)、Guess Red Dots (猜红点)、Guess Red/Blue (猜红蓝)、Guess Big/Small (猜大小)、Guess Odd/Even (猜单双)、Guess Straight (猜顺子)。
- 运行模式: 支持单人 vs AI 模式。
- 技术集成: 侧边栏菜单项 + 中心列 iframe 加载。
- 界面语言: 支持中英双语 (zh/en)。
- 联机能力: 集成 PeerJS WebRTC 逻辑,代码支持在线对局 (当前 MP_DISABLED=true)。
安装与启用¶
使用官方命令安装插件:
dsh plugin --profile web add dsh-dice-game
安装完成后,重启 dsh web,在侧边栏找到并点击 🎲 骰子大作战 即可启动游戏。
技术细节与注意事项¶
- 沙箱隔离: 游戏以 iframe 加载,使用不透明源沙箱 (无
allow-same-origin),游戏文档与 DSH GUI 完全隔离,无法读取 DOM、Cookie 或 localStorage。 - 构建要求: 构建脚本
build.mjs会将客户端代码 (lib/client.js) 包装为window.__ModuleLoader__.load格式,这是 DSH 客户端模块加载所必需的。 - 当前状态: 联机功能 (MP_DISABLED = true) 暂时禁用,当前仅支持单机单人 vs AI。游戏仅供休闲娱乐,不涉及真实货币或赌博。
- 访问路径: 游戏资源托管在
/dice-game/路由下。