RPT 发表于 5 天前

RptMonitor —— 管理员巡查/直播利器:旁观跟随 + 自动轮换 + 离场归位 [1.21 ~ 26.2]

关于这个插件​查作弊、查违规最有效的办法就是「跟在他背后看」,但直接传送过去会被发现,用旁观者模式手动附身又要记一串操作。
RptMonitor 把这件事压缩成一条指令:/rptmo start <玩家名> —— 立刻进入旁观者模式并附身目标,镜头由服务端原生跟随(和原版旁观者一样流畅),被观察者与其它玩家都不会察觉。观察结束时停留在当前所在位置、保持当前状态(不把你传送回原来的坐标),你看到哪儿就是哪儿。
功能说明​1. 五条指令​
指令说明
/rptmo start [玩家名]开始观察。不填玩家名时自动挑一个在线玩家(跳过自己与黑名单)
/rptmo stop结束观察,停留在当前位置(不返回原地)
/rptmo status查看当前是否有进行中的观察
/rptmo reload热加载 config.yml,改完配置无需重启服务端
/rptmo help显示指令帮助(这一条不需要权限,方便玩家看到联系方式)

2. 原生旁观者跟随​
[*]管理员会被切换为旁观者模式并附身到目标身上,镜头跟随由服务端原生实现,移动平滑、不卡顿。

[*]旁观者状态对普通玩家不可见,被观察者察觉不到有人跟着。

[*]目标跨世界切换时(进下界、去末地、被其它插件传送)会自动重新跟随。

[*]结束观察(含手动 stop)时只解除镜头附身,你停留在当前所在位置、保持当前状态,不会被传送回开始观察前的坐标。
3. 玩家自行切换会自动退出​
[*]观察过程中如果你自己点别的实体切换观察对象,插件会自动结束观察模式。

[*]如果你按 Shift 自行解除旁观附身,同样会自动结束观察。

[*]如果你自己切换游戏模式(把旁观改回生存/创造等),也会自动结束观察。

[*]判定足够稳:切换世界、跨维度时客户端产生的瞬时视角同步不会被误判成"你切走了",观察不会莫名中断。
4. 配置热加载​
[*]/rptmo reload 可当场重读 config.yml,立即套用观察时长、自动轮换、黑名单三项参数。

[*]不需要重启服务端,也不会打断正在进行中的观察会话。

[*]改完配置一条指令生效,调参调试非常方便。
5. BossBar 实时状态​
[*]屏幕上方常驻一条 BossBar,显示 观察中: 玩家名 | 倒计时 Ns,进度条即剩余时间比例。

[*]不需要反复敲指令确认,一眼就能看到当前在观察谁、还剩多久切换。
6. 自动轮换观察对象​
[*]auto-follow: true(默认开启)时,倒计时结束会自动切换下一个可观察玩家。

[*]轮换规则:候选玩家按名字排序后循环遍历,保证所有在线玩家都会被巡视到,而不是固定两个玩家之间来回跳。

[*]轮换时不刷聊天栏提示(避免打断操作),当前目标始终显示在 BossBar 上。

[*]候选名单自动跳过观察员自己,并跳过 ignore-players 中配置的黑名单。
7. 目标离线自动等待​
[*]被观察玩家下线时,倒计时自动暂停,BossBar 显示「观察目标离线,等待恢复」。

[*]该玩家重新上线后(无论从哪里连上来)自动恢复跟随,不用重新输入指令。

[*]观察员自己下线时会话直接结束,不留下残留状态。
8. 观察期间死亡不中断​
[*]观察员自己或观察目标在观察期间死亡时,插件会在 2 tick 后自动复活该玩家(走 Spigot 通用重生接口,兼容各核心),避免有人停在死亡界面导致观察中断。
9. 完整适配 Folia​
[*]已声明 folia-supported: true。

