version-image-link: https://tc-new.z.wiki/autoupload/f/ULag1QS0BDacCn8kCE5g5tFYj2703A6STtlru2hkIW-yl5f0KlZfm6UsKj-HyTuv/20250827/wCsD/1170X500/25w35a_1170x500.jpg/webp server-jar: https://piston-data.mojang.com/v1/objects/7fb6965adce075e4e6b467ca620f59c76c0f1e52/server.jar translator: 最亮的信标
增加了一个服务器管理 API (JSON-RPC over WebSocket) 用于专用服务器
此 API 默认禁用,可以由服务器 properties 文件启用
management-server-enabled=truemanagement-server-host=localhostmanagement-server-port=25585当启用时 API 可以通过 ws://<management-server-host>:<management-server-port> 访问
支持查询以及更新服务器状态(玩家、白名单、操作员、设置、游戏规则)
在状态更改时发送通知 (如:玩家加入、游戏规则更新)
调用 {"id":1,"method":"rpc.discover"} 返回一个包含了当前运行的服务器支持的方法以及通知的 API schema
数据生成器在报告输出文件夹中提供一个 API schema (json-rpc-api-schema.json) 反映了 rpc.discover 方法返回的内容
API 遵守 JSON-RPC 2.0 规范
使用带有命名空间的方法,并且保留的命名空间为 minecraft (如:minecraft:players,minecraft:allowlist/add)以及 notification (如 notification:players/joined)
核心方法组: 玩家、白名单、操作员、服务器(保存、停止)、服务器设置、游戏规则
方法调用示例:
请求:
{
"method": "minecraft:allowlist/add",
"id": 1,
"params": [ [{ "name": "jeb_" }] ]
}
响应:
{
"jsonrpc": "2.0",
"id": 1,
"result": [{ "id": "853c80ef-3c37-49fd-aa49-938b674adae6", "name": "jeb_" }]
}
通知示例:
{
"jsonrpc": "2.0",
"method": "notification:players/joined",
"params": [{ "id": "853c80ef-3c37-49fd-aa49-938b674adae6", "name": "jeb_" }]
}
错误示例:
{"method": "minecraft:foo/bar","id": 1}响应:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32601,
"message": "Method not found",
"data": "Method not found: minecraft:foo/bar"
}
}
}
错误以及错误代码遵守 JSON-RPC 2.0 错误对象格式 (译者注:并未完全遵守,见 MC-301531)
因使用了一些新游戏规则,一些服务器 properties 的被移除,以允许在服务器运行时更改这些设置。
allow-netherspawn-monsterenable-command-blockpvpmanagement-server-enabled 以控制服务器是否启用 Minecraft 服务端管理协议
falsemanagement-server-port 以控制服务器 Minecraft 服务端管理协议的端口
25585management-server-host 以控制服务器 Minecraft 服务端管理协议的主机
localhoststatus-heartbeat-interval 以控制服务器发送通知到连接的客户端的时间间隔
chain 重命名为 iron_chainpvp 游戏规则控制,以控制玩家是否可以对其它玩家造成伤害
trueallowEnteringNetherUsingPortals 游戏规则以控制下界是否可以通过传送门进入
truespawnMonsters 游戏规则以控制怪物是否自然生成
trueenableCommandBlocks 游戏规则以控制命令方块是否启用
trueobject 文本组件新格式:
object: 对象的类型,字符串,值见下方<type-specific>: 由对象类型决定的可选字段与 nbt 文本组件相似,object 字段可以省略
atlas 对象类型object 组件有相同的行为,但是现在其分离为一个对象类型player 对象类型minecraft:profile 组件在玩家的头上以相同的方式解析player: 玩家档案
name:玩家名称,可选字符串id: 玩家 UUID,可选的 UUIDproperties: 档案属性,可选的映射hat: 控制是否渲染帽子层,布尔值,默认为 false重命名了以下方块精灵图:
chain 重命名为 iron_chain重命名了以下物品精灵图:
chain 重命名为 iron_chain