dsh-mc-server-ops:在 DeepSeek Harness 裏託管 Minecraft 服務器並通過 QQ 羣運維

前言

跑私服或整合包服時,查進程、翻日誌、改白名單、啓停進程往往要 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)也生成在該處,不會寫進插件倉庫。

服主綁定與典型用法

區分服主與羣友

  1. 打開「設置 → MC 服務器 → 服主綁定」。
  2. 填入對方 QQ openid(羣消息形如 [暱稱 (ID)],括號內即爲 openid;也可在羣裏 @ 機器人問「我的 ID 是多少」)。
  3. 點擊「添加爲服主」;名單即時生效,行內可「移除」。

服務器本機等價命令(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。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