前言¶
跑私服或整合包服时,查进程、翻日志、改白名单、启停进程往往要 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。