Skip to content

Latest commit

 

History

History
54 lines (40 loc) · 2.42 KB

File metadata and controls

54 lines (40 loc) · 2.42 KB

Discord 整合

BlockPilotMC v1.0.4 內建每台 Minecraft 實體獨立的 Discord 整合,可使用 Incoming Webhook 傳送事件通知,也可使用 Discord Bot 建立雙向聊天與受限的遠端管理指令。

功能

  • Minecraft → Discord:伺服器啟動、停止、玩家加入離開、玩家聊天、警告與錯誤摘要。
  • Discord → Minecraft:將指定頻道的一般訊息透過 tellraw 顯示在遊戲內。
  • 管理指令:狀態、玩家清單、TPS、啟動、停止、重新啟動、備份及經分析後由管理員勾選的 Minecraft 指令。
  • 頻道主題:每 15、30 或 60 秒更新伺服器狀態、核心與運作時間。
  • 指令分析:掃描伺服器核心、插件、模組與執行中的 help 輸出,再由管理員選擇允許在 Discord 使用的指令。

Webhook 設定

  1. 在 Discord 文字頻道開啟「整合 → Webhooks」並建立 Webhook。
  2. 將 Webhook URL 貼入 BlockPilotMC 的「Discord 整合」。
  3. 選擇要傳送的事件並儲存。
  4. 使用「測試 Webhook」確認頻道可以接收訊息。

Webhook URL 會使用 AES-256-GCM 加密保存。一般設定讀取只會回傳遮罩;管理員按下眼睛按鈕時才會透過禁止快取的 API 解密顯示。

Discord Bot 設定

  1. 在 Discord Developer Portal 建立 Application 與 Bot。
  2. 在 Bot 頁面啟用 Message Content Intent
  3. 邀請 Bot 加入 Discord 伺服器。
  4. 在目標頻道授予 View ChannelSend MessagesRead Message History;需要自動更新頻道主題時,再授予 Manage Channels
  5. 將 Bot Token、伺服器 ID 與頻道 ID 填入 BlockPilotMC。
  6. 設定允許的 Discord 身分組 ID 或使用者 ID,再啟用遠端管理指令。

安全原則

  • Bot Token 與 Webhook URL 只在 API 後端加密保存,不會寫入前端程式。
  • 遠端管理預設關閉,且必須設定身分組或使用者白名單。
  • 不提供未受限制的任意主控台 passthrough;只有已分析並勾選的指令可執行。
  • Discord 訊息停用自動提及,避免意外觸發 @everyone@here 或角色提及。
  • 指令執行、拒絕與錯誤會寫入稽核紀錄,但不記錄 Token。

指令前綴

預設前綴為 !bp,常用指令包括:

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

管理員可在每台實體的指令清單中勾選額外指令。tp 已列入預設建議項目。