前言¶
跑私服或整合包服時,查進程、翻日誌、改白名單、啓停進程往往要 SSH 或 RDP 到本機,羣友在 QQ 裏問「服還活着嗎」也得不到統一入口。把 DeepSeek Harness(DSH)當作運維中樞時,還需要一層把「服務器目錄 + RCON + 權限」封裝成工具,並把對話入口接到羣裏——聊天通道本身並不屬於 MC 運維插件的職責範圍。
下面介紹維護者 mogutofu 發佈的 dsh-mc-server-ops(GitHub:mogutofu/dsh-mc-server-ops,社區目錄:skillhub.cn 插件頁)。它在 DSH 裏註冊 mc_server 等能力,配合 QQ 機器人插件 讓羣友查狀態、看日誌、綁定遊戲名,服主啓停服、改配置、維護 KubeJS;分類上屬於工作流類插件。插件以當前 DSH 進程權限訪問本機目錄與 RCON,安裝前應自行閱讀倉庫源碼與 MIT 許可證,確認與自身安全策略一致。
這是什麼¶
dsh-mc-server-ops 把一臺 Minecraft 服務器託管進 DSH:狀態彙總、啓停、日誌、白名單、受保護路徑的羣友投票、靜態命令攔截、可選 Pterodactyl 面板適配,以及可選的「遊戲聊天 → QQ 羣」直通橋(不經過 AI、不消耗 token)。README 明確說明:插件本身只是「服務器操作 + 人設」這一層,聊天通道由 QQ 機器人插件提供;未安裝並配置 @tencent-connect/dsh-qqbot 時,羣裏沒有入口,本地 GUI 會話仍可使用 mc_server 工具。
當前 npm 包版本爲 0.4.1(見 package.json),要求 DSH ≥ 0.2.0、Node.js ≥ 20.3.0,並對 @tencent-connect/dsh-qqbot(≥ 0.5.0)聲明爲 peer 依賴。
核心能力(與 README 一致)¶
運維與觀測¶
- 狀態:進程、在線玩家、CPU、內存、TPS、磁盤、運行時長,並給出「正常 / 卡頓 / 無響應假死 / 啓動中」等判定。
- 啓停:
start/stop/restart;假死可強殺重啓;在確認關閉或假死等條件下,玩家也可重啓(受功能開關約束)。 - 日誌:最近日誌(過濾 RCON 噪音)、最近一次崩潰上下文。
- 白名單:QQ 與遊戲名綁定,寫入
whitelist.json(保留大小寫,避免離線 UUID 不匹配)。 - KubeJS:腳本備份與重載。
權限與人設¶
- 默認羣友只能查狀態、看日誌、提問;高危操作依賴
<服務器目錄>\ops\data\owners.json中的服主 QQ openid。 - 改動
world、ops/data、白名單等受保護路徑時,需羣友投票:默認 2 位同意 通過,1 位反對 即作廢(可配置)。 - 默認人設「小銅」,名稱與語氣可在設置中修改,無需改代碼。
命令攔截與安全¶
ops/command-guard.mjs 在 RCON 出網前攔截例如 kill @a、kick @a、whitelist off 等;stop 僅服主可發。插件層與 PowerShell 層(mcadmin.ps1)雙重生效。倉庫與 npm 包不含口令、QQ 號或整合包數據;服主名單僅通過本機設置面板或命令行維護,不能經 QQ 聊天自行提權。
連接方式¶
adapter=local(默認):本機通過ops/mcadmin.ps1(Windows)或ops/rcon.mjs執行寫操作。adapter=panel:通過 Pterodactyl 客戶端 API 發 power / command;只讀操作不經過適配器。
羣服互通(可選)¶
啓用 bridge 後,橋增量讀取 logs/latest.log,識別玩家聊天與進出服事件,直接調用 QQ 開放平臺發羣消息,不創建 agent 會話。需注意日誌編碼(中文 Windows 常爲 GBK)、合併窗口與每日發送上限(默認 maxPerDay 900)。配置在設置面板「羣服互通」中修改後可立即生效。
安裝與啓用¶
安裝順序:先 QQ 機器人,再本插件。命令來自 README 原文:
# 1) 先裝 QQ 機器人插件並配好 AppID / AppSecret
dsh plugin add @tencent-connect/dsh-qqbot
# 2) 再裝本插件
dsh plugin add dsh-mc-server-ops
本地開發可指向目錄:
dsh plugin add /path/to/dsh-mc-server-ops
安裝後重啓 DSH,在「設置 → 插件 → mc-server-ops」中填寫服務器目錄。核心字段包括:
| 字段 | 默認 | 說明 |
|---|---|---|
server.dir |
空 | 含 server.properties、mods、java 的目錄;留空則讀環境變量 MC_SERVER_DIR,再否則 D:\server |
server.rconPort |
25575 |
需在 server.properties 中 enable-rcon=true |
server.rconPassword |
空 | 留空則從 server.properties 讀取 |
首次運行會把 ops/*.ps1 複製到 <服務器目錄>\ops\,運行期數據(如 bindings.json、votes.json、owners.json)也生成在該處,不會寫進插件倉庫。
服主綁定與典型用法¶
區分服主與羣友¶
- 打開「設置 → MC 服務器 → 服主綁定」。
- 填入對方 QQ openid(羣消息形如
[暱稱 (ID)],括號內即爲 openid;也可在羣裏 @ 機器人問「我的 ID 是多少」)。 - 點擊「添加爲服主」;名單即時生效,行內可「移除」。
服務器本機等價命令(README 示例):
powershell -File <服務器目錄>\ops\mcadmin.ps1 -Action owner-add -Arg <openid> -Actor LOCAL-CONSOLE
名單爲空時該命令用於引導;一旦已有服主,僅服主可繼續加人。羣聊、私聊中無法自行提權。
功能開關¶
設置界面中可逐項關閉例如「玩家開服」「改 KubeJS」「投票放權」等;關閉後羣友調用會被插件直接拒絕並說明原因,服主不受影響。playerStop 默認關,即玩家不能停服。
在羣裏能做什麼¶
羣友:查狀態、看日誌、綁定遊戲名、在授權與投票規則允許下參與改文件或受保護路徑投票。服主:啓停重啓、RCON 管理命令、白名單與導出等。具體觸發方式由 DSH 會話與 QQ 機器人把消息交給 Harness 中的 mc_server 工具完成,語氣與人設由 persona.* 控制(默認 scope 爲 qq)。
運行環境與適用場景¶
README 寫明主要腳本路徑爲 Windows + PowerShell 5.1;跨平臺核心邏輯在 Node 的 ops/rcon.mjs 等模塊。服務端類型不限 Paper、Forge、NeoForge 等,插件依賴端口、RCON 與進程探測,不綁定某一發行版。
適合:已在或計劃在 DSH 上跑 QQ 羣機器人、希望把 MC 服運維收斂到同一 Harness、且服主願意在本機或面板上明確服務器目錄與 RCON 的服主。不適合:沒有 QQ 入口需求且只做本地 GUI 運維的場景(仍可裝插件,但價值主要在羣協作與投票授權)。
注意:插件以 DSH 進程權限讀寫服務器目錄、執行腳本與 RCON;生產使用前請覈對 vote.*、ops.grantHours、命令攔截列表與 bridge 配額,避免誤開放寫權限或羣消息刷屏。
結尾¶
dsh-mc-server-ops 把 MC 服的狀態、啓停、日誌、白名單、KubeJS 與羣友投票授權收進 DSH 工具層,並依賴 @tencent-connect/dsh-qqbot 提供 QQ 入口;可選羣服互通直連 QQ API,不經模型。詳情與完整配置表見 GitHub README,社區索引見 https://www.skillhub.cn/plugins/mogutofu/dsh-mc-server-ops,源碼與 issue:https://github.com/mogutofu/dsh-mc-server-ops。