前言¶
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/路由下。