[*]严格遵循 Folia 线程模型:对观察员玩家的所有操作都在观察员自己的实体线程执行;BossBar 刷新与在线玩家查询放在全局区域调度线程;跨区域只做线程安全的位置读取,不跨线程触碰实体状态。
支持版本与环境​
项目说明
Minecraft 版本1.21 ~ 26.2(实测通过:1.21 / 1.21.4 / 1.21.11 / 26.1.2 / 26.2)
服务端核心Paper、Folia(已声明 folia-supported: true)
Java 运行环境Java 21 及以上
不支持1.20.x 及以下(插件 api-version 为 1.21,低版本核心会拒绝加载)
外部依赖无。不依赖经济、数据库或任何其它插件

目标用户​
[*]腐竹 / 管理员巡查反作弊 —— 本插件的主要用途。怀疑某人在用挂,直接附身跟一段路看操作习惯。

[*]处理玩家纠纷的运维 —— 有举报说「某某在拆我家」时,跟住当事人看实际行为。

[*]正在使用 Folia 核心的服主 —— Folia 下跨线程操作玩家会直接报错,本插件已按区域线程严格编写。

[*]需要长期巡视全服的管理员 —— 开启自动轮换后挂着即可,它会把每个在线玩家轮流看一遍。
是否付费​完全免费。 不需要授权、不需要联网校验,下载即用。
获取作者帮助​
途径内容
交流群QQ 群 1124248111
作者 QQ2221899680
游戏内输入 /rptmo help 查看指令与说明(无需权限)

使用教程​安装​
[*]将 RptMonitor-1.1.0.jar 放入服务端 plugins/ 目录。

[*]重启服务端,首次启动会生成 plugins/RptMonitor/config.yml。

[*]之后按需修改 config.yml,在游戏里执行 /rptmo reload 即可热加载生效,无需重启服务端。
指令列表​
指令权限说明
/rptmo start [玩家名]rptmo.admin开始观察指定玩家;不填则自动挑一个
/rptmo stoprptmo.admin结束观察(停留在当前位置,不返回原地)
/rptmo statusrptmo.admin查看当前是否在观察中
/rptmo reloadrptmo.admin热加载 config.yml,无需重启服务端
/rptmo help无需权限显示指令帮助

主指令为 /rptmo,/rptmonitor 为别名。输入指令时会自动补全子命令与在线玩家名。

权限节点​
权限默认值说明
rptmo.admin仅 OP使用 start / stop / status / reload(help 无需任何权限)

主要配置项(config.yml)​
配置项默认值说明
observe-seconds300每个目标观察多久(秒),倒计时结束自动切换下一个
auto-followtrue是否自动轮换观察对象
ignore-players不观察的玩家名单(黑名单,按玩家名匹配)

修改 config.yml 后,在游戏里执行 /rptmo reload 即可热加载生效,无需重启服务端;热加载不会打断进行中的观察会话。

常见问题​
[*]提示「没有可观察的在线玩家」? 说明除你之外没有其他玩家在线,或者在线玩家都被列进了 ignore-players 黑名单。

[*]想观察自己? 不允许,会明确提示「不能观察自己」。

[*]目标下线了怎么办? 会自动等待,BossBar 显示「观察目标离线,等待恢复」,它一上线就自动继续跟随。

[*]结束观察后我在哪里? 就停在你当前所在的位置,保持当前状态,不会被传送回开始观察前的坐标。

[*]观察中途自己点了别的玩家会怎样? 会自动退出观察模式(自己解除附身、自己改游戏模式同理)。

[*]改了 config.yml 为什么没生效? 在游戏里执行 /rptmo reload 即可热加载,不需要重启服务端。

[*]普通玩家能用吗? 不能。start / stop / status / reload 需要 rptmo.admin(默认仅 OP),只有 help 对所有人开放。
声明​
[*]本插件为原创作品,保留所有权利,默认不允许转载与整合。如需转载或整合进服务端整合包,请先通过上方交流群或作者 QQ 联系获取授权。

[*]本插件未使用任何混淆手段,欢迎安全审查。

[*]本插件不含任何后门、病毒或远程控制代码,不收集任何玩家数据。
[*]



页: [1]
查看完整版本: RptMonitor —— 管理员巡查/直播利器:旁观跟随 + 自动轮换 + 离场归位 [1.21 ~ 26.2]