Minecraft 服务器 JSON-RPC API 文档
版本: 1.0.0
OpenRPC 版本: 1.3.2
该文档内容由AI根据发送{"id":1,"method":"rpc.discover"}
返回的内容生成。
概述
本 API 提供了对 Minecraft 服务器的远程管理和监控功能。它遵循 JSON-RPC 2.0 规范,允许客户端通过 RPC 调用查询服务器状态、管理玩家(允许列表、封禁、踢出、操作员)、修改服务器设置和游戏规则等。
1 | //这是一个示例请求体 |
返回数据的原始内容:wsbackapi.json
原始内容可视化页面:wsbackapi.html
方法 (Methods)
服务器管理
minecraft:server/status
获取服务器当前状态。
- 参数: 无
- 返回值:
status
(object): 服务器状态对象started
(boolean): 服务器是否正在运行players
(array[Player]): 当前在线玩家列表version
(object):name
(string): 服务器版本名称protocol
(integer): 协议版本号
minecraft:server/save
保存服务器状态(世界数据)。
- 参数:
flush
(boolean, required): 是否立即强制写入磁盘
- 返回值:
saving
(boolean): 保存操作是否已启动
minecraft:server/stop
停止服务器。
- 参数: 无
- 返回值:
stopping
(boolean): 停止操作是否已启动
minecraft:server/system_message
向服务器或特定玩家发送系统消息。
- 参数:
message
(SystemMessage, required): 消息对象message
(Message): 要发送的消息内容overlay
(boolean): 消息是否显示在屏幕中央(类似标题)receivingPlayers
(array[Player]): 接收消息的玩家列表。如果为空,则发送给所有玩家。
- 返回值:
sent
(boolean): 消息是否已成功发送
玩家管理
minecraft:players
获取所有当前连接的玩家。
- 参数: 无
- 返回值:
players
(array[Player]): 在线玩家列表
minecraft:players/kick
踢出指定玩家。
- 参数:
kick
(array[KickPlayer], required): 要踢出的玩家及其原因列表players
(array[Player]): 被踢玩家message
(Message): 踢出原因消息
- 返回值:
kicked
(array[Player]): 成功被踢出的玩家列表
minecraft:allowlist
获取允许列表。
- 参数: 无
- 返回值:
allowlist
(array[Player]): 允许列表中的玩家
minecraft:allowlist/set
设置整个允许列表(替换现有列表)。
- 参数:
players
(array[Player], required): 新的允许列表
- 返回值:
allowlist
(array[Player]): 设置后的新允许列表
minecraft:allowlist/add
向允许列表添加玩家。
- 参数:
add
(array[Player], required): 要添加的玩家列表
- 返回值:
allowlist
(array[Player]): 添加后更新的允许列表
minecraft:allowlist/remove
从允许列表中移除玩家。
- 参数:
remove
(array[Player], required): 要移除的玩家列表
- 返回值:
allowlist
(array[Player]): 移除后更新的允许列表
minecraft:allowlist/clear
清空允许列表。
- 参数: 无
- 返回值:
allowlist
(array[Player]): 清空后的允许列表(应为空数组)
minecraft:bans
获取用户封禁列表。
- 参数: 无
- 返回值:
banlist
(array[UserBan]): 被封禁的用户列表
minecraft:bans/set
设置整个用户封禁列表(替换现有列表)。
- 参数:
bans
(array[UserBan], required): 新的封禁列表
- 返回值:
banlist
(array[UserBan]): 设置后的新封禁列表
minecraft:bans/add
封禁指定玩家。
- 参数:
add
(array[UserBan], required): 要封禁的玩家列表player
(Player): 被封禁的玩家reason
(string): 封禁原因expires
(string): 封禁过期时间(ISO 8601 格式,或 “forever”)source
(string): 执行封禁的来源(如管理员名)
- 返回值:
banlist
(array[UserBan]): 添加后更新的封禁列表
minecraft:bans/remove
解除对指定玩家的封禁。
- 参数:
remove
(array[Player], required): 要解封的玩家列表
- 返回值:
banlist
(array[UserBan]): 解封后更新的封禁列表
minecraft:bans/clear
清空用户封禁列表。
- 参数: 无
- 返回值:
banlist
(array[UserBan]): 清空后的封禁列表(应为空数组)
minecraft:ip_bans
获取 IP 封禁列表。
- 参数: 无
- 返回值:
banlist
(array[IpBan]): 被封禁的 IP 地址列表
minecraft:ip_bans/set
设置整个 IP 封禁列表(替换现有列表)。
- 参数:
banlist
(array[IpBan], required): 新的 IP 封禁列表
- 返回值:
banlist
(array[IpBan]): 设置后的新 IP 封禁列表
minecraft:ip_bans/add
封禁指定 IP 地址。
- 参数:
add
(array[IncomingIpBan], required): 要封禁的 IP 列表ip
(string): 要封禁的 IP 地址reason
(string): 封禁原因expires
(string): 封禁过期时间source
(string): 执行封禁的来源player
(Player): 关联的玩家(可选)
- 返回值:
banlist
(array[IpBan]): 添加后更新的 IP 封禁列表
minecraft:ip_bans/remove
解除对指定 IP 地址的封禁。
- 参数:
ip
(array[string], required): 要解封的 IP 地址列表
- 返回值:
banlist
(array[IpBan]): 解封后更新的 IP 封禁列表
minecraft:ip_bans/clear
清空 IP 封禁列表。
- 参数: 无
- 返回值:
banlist
(array[IpBan]): 清空后的 IP 封禁列表(应为空数组)
minecraft:operators
获取所有操作员(OP)玩家。
- 参数: 无
- 返回值:
operators
(array[Operator]): 操作员列表
minecraft:operators/set
设置整个操作员列表(替换现有列表)。
- 参数:
operators
(array[Operator], required): 新的操作员列表
- 返回值:
operators
(array[Operator]): 设置后的新操作员列表
minecraft:operators/add
授予玩家操作员权限。
- 参数:
add
(array[Operator], required): 要授予 OP 权限的玩家列表player
(Player): 被授予权限的玩家permissionLevel
(integer): 权限等级 (1-4)bypassesPlayerLimit
(boolean): 是否绕过玩家数量上限
- 返回值:
operators
(array[Operator]): 添加后更新的操作员列表
minecraft:operators/remove
撤销玩家的操作员权限。
- 参数:
remove
(array[Player], required): 要撤销 OP 权限的玩家列表
- 返回值:
operators
(array[Operator]): 撤销后更新的操作员列表
minecraft:operators/clear
撤销所有玩家的操作员权限。
- 参数: 无
- 返回值:
operators
(array[Operator]): 清空后的操作员列表(应为空数组)
服务器设置
minecraft:serversettings/autosave
获取自动保存是否启用。
- 参数: 无
- 返回值:
enabled
(boolean): 自动保存是否启用
minecraft:serversettings/autosave/set
启用或禁用自动保存。
- 参数:
enable
(boolean, required): 是否启用自动保存
- 返回值:
enabled
(boolean): 设置后的新状态
minecraft:serversettings/difficulty
获取当前游戏难度。
- 参数: 无
- 返回值:
difficulty
(string): 难度 (“peaceful”, “easy”, “normal”, “hard”)
minecraft:serversettings/difficulty/set
设置游戏难度。
- 参数:
difficulty
(string, required): 新的难度级别
- 返回值:
difficulty
(string): 设置后的新难度
minecraft:serversettings/enforce_allowlist
获取是否强制执行允许列表(被移除的玩家是否立即被踢出)。
- 参数: 无
- 返回值:
enforced
(boolean): 是否强制执行
minecraft:serversettings/enforce_allowlist/set
启用或禁用允许列表的强制执行。
- 参数:
enforce
(boolean, required): 是否强制执行
- 返回值:
enforced
(boolean): 设置后的新状态
minecraft:serversettings/use_allowlist
获取是否启用了允许列表(仅允许列表中的玩家加入)。
- 参数: 无
- 返回值:
used
(boolean): 允许列表是否启用
minecraft:serversettings/use_allowlist/set
启用或禁用允许列表功能。
- 参数:
use
(boolean, required): 是否启用允许列表
- 返回值:
used
(boolean): 设置后的新状态
minecraft:serversettings/max_players
获取服务器最大玩家数量。
- 参数: 无
- 返回值:
max
(integer): 最大玩家数
minecraft:serversettings/max_players/set
设置服务器最大玩家数量。
- 参数:
max
(integer, required): 新的最大玩家数
- 返回值:
max
(integer): 设置后的新最大玩家数
minecraft:serversettings/pause_when_empty_seconds
获取服务器在无玩家在线时自动暂停前的等待秒数。
- 参数: 无
- 返回值:
seconds
(integer): 等待秒数
minecraft:serversettings/pause_when_empty_seconds/set
设置服务器在无玩家在线时自动暂停前的等待秒数。
- 参数:
seconds
(integer, required): 新的等待秒数
- 返回值:
seconds
(integer): 设置后的新等待秒数
minecraft:serversettings/player_idle_timeout
获取空闲玩家被自动踢出前的秒数。
- 参数: 无
- 返回值:
seconds
(integer): 空闲超时秒数
minecraft:serversettings/player_idle_timeout/set
设置空闲玩家被自动踢出前的秒数。
- 参数:
seconds
(integer, required): 新的空闲超时秒数
- 返回值:
seconds
(integer): 设置后的新空闲超时秒数
minecraft:serversettings/allow_flight
获取是否允许生存模式玩家飞行。
- 参数: 无
- 返回值:
allowed
(boolean): 是否允许飞行
minecraft:serversettings/allow_flight/set
允许或禁止生存模式玩家飞行。
- 参数:
allow
(boolean, required): 是否允许飞行
- 返回值:
allowed
(boolean): 设置后的新状态
minecraft:serversettings/motd
获取服务器的 MOTD(欢迎信息)。
- 参数: 无
- 返回值:
message
(string): MOTD 内容
minecraft:serversettings/motd/set
设置服务器的 MOTD(欢迎信息)。
- 参数:
message
(string, required): 新的 MOTD 内容
- 返回值:
message
(string): 设置后的新 MOTD
minecraft:serversettings/spawn_protection_radius
获取出生点保护半径(以方块为单位)。
- 参数: 无
- 返回值:
radius
(integer): 保护半径
minecraft:serversettings/spawn_protection_radius/set
设置出生点保护半径。
- 参数:
radius
(integer, required): 新的保护半径
- 返回值:
radius
(integer): 设置后的新半径
minecraft:serversettings/force_game_mode
获取是否强制玩家使用服务器默认游戏模式。
- 参数: 无
- 返回值:
forced
(boolean): 是否强制
minecraft:serversettings/force_game_mode/set
启用或禁用强制使用服务器默认游戏模式。
- 参数:
force
(boolean, required): 是否强制
- 返回值:
forced
(boolean): 设置后的新状态
minecraft:serversettings/game_mode
获取服务器默认游戏模式。
- 参数: 无
- 返回值:
mode
(string): 游戏模式 (“survival”, “creative”, “adventure”, “spectator”)
minecraft:serversettings/game_mode/set
设置服务器默认游戏模式。
- 参数:
mode
(string, required): 新的游戏模式
- 返回值:
mode
(string): 设置后的新游戏模式
minecraft:serversettings/view_distance
获取服务器视距(以区块为单位)。
- 参数: 无
- 返回值:
distance
(integer): 视距
minecraft:serversettings/view_distance/set
设置服务器视距。
- 参数:
distance
(integer, required): 新的视距
- 返回值:
distance
(integer): 设置后的新视距
minecraft:serversettings/simulation_distance
获取服务器模拟距离(以区块为单位)。
- 参数: 无
- 返回值:
distance
(integer): 模拟距离
minecraft:serversettings/simulation_distance/set
设置服务器模拟距离。
- 参数:
distance
(integer, required): 新的模拟距离
- 返回值:
distance
(integer): 设置后的新模拟距离
minecraft:serversettings/accept_transfers
获取服务器是否接受来自其他服务器的玩家转移。
- 参数: 无
- 返回值:
accepted
(boolean): 是否接受转移
minecraft:serversettings/accept_transfers/set
启用或禁用接受来自其他服务器的玩家转移。
- 参数:
accept
(boolean, required): 是否接受转移
- 返回值:
accepted
(boolean): 设置后的新状态
minecraft:serversettings/status_heartbeat_interval
获取服务器状态心跳包的发送间隔(秒)。
- 参数: 无
- 返回值:
seconds
(integer): 心跳间隔
minecraft:serversettings/status_heartbeat_interval/set
设置服务器状态心跳包的发送间隔。
- 参数:
seconds
(integer, required): 新的心跳间隔
- 返回值:
seconds
(integer): 设置后的新间隔
minecraft:serversettings/operator_user_permission_level
获取执行操作员命令所需的权限等级。
- 参数: 无
- 返回值:
level
(integer): 权限等级 (1-4)
minecraft:serversettings/operator_user_permission_level/set
设置执行操作员命令所需的权限等级。
- 参数:
level
(integer, required): 新的权限等级
- 返回值:
level
(integer): 设置后的新等级
minecraft:serversettings/hide_online_players
获取是否在状态查询中隐藏在线玩家信息。
- 参数: 无
- 返回值:
hidden
(boolean): 是否隐藏
minecraft:serversettings/hide_online_players/set
启用或禁用在状态查询中隐藏在线玩家信息。
- 参数:
hide
(boolean, required): 是否隐藏
- 返回值:
hidden
(boolean): 设置后的新状态
minecraft:serversettings/status_replies
获取服务器是否响应连接状态请求。
- 参数: 无
- 返回值:
enabled
(boolean): 是否响应
minecraft:serversettings/status_replies/set
启用或禁用服务器响应连接状态请求。
- 参数:
enable
(boolean, required): 是否响应
- 返回值:
enabled
(boolean): 设置后的新状态
minecraft:serversettings/entity_broadcast_range
获取实体广播范围(百分比)。
- 参数: 无
- 返回值:
percentage_points
(integer): 广播范围百分比
minecraft:serversettings/entity_broadcast_range/set
设置实体广播范围(百分比)。
- 参数:
percentage_points
(integer, required): 新的广播范围百分比
- 返回值:
percentage_points
(integer): 设置后的新百分比
游戏规则
minecraft:gamerules
获取所有可用的游戏规则及其当前值。
- 参数: 无
- 返回值:
gamerules
(array[TypedGameRule]): 游戏规则列表key
(string): 规则名称value
(string): 规则值type
(string): 值类型 (“boolean” 或 “integer”)
minecraft:gamerules/update
更新指定游戏规则的值。
- 参数:
gamerule
(UntypedGameRule, required): 要更新的规则key
(string): 规则名称value
(string): 新的规则值
- 返回值:
gamerule
(TypedGameRule): 更新后的游戏规则对象
通知 (Notifications)
这些是服务器主动向客户端推送的事件。
notification:server/started
: 服务器已启动notification:server/stopping
: 服务器正在关闭notification:server/saving
: 服务器开始保存notification:server/saved
: 服务器保存完成notification:server/status
: 服务器状态心跳(包含status
参数)notification:players/joined
: 玩家加入(包含player
参数)notification:players/left
: 玩家离开(包含player
参数)notification:operators/added
: 玩家被授予 OP 权限(包含player
参数)notification:operators/removed
: 玩家被撤销 OP 权限(包含player
参数)notification:allowlist/added
: 玩家被加入允许列表(包含player
参数)notification:allowlist/removed
: 玩家被移出允许列表(包含player
参数)notification:ip_bans/added
: IP 被加入封禁列表(包含player
参数)notification:ip_bans/removed
: IP 被移出封禁列表(包含player
参数,类型为 string)notification:bans/added
: 玩家被加入封禁列表(包含player
参数)notification:bans/removed
: 玩家被移出封禁列表(包含player
参数)notification:gamerules/updated
: 游戏规则被更新(包含gamerule
参数)
组件 (Components)
数据类型
Player
代表一个 Minecraft 玩家。
name
(string): 玩家名id
(string): 玩家 UUID
Operator
代表一个操作员玩家。
player
(Player): 玩家信息permissionLevel
(integer): 权限等级 (1-4)bypassesPlayerLimit
(boolean): 是否绕过玩家数量上限
UserBan
代表一个用户封禁条目。
player
(Player): 被封禁的玩家reason
(string): 封禁原因expires
(string): 封禁过期时间source
(string): 执行封禁的来源
IpBan
代表一个 IP 封禁条目。
ip
(string): 被封禁的 IP 地址reason
(string): 封禁原因expires
(string): 封禁过期时间source
(string): 执行封禁的来源
IncomingIpBan
用于添加 IP 封禁的输入对象。
ip
(string): 要封禁的 IPreason
(string): 封禁原因expires
(string): 过期时间source
(string): 来源player
(Player): 关联的玩家(可选)
ServerState
代表服务器状态。
started
(boolean): 服务器是否运行players
(array[Player]): 在线玩家version
(Version): 服务器版本
Version
服务器版本信息。
name
(string): 版本名称protocol
(integer): 协议版本
Message
消息内容。
literal
(string): 文本消息translatable
(string): 可翻译的消息键translatableParams
(array[string]): 可翻译消息的参数
SystemMessage
系统消息对象。
message
(Message): 消息内容overlay
(boolean): 是否为屏幕中央的覆盖消息receivingPlayers
(array[Player]): 接收者列表
KickPlayer
踢出玩家的输入对象。
players
(array[Player]): 被踢玩家message
(Message): 踢出原因
UntypedGameRule
用于更新游戏规则的输入对象。
key
(string): 规则名value
(string): 规则值
TypedGameRule
包含类型信息的游戏规则对象。
key
(string): 规则名value
(string): 规则值type
(string): 值类型 (“boolean”, “integer”)