Skip to content

Latest commit

 

History

History
108 lines (73 loc) · 3.01 KB

File metadata and controls

108 lines (73 loc) · 3.01 KB

Discord 整合

BlockPilotMC v1.0.5 內建每台 Minecraft 伺服器獨立的 Discord 整合,分為 Minecraft → Discord Webhook 通知Discord Bot 雙向聊天/遠端管理

Minecraft → Discord Webhook 通知

每台伺服器可獨立設定 Webhook URL 與顯示名稱,支援:

  • 伺服器啟動、完成啟動、停止與異常結果。
  • 玩家加入/離開。
  • Minecraft 玩家聊天。
  • 可選的警告與錯誤摘要。

Webhook URL 會在 API 後端使用 AES-256-GCM 加密保存;一般設定讀取只回傳設定狀態與遮罩,不回傳原始 URL。

Discord Bot 雙向聊天與管理

Discord Developer Portal

  1. 建立 Application 與 Bot。
  2. 啟用 Message Content Intent
  3. 邀請 Bot 加入目標 Discord 伺服器。
  4. 在目標頻道授予:
    • View Channel
    • Send Messages
    • Read Message History
  5. 若要自動更新頻道主題,再授予 Manage Channels

BlockPilotMC 設定

可設定:

  • Bot Token。
  • Discord 伺服器 ID。
  • Discord 頻道 ID。
  • Discord → Minecraft 聊天。
  • 遠端管理指令。
  • 頻道主題自動更新週期。
  • 指令前綴,預設為 !bp

Bot Token 只在 API 後端加密保存,不寫入前端程式或稽核紀錄。

指令偵測

BlockPilotMC 會分析:

  • Minecraft 啟動檔與 JAR。
  • Forge / NeoForge libraries。
  • 已安裝的模組與插件。
  • 執行中伺服器的 help 輸出。
  • spark 是否存在,以提供 TPS / MSPT 查詢能力。

分析結果會建立 Discord 可用指令清單,由管理員決定哪些指令可以從 Discord 執行。

權限模型

管理員權限身分組

可使用已開啟「管理員可用」的指令。

玩家權限身分組

只能使用另外開啟「玩家可用」的指令。

單獨允許使用者

指定 Discord User ID 可取得管理員層級的 Discord 指令權限。

若同一使用者同時符合玩家與管理員權限,以管理員權限為優先。

介面提供:

  • 套用安全建議
  • 清除玩家權限
  • 取消全部指令

方便快速建立較保守的遠端管理權限。

常用指令

預設前綴為 !bp

!bp status
!bp players
!bp tps
!bp start
!bp stop
!bp restart
!bp backup
!bp help

可用指令仍以該伺服器的指令分析結果與管理員設定為準。

頻道主題

可設定週期性更新 Discord 頻道主題,顯示 Minecraft 伺服器的狀態、核心、玩家資訊與運行時間。Discord Bot 必須具有 Manage Channels

安全原則

  • Webhook URL 與 Bot Token 只在 API 後端加密保存。
  • 遠端管理預設不應對所有 Discord 使用者開放。
  • 使用身分組 ID 或單獨使用者 ID 建立允許清單。
  • 不提供未受限制的任意主控台 passthrough。
  • 只有 BlockPilotMC 已辨識且管理員允許的指令可從 Discord 執行。
  • Discord 訊息停用自動提及,避免意外觸發 @everyone@here 或角色提及。
  • 指令執行、拒絕與錯誤結果可寫入稽核紀錄,但 Token 不會記錄。