<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wikivg.spaghett.dev/index.php?action=history&amp;feed=atom&amp;title=Zh%3AQuery</id>
	<title>Zh:Query - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wikivg.spaghett.dev/index.php?action=history&amp;feed=atom&amp;title=Zh%3AQuery"/>
	<link rel="alternate" type="text/html" href="https://wikivg.spaghett.dev/index.php?title=Zh:Query&amp;action=history"/>
	<updated>2026-04-06T04:32:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wikivg.spaghett.dev/index.php?title=Zh:Query&amp;diff=10472&amp;oldid=prev</id>
		<title>imported&gt;Kaniol: Created page with &quot;Query是一个在1.9pre4引入用于查询服务端属性的UDP协议。它注定兼容[http://wiki.unrealadmin.org/UT3_query_protocol UT3（或GameSpot）Query协议]  一个...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wikivg.spaghett.dev/index.php?title=Zh:Query&amp;diff=10472&amp;oldid=prev"/>
		<updated>2019-11-28T14:15:33Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Query是一个在1.9pre4引入用于查询服务端属性的UDP协议。它注定兼容[http://wiki.unrealadmin.org/UT3_query_protocol UT3（或GameSpot）Query协议]  一个...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Query是一个在1.9pre4引入用于查询服务端属性的UDP协议。它注定兼容[http://wiki.unrealadmin.org/UT3_query_protocol UT3（或GameSpot）Query协议]&lt;br /&gt;
&lt;br /&gt;
一个稍简单的查询协议的替代方案包含连接到Minecraft主TCP端口并发送一个[[ZH:Protocol#Server_List_Ping_.280xFE.29|服务端列表Ping]]数据包，它将会返回MOTD、玩家的数量以及槽的数量。更多细节请见[[Protocol#Server_List_Ping_.280xFE.29|主协议页面]]。&lt;br /&gt;
&lt;br /&gt;
所有的数据类型都是大字节序的，&amp;lt;code&amp;gt;short&amp;lt;/code&amp;gt;除外。&lt;br /&gt;
 &lt;br /&gt;
== 服务端配置 ==&lt;br /&gt;
&lt;br /&gt;
 enable-query=true&lt;br /&gt;
 query.port=&amp;lt;1-65535&amp;gt;&lt;br /&gt;
&lt;br /&gt;
默认的端口是建立在&amp;lt;code&amp;gt;server-port&amp;lt;/code&amp;gt;上的。&lt;br /&gt;
&lt;br /&gt;
== 基础数据包格式 ==&lt;br /&gt;
&lt;br /&gt;
=== 客户端至服务端数据包格式 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 字段名称&lt;br /&gt;
! 字段类型&lt;br /&gt;
! 注释&lt;br /&gt;
|- &lt;br /&gt;
| Magic&lt;br /&gt;
| short&lt;br /&gt;
| 总是65277（0xFEFD）&lt;br /&gt;
|-&lt;br /&gt;
| Type&lt;br /&gt;
| byte&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;代表握手，&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;代表状态&lt;br /&gt;
|-&lt;br /&gt;
| Session ID&lt;br /&gt;
| int32&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Payload&lt;br /&gt;
| 可变&lt;br /&gt;
| 见下&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 服务端至客户端数据包格式 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 字段名称&lt;br /&gt;
! 字段类型&lt;br /&gt;
! 注释&lt;br /&gt;
|-&lt;br /&gt;
| Type&lt;br /&gt;
| byte&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;代表握手，&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;代表状态&lt;br /&gt;
|-&lt;br /&gt;
| Session ID&lt;br /&gt;
| int32&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Payload&lt;br /&gt;
| 可变&lt;br /&gt;
| 见下&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 握手 ==&lt;br /&gt;
&lt;br /&gt;
=== 生成Session ID ===&lt;br /&gt;
会话ID（Session ID）用于区分你的请求。接下来的示例使用会话ID = 1（编码为十六进制转储&amp;lt;code&amp;gt;00 00 00 01&amp;lt;/code&amp;gt;）。&lt;br /&gt;
&lt;br /&gt;
只有会话ID每一字节的低四位才会被使用，而高四位则不会被Minecraft处理。要将任何4字节的会话ID转换为有效的Minecraft会话ID，只需使用&amp;lt;code&amp;gt;sessionId &amp;amp; 0x0F0F0F0F&amp;lt;/code&amp;gt;进行位掩码。&lt;br /&gt;
&lt;br /&gt;
=== 请求 ===&lt;br /&gt;
&lt;br /&gt;
使用空负载发送一个请求。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 字段名称&lt;br /&gt;
! 字段类型&lt;br /&gt;
! 示例&lt;br /&gt;
|- &lt;br /&gt;
| Magic&lt;br /&gt;
| short&lt;br /&gt;
| &amp;lt;code&amp;gt;FE FD&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Type&lt;br /&gt;
| byte&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Session ID&lt;br /&gt;
| int32&lt;br /&gt;
| &amp;lt;code&amp;gt;00 00 00 01&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Payload&lt;br /&gt;
| &lt;br /&gt;
| &amp;#039;&amp;#039;(empty)&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
转储：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FE FD 09 00 00 00 01&amp;lt;/pre&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
=== 响应 ===&lt;br /&gt;
&lt;br /&gt;
该响应负载会是一个challenge token，编码为空终止字符串。你应该将其转换为int32并存储它。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 字段名称&lt;br /&gt;
! 字段类型&lt;br /&gt;
! 示例&lt;br /&gt;
|-&lt;br /&gt;
| Type&lt;br /&gt;
| byte&lt;br /&gt;
| &amp;lt;code&amp;gt;09&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Session ID&lt;br /&gt;
| int32&lt;br /&gt;
| &amp;lt;code&amp;gt;00 00 00 01&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Challenge令牌字符串&lt;br /&gt;
| 空终止字符串&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;9513307\0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
在这个示例中，解析字符串&amp;quot;9513307\0&amp;quot;为整型并将他导报为大字节序的int32后，结果应为00 91 29 5B。&lt;br /&gt;
&lt;br /&gt;
转储：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;09 00 00 00 01 39 35 31 33 33 30 37 00 | .....9513307.         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== challenge令牌过期 ==&lt;br /&gt;
&lt;br /&gt;
引用有关Minecraft查询协议的[http://dinnerbone.com/blog/2011/10/14/minecraft-19-has-rcon-and-query/ Dinnerbone的原始文章]：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
注意challenge令牌绑定&amp;#039;&amp;#039;&amp;#039;至你的IP和端口&amp;#039;&amp;#039;&amp;#039;（与[session ID]相反），并持续达30秒。对，你没看错，这取决于；这不是“你的令牌将在将在30秒后过期”，而是“每个令牌都在30秒后过期”。这意味着你完全有可能得到一个令牌并在同一秒内使用它并使它过期了。&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
另外：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
你需要提供你的challenge令牌，否则将不会收到任何回复。如果你提供了一个错误的令牌，那么仍不会收到任何回复。记住，如果你想存储你的challenge令牌并在以后使用，那么你需要在等待回复时设置一些超时，以防在服务器重启后你的令牌不再有效。不可能在没有任何额外请求的情况下区分离线服务器和拒绝你challenge的服务器，所以你需要尝试另一个challenge令牌，如果这也失败了，那么就标记它为不可用。&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 标准状态 ==&lt;br /&gt;
&lt;br /&gt;
=== 请求 ===&lt;br /&gt;
&lt;br /&gt;
你的负载应该时你的challenge令牌，以int32打包。 &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 字段名称&lt;br /&gt;
! 字段类型&lt;br /&gt;
! 示例&lt;br /&gt;
|- &lt;br /&gt;
| Magic&lt;br /&gt;
| short&lt;br /&gt;
| &amp;lt;code&amp;gt;FE FD&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Type&lt;br /&gt;
| byte&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Session ID&lt;br /&gt;
| int32&lt;br /&gt;
| &amp;lt;code&amp;gt;00 00 00 01&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Challenge令牌&lt;br /&gt;
| int32&lt;br /&gt;
| &amp;lt;code&amp;gt;00 91 29 5B&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
转储：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FE FD 00 00 00 00 01 00 91 29 5B&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 响应 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 字段名称&lt;br /&gt;
! 字段类型&lt;br /&gt;
! 示例&lt;br /&gt;
|-&lt;br /&gt;
| Type&lt;br /&gt;
| byte&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Session ID&lt;br /&gt;
| int32&lt;br /&gt;
| &amp;lt;code&amp;gt;00 00 00 01&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| MOTD&lt;br /&gt;
| Null-terminated string&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;A Minecraft Server\0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| gametype&lt;br /&gt;
| Null-terminated string&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;SMP\0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| map&lt;br /&gt;
| Null-terminated string&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;world\0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| numplayers&lt;br /&gt;
| Null-terminated string&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;2\0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| maxplayers&lt;br /&gt;
| Null-terminated string&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;20\0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| hostport&lt;br /&gt;
| Little endian short&lt;br /&gt;
| &amp;lt;code&amp;gt;DD 63&amp;lt;/code&amp;gt; ( = 25565)&lt;br /&gt;
|-&lt;br /&gt;
| hostip&lt;br /&gt;
| Null-terminated string&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;127.0.0.1\0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
转储：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00 00 00 00 01 41 20 4D 69 6E 65 63 72 61 66 74 | .....A Minecraft&lt;br /&gt;
20 53 65 72 76 65 72 00 53 4D 50 00 77 6F 72 6C |  Server.SMP.worl&lt;br /&gt;
64 00 32 00 32 30 00 DD 63 31 32 37 2E 30 2E 30 | d.2.20.##127.0.0&lt;br /&gt;
2E 31 00                                        | .1.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 完整状态 ==&lt;br /&gt;
&lt;br /&gt;
本方法没5秒缓存一次。&lt;br /&gt;
&lt;br /&gt;
=== 请求 ===&lt;br /&gt;
&lt;br /&gt;
该请求与基础状态中时一样的，除了负载&amp;#039;&amp;#039;&amp;#039;必须&amp;#039;&amp;#039;&amp;#039;填充至8字节。最后发送0x00 0x00 0x00 0x00。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 字段名称&lt;br /&gt;
! 字段类型&lt;br /&gt;
! 示例&lt;br /&gt;
|- &lt;br /&gt;
| Magic&lt;br /&gt;
| short&lt;br /&gt;
| &amp;lt;code&amp;gt;FE FD&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Type&lt;br /&gt;
| byte&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Session ID&lt;br /&gt;
| int32&lt;br /&gt;
| &amp;lt;code&amp;gt;00 00 00 01&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Challenge令牌&lt;br /&gt;
| int32&lt;br /&gt;
| &amp;lt;code&amp;gt;00 91 29 5B&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Padding&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;code&amp;gt;00 00 00 00&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
转储：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FE FD 00 00 00 00 01 00 91 29 5B 00 00 00 00&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 响应 ===&lt;br /&gt;
&lt;br /&gt;
该响应分为两个部分。第一部分是一个零终止字符串列表，代表了（key1、value1、key2、value2…）。第二部分是另一个零终止字符串列表，每一项代表一个玩家。&lt;br /&gt;
&lt;br /&gt;
一个解析该负载的简单方法是忽略最前面的11字节，然后使用令牌&amp;lt;code&amp;gt;\x00\x01player_\x00\x00&amp;lt;/code&amp;gt;拆分响应。最后面是多余的零字节。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 字段名称&lt;br /&gt;
! 字段类型&lt;br /&gt;
! 示例&lt;br /&gt;
! 注释&lt;br /&gt;
|-&lt;br /&gt;
| Type&lt;br /&gt;
| byte&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Session ID&lt;br /&gt;
| int32&lt;br /&gt;
| &amp;lt;code&amp;gt;00 00 00 01&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Padding&lt;br /&gt;
| 11字节，常量&lt;br /&gt;
| &amp;lt;code&amp;gt;73 70 6C 69 74 6E 75 6D 00 80 00&amp;lt;/code&amp;gt;&lt;br /&gt;
| 无意义&lt;br /&gt;
|-&lt;br /&gt;
| K、V部分&lt;br /&gt;
| 多对零终止字符串&lt;br /&gt;
| &amp;lt;code&amp;gt;hostname\0A Minecraft Server\0gametype\0SMP\0 ... hostip\0127.0.0.1\0\0&amp;lt;/code&amp;gt;&lt;br /&gt;
| 当你读取到0长度的键时终止（退出循环，不再读取值）&lt;br /&gt;
|-&lt;br /&gt;
| Padding&lt;br /&gt;
| 10字节，常量&lt;br /&gt;
| &amp;lt;code&amp;gt;01 70 6C 61 79 65 72 5F 00 00&amp;lt;/code&amp;gt;&lt;br /&gt;
| 无意义&lt;br /&gt;
|-&lt;br /&gt;
| Players部分&lt;br /&gt;
| 多个零终止字符串&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;barneygale\0TkTech\0 ... sadimusi\0\0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
| 当你读取到0长度的玩家名称时终止&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
转储：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00 00 00 00 01 73 70 6C 69 74 6E 75 6D 00 80 00 | .....splitnum...&lt;br /&gt;
68 6F 73 74 6E 61 6D 65 00 41 20 4D 69 6E 65 63 | hostname.A minec&lt;br /&gt;
72 61 66 74 20 53 65 72 76 65 72 00 67 61 6D 65 | raft Server.game&lt;br /&gt;
74 79 70 65 00 53 4D 50 00 67 61 6D 65 5F 69 64 | type.SMP.game_id&lt;br /&gt;
00 4D 49 4E 45 43 52 41 46 54 00 76 65 72 73 69 | .MINECRAFT.versi&lt;br /&gt;
6F 6E 00 42 65 74 61 20 31 2E 39 20 50 72 65 72 | on.Beta 1.9 Prer&lt;br /&gt;
65 6C 65 61 73 65 20 34 00 70 6C 75 67 69 6E 73 | elease 4.plugins&lt;br /&gt;
00 00 6D 61 70 00 77 6F 72 6C 64 00 6E 75 6D 70 | ..map.world.nump&lt;br /&gt;
6C 61 79 65 72 73 00 32 00 6D 61 78 70 6C 61 79 | layers.2.maxplay&lt;br /&gt;
65 72 73 00 32 30 00 68 6F 73 74 70 6F 72 74 00 | ers.20.hostport.&lt;br /&gt;
32 35 35 36 35 00 68 6F 73 74 69 70 00 31 32 37 | 25565.hostip.127&lt;br /&gt;
2E 30 2E 30 2E 31 00 00 01 70 6C 61 79 65 72 5F | .0.0.1...player_&lt;br /&gt;
00 00 62 61 72 6E 65 79 67 61 6C 65 00 56 69 76 | ..barneygale.Viv&lt;br /&gt;
61 6C 61 68 65 6C 76 69 67 00 00                | alahelvig..&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== K、V部分 ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 键&lt;br /&gt;
! 示例值&lt;br /&gt;
! 描述&lt;br /&gt;
|-&lt;br /&gt;
| hostname&lt;br /&gt;
|&amp;#039;A Minecraft Server&amp;#039;&lt;br /&gt;
| 当前服务端的MOTD&lt;br /&gt;
|-&lt;br /&gt;
| game type&lt;br /&gt;
| &amp;#039;SMP&amp;#039;&lt;br /&gt;
| 硬编码为SMP&lt;br /&gt;
|-&lt;br /&gt;
| game_id&lt;br /&gt;
| &amp;#039;MINECRAFT&amp;#039;&lt;br /&gt;
| 硬编码为MINECRAFT&lt;br /&gt;
|-&lt;br /&gt;
| version&lt;br /&gt;
| &amp;#039;1.2.5&amp;#039;&lt;br /&gt;
| 服务端版本&lt;br /&gt;
|-&lt;br /&gt;
| plugins&lt;br /&gt;
| &amp;#039;CraftBukkit on Bukkit 1.2.5-R4.0:&lt;br /&gt;
WorldEdit 5.3; CommandBook 2.1&amp;#039;&lt;br /&gt;
| 插件列表，原版服务端不使用，而只是一个空字符串（但仍然是零终止的，见上面的十六进制转储）。&lt;br /&gt;
这是由Dinnerbone提议的格式，且当前用于Bukkit: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;[SERVER_MOD_NAME[: PLUGIN_NAME(; PLUGIN_NAME...)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| map&lt;br /&gt;
| &amp;#039;world&amp;#039;&lt;br /&gt;
| 当前地图的名称&lt;br /&gt;
|-&lt;br /&gt;
|numplayers&lt;br /&gt;
| &amp;#039;1&amp;#039;&lt;br /&gt;
| 在线玩家的数量。该字符串可以解析至数字。&lt;br /&gt;
|-&lt;br /&gt;
| max players&lt;br /&gt;
| &amp;#039;20&amp;#039;&lt;br /&gt;
| 服务端的最大玩家数量。该字符串可以解析至数字。&lt;br /&gt;
|-     &lt;br /&gt;
| host port&lt;br /&gt;
| &amp;#039;25565&amp;#039;&lt;br /&gt;
| 服务端端口。该字符串可以解析至数字。&lt;br /&gt;
|-&lt;br /&gt;
| host ip&lt;br /&gt;
| &amp;#039;127.0.0.1&amp;#039;&lt;br /&gt;
| 服务端监听/联系的IP地址。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 示例实现 ==&lt;br /&gt;
&lt;br /&gt;
* https://github.com/barneygale/MCQuery (python)&lt;br /&gt;
* https://github.com/kmpm/node-mcquery (node.js)&lt;br /&gt;
* https://github.com/Dinnerbone/mcstatus (python)&lt;br /&gt;
* https://github.com/A2PLab/minelib (scala)&lt;br /&gt;
* https://github.com/ryanshawty/MCJQuery (java)&lt;br /&gt;
* https://github.com/Erikvv/Minecraft-Query-cpp (c++)&lt;br /&gt;
* https://github.com/winny-/mcstat (php)&lt;br /&gt;
* https://github.com/coNQP/mcipc (python 3.6)&lt;br /&gt;
&lt;br /&gt;
[[Category:ZH:Minecraft Modern]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Kaniol</name></author>
	</entry>
</feed>