
MSMP 实体
通过提供获取和设置实体数据的附加功能来扩展Minecraft服务器管理协议(MSMP)。
MSMP 实体
一个服务端 Fabric 模组,通过提供获取和设置实体数据的额外功能,扩展了 Minecraft 服务器管理协议 (MSMP)。
本模组专为工具、仪表盘、自动化系统、外部监控工具以及需要结构化访问实体信息且不依赖命令解析或 RCON 漏洞的集成而设计。
安装
- 下载模组
.jar文件并放入服务器mods/文件夹。 - 在
server.properties中启用管理服务器:management-server-enabled=true - 启动服务器。默认情况下,管理服务器会监听
localhost:25576。
配置
首次启动时,模组会在 <服务器根目录>/config/msmp/entity/config.yml 生成配置文件,您可以在其中调整使用阈值/间隔轮询的跟踪事件的通知系统:
# MSMP 实体的主配置文件。
# 位置相关设置。
position:
# 通知设置。
notification:
# 订阅实体位置变化检查之间的服务器刻数。
# 数值越小,检查越频繁,可能产生更多通知,但会增加服务器负载。
# @默认值: 20
interval-ticks: 20
# 实体必须移动的最小距离(以方块为单位),才会触发位置变化通知。
# 设置为 0.0 将触发任何移动的通知。
# @默认值: 1.0
block-delta: 1.0
# 旋转相关设置。
rotation:
# 通知设置。
notification:
# 订阅实体旋转变化检查之间的服务器刻数。
# 数值越小,检查越频繁,可能产生更多通知,但会增加服务器负载。
# @默认值: 20
interval-ticks: 20
# 实体必须旋转的最小偏航角或俯仰角变化(以度为单位),才会触发旋转变化通知。
# 设置为 0.0 将触发任何旋转变化的通知。
# @默认值: 10.0
rotation-delta: 10.0
更小的间隔值意味着更频繁的检查(以及可能更多的通知),代价是略微增加服务器负载。将 delta 设置为 0.0 会触发任何变化的通知,无论变化多么微小。
RPC 方法
该模组目前提供以下 MSMP RPC 方法。所有这些方法也可以通过标准 MSMP 端点 rpc.discover 自动发现。
| 方法 | 描述 |
|---|---|
entity:dimension |
返回任何加载实体的当前维度,或通过名称返回玩家 |
entity:dimension/set |
将任何加载实体传送到指定维度,保持其当前位置和旋转 |
entity:dimension/changed |
返回维度变化事件的所有跟踪实体列表 |
entity:dimension/changed/add |
将实体添加到维度变化通知跟踪器 |
entity:dimension/changed/clear |
清除维度变化事件的所有实体 |
entity:dimension/changed/remove |
从维度变化通知跟踪器中移除实体 |
entity:health |
返回任何 LivingEntity 的当前生命值和最大生命值 |
entity:health/set |
部分更新任何 LivingEntity 的生命值和/或最大生命值 |
entity:health/changed |
返回生命值变化事件的所有跟踪实体列表 |
entity:health/changed/add |
将实体添加到生命值变化通知跟踪器 |
entity:health/changed/remove |
从生命值变化通知跟踪器中移除实体 |
entity:items |
以原版 NBT 格式返回在线玩家的所有占有物品栏槽位 |
entity:items/set |
使用差异方法部分更新在线玩家的物品栏 |
entity:items/changed |
返回物品变化事件的所有跟踪实体列表 |
entity:items/changed/add |
将玩家添加到物品变化通知跟踪器 |
entity:items/changed/remove |
从物品变化通知跟踪器中移除实体 |
entity:position |
返回任何加载实体的当前位置 |
entity:position/set |
将任何加载实体传送至其当前维度内的指定位置 |
entity:position/changed |
返回位置变化事件的所有跟踪实体列表 |
entity:position/changed/add |
将实体添加到位置变化通知跟踪器 |
entity:position/changed/remove |
从位置变化通知跟踪器中移除实体 |
entity:rotation |
返回任何加载实体的当前旋转,或通过名称返回玩家 |
entity:rotation/set |
设置任何加载实体的旋转,保持其位置和维度 |
entity:rotation/changed |
返回旋转变化事件的所有跟踪实体列表 |
entity:rotation/changed/add |
将实体添加到旋转变化通知跟踪器 |
entity:rotation/changed/remove |
从旋转变化通知跟踪器中移除实体 |
entity:saturation |
返回在线玩家的当前饥饿值和饱和度 |
entity:saturation/set |
部分更新在线玩家的饥饿值和/或饱和度 |
entity:saturation/changed |
返回饱和度变化事件的所有跟踪实体列表 |
entity:saturation/changed/add |
将玩家添加到饱和度变化通知跟踪器 |
entity:saturation/changed/remove |
从饱和度变化通知跟踪器中移除实体 |
entity:uuid |
通过名称返回在线玩家的 UUID |
RPC 通知
该模组还提供以下 MSMP RPC 通知,客户端可以订阅:
| 方法 | 描述 |
|---|---|
entity:notification/dimension/changed |
当跟踪实体改变维度时触发 |
entity:notification/health/changed |
当跟踪的 LivingEntity 生命值变化时触发 |
entity:notification/items/changed |
当跟踪的玩家物品栏或装备变化时触发 |
entity:notification/position/changed |
当跟踪实体移动至少 blockDelta 个方块时触发 |
entity:notification/rotation/changed |
当跟踪实体旋转至少 rotationDelta 度时触发 |
entity:notification/saturation/changed |
当跟踪的玩家饥饿值或饱和度变化时触发 |
如果您需要更多用于其他用途的方法或通知,请提交问题
许可证
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。