跳转至

MinecraftHostname

{
    "Type": "MinecraftHostname",
    "Parameter": {
        "Domain": [
            "example.com",
            "list:allow_domains"
        ],
        "DomainSuffix": [
            "example.net",
            ".example.org"
        ]
    }
}

Note

你应该先嗅探 Minecraft 协议。

MinecraftHostname 匹配 Minecraft 客户端发送的主机名。

连接到 SRV 服务时,Minecraft 客户端发送的主机名可能不同。展开下面的笔记以了解更多。

Note

假设我们在 mc.example.com:25565 有一个 Minecraft 服务器,并且我们有一个指向它的 SRV 记录 (_minecraft._tcp.example.com)。

因此玩家可以毫无疑问地通过 example.com 加入此服务器。但是,客户端在请求 MOTD 和加入游戏时发送不同的主机名。 客户端将在:

  • 请求 MOTD 时发送 example.com,与您在游戏中输入的相同。
  • 加入游戏时发送 mc.example.com.。注意最后有一个点号。

你应该在编写规则、列表时注意这一点。

离大谱。

参数是一个 RuleDomain 对象,它包含两个 Listable 字段, Domain 和 DomainSuffix。

Domain 中的元素按原样匹配。

DomainSuffix 中的元素在按原样匹配的同时匹配其子域。

Note

“example.net” 的域名后缀包括其自身及其所有子域,例如 “a.example.net” 和 “any.example.net” 。

但是,“.example.net” 的域名后缀仅包括其所有子域,但不包含 “example.net” 本身。

如果匹配 Domain 和 DomainSuffix 中的任何域名,则该规则被匹配。

你可以通过 "lists:" 前缀和 List Tag 来引用 Lists 中的列表。

它采用优化的压缩前缀树作为其实现算法,因此即使其中有大量域名,既不会占用太多内存,也不会太慢。