近期在研究 Minecraft 的颜色渲染(§)功能时,发现了其主要显示给用户的一个主要位置:MOTD,对此进行了深入研究。
随着研究它的请求方法与数据格式并经过边写边测试累计功能后,我把它写成了一个公开的项目,并作为网页服务提供使用。
你可以访问在如下几个方法使用此服务:
- 点击社区顶部导航的 MOTD页 导航链接
- 直接访问:motd.nullcraft.org 太长不好记? 试试记忆 👉 motd.page
Q:为什么要叫 MOTDP?
A:本来是打算使用 motd.nullcraft.org 这个子域名来提供服务的,但是有人提出太长难以记忆,而且没有项目个性,然后我就购买了 motd.page 这个域名,并根据 MOTD —— Message of the Day 这个缩写联合成为了 MOTDP —— Message of the Day Page 意思为"每日消息页面"即使不打开游戏也可以让玩家看到今日的消息。
项目图片


API 说明
API 请求格式与可视化查询参数一致,分别支持 GET 与 POST 请求。
请求地址:
参数:
| # | 参数名 | 是否必须 | 默认值 | 说明 | 可选值 |
| 1 | host | 是 | 无 | IP或域名 | 要查询的地址 |
| 2 | port | 否 | Java 25565、Bedrock 19132 | 端口号 | 1 - 65535 |
| 3 | type | 否 | auto | 默认使用 auto | 可选、mcje、mcbe |
| 4 | srv | 否 | 无 | 当 srv 为 true 时,则以 srv 进行解析 host | 当参数值为 true 时启用 |
发送 GET 请求:
拼接 Query 参数发送请求。
/api/?host=127.0.0.1&参数=值
发送 POST 请求:
通过将参数以 Json 格式发送。
{
"host": "127.0.0.1",
"参数": "值"
}
返回:
注意!
不同类型的 MOTD 数据返回的可能不太一致,但主要内容均以统一格式输出,不同类型的 MOTD 会有额外的内容。
返回结果为 Json 数组格式。
返回结果示例:
[
{
"online": true,
"server": {
"host": "127.0.0.1",
"port": 19132,
"ipv4_port": "19132",
"ipv6_port": "19133",
"server_guid": "11330975656484612105",
"gamemode": "Survival",
"gamemode_id": "1"
},
"version": {
"edition": "MCPE",
"name": "1.21.113",
"protocol": "844"
},
"players": {
"max": 10,
"online": 0,
"sample": []
},
"description": "§9Local §aDedicated §eServer",
"level_name": "§cBedrock level",
"favicon": "",
"raw": "MCPE;§9Local §aDedicated §eServer;844;1.21.113;0;10;11330975656484612105;§cBedrock level;Survival;1;19132;19133;0;",
"html_description": "<span style=\"color:#5555FF;\">Local </span><span style=\"color:#55FF55;\">Dedicated </span><span style=\"color:#FFFF55;\">Server</span>"
},
{
"online": true,
"server": {
"host": "127.0.0.1",
"port": 25565
},
"version": {
"edition": "MCJE",
"name": "1.21.10",
"protocol": 773
},
"enforcesSecureChat": true,
"description": "§l§3NullCraft.org §r§2§nMine§rcraft §r§6§mServer",
"players": {
"max": 20,
"online": 0
},
"html_description": "<span style=\"font-weight:bold;\"></span><span style=\"color:#00AAAA;\">NullCraft.org </span><span style=\"color:#00AA00;\"></span><span style=\"color:#00AA00;text-decoration:underline;\">Mine</span>craft <span style=\"color:#FFAA00;\"></span><span style=\"color:#FFAA00;text-decoration:line-through;\">Server</span>"
}
]
返回数据说明
针对 Minecraft:Java & Minecraft:Bedrock 的 MOTD数据说明:
| 键名 | 数据类型 | 说明 | 固定输出 |
| online | 布尔值 | 是否在线 | 是 |
| server | 对象 | 服务器基本信息 | 是 |
| version | 对象 | 版本信息 | 是 |
| players | 对象 | 玩家信息 | 是 |
| description | 文本型 | 服务器介绍 | 是 |
| level_name | 文本型 | 世界名称 | 是(仅限基岩版) |
| favicon | 文本型 | 图标数据 | 是 |
| raw | 文本型 | 原始数据 | 是(仅限基岩版) |
| html_description | 文本型 | HTML格式化后的介绍 | 是 |
| enforcesSecureChat | 布尔型 | 安全消息 | 是(仅限Java版) |