HyQuery

HyQuery

让服务器列表显示您服务器的状态——在线玩家、MOTD等更多信息。

实用

HyQuery

让服务器列表显示你的服务器状态——在线玩家数、MOTD 等等!


HyQuery 是什么?

HyQuery 是专门为 Hytale 服务器开发的服务器查询协议。安装后,服务器列表和监控工具可以自动显示你的玩家数量、服务器名称和其他详细信息——无需手动更新!

无论你是在搭建服务器列表网站、Discord 机器人还是服务器管理工具,HyQuery 都提供了获取服务器信息的标准化方式。

HyQuery 是大多数 Hytale 服务器列表的标准实现。


为什么选择 HyQuery?

  • 即装即忘 —— 开箱即用,无需配置
  • 使用现有端口 —— 独立部署时无需更改防火墙
  • 设置自定义 MOTD —— 在服务器列表上显示不同的内容
  • 保护隐私 —— 你精确控制共享哪些信息
  • 网络支持 —— 通过 Redis 聚合多台服务器的玩家数量
  • 防伪造 —— V2 质询-应答握手可防止 UDP 放大攻击

会共享哪些信息?

默认情况下,仅共享基本信息:

  • 服务器名称和 MOTD
  • 玩家数量(当前和最大)
  • 服务器版本
  • 响应延迟

你可以选择启用:

  • 在线玩家列表
  • 已安装插件列表

响应格式

HyQuery 以简单的 JSON 格式返回服务器信息:

{
  "online": true,
  "players": {
    "online": 42,
    "max": 100
  },
  "version": "1.0.0",
  "motd": {
    "raw": "欢迎来到我的服务器!",
    "clean": "欢迎来到我的服务器!"
  },
  "latency": 24
}

快速上手

独立部署

对于单台服务器,操作非常简单:

  1. 下载插件
  2. 放入 mods 文件夹
  3. 重启服务器

就这样!

网络部署

如果你在运行一个包含多台服务器的网络(例如一个大厅和几个小游戏服务器),HyQuery 支持在你的整个网络中聚合玩家数量。这使得服务器列表能准确显示你的全网玩家人数。

工作原理

网络功能采用主/从架构。你的枢纽服务器作为主服务器,游戏服务器作为工作节点。所有服务器连接到一个共享的 Redis 实例——工作节点发布它们的玩家数据,主服务器在被查询时将其聚合成一个响应。这开箱即用地支持多台主服务器组成的枢纽集群。

你需要一个可被所有游戏服务器访问的 Redis 服务器。它可以在主服务器同一台机器上运行,也可以在专门的宿主上运行。使用强密码保护它,并确保服务器间的 6379 端口是开放的。

1. 在所有服务器上安装

下载 HyQuery 并将其放入网络中所有服务器的 mods 文件夹(枢纽和工作节点)。

2. 配置枢纽服务器(主服务器)

在你的枢纽服务器上,将插件配置为聚合 Redis 数据的主节点:

{
  "enabled": true,
  "showPlayerList": true,
  "showPlugins": false,
  "network": {
    "enabled": true,
    "role": "primary",
    "coordinator": "redis",
    "namespace": "global",
    "staleAfterSeconds": 10,
    "redis": {
      "host": "127.0.0.1",
      "port": 6379,
      "password": "你的-redis-密码",
      "tls": false,
      "requireAvailable": true
    },
    "logStatusUpdates": false
  }
}

3. 配置工作节点服务器

在你的小游戏/游戏模式服务器上,将每个配置为向同一个 Redis 实例发布数据的工作节点:

{
  "enabled": true,
  "network": {
    "enabled": true,
    "role": "worker",
    "coordinator": "redis",
    "id": "minigame-1",
    "namespace": "global",
    "redis": {
      "host": "127.0.0.1",
      "port": 6379,
      "password": "你的-redis-密码",
      "tls": false,
      "requireAvailable": true
    },
    "logStatusUpdates": false
  }
}

自定义

如果你想调整设置,编辑 mods/HyQuery/config.json

  • 开启或关闭查询
  • 显示或隐藏玩家名称
  • 显示或隐藏插件
  • 设置带颜色代码的自定义 MOTD
  • 配置速率限制和缓存
  • 为多服务器设置启用网络模式
  • 独立启用或禁用 V1 和 V2 协议

提示

调试网络模式

在配置网络时,将 logStatusUpdates 设置为 true。每当发送或接收更新时,控制台会输出信息。一切正常后,将其切换回 false 以减少控制台输出。

命名空间

使用 namespace 设置来隔离同一个 Redis 实例中的服务器组。共享同一个命名空间的所有服务器会被聚合在一起。如果你在同一个 Redis 服务器上运行多个网络,这会很有用。


测试你的设置

你可以使用 Hyvote 上的服务器状态检查器来验证 HyQuery 在你的服务器上是否正常工作。

测试服务器状态 →


兼容平台

正在运营服务器列表?通过 Discord 联系我们以添加支持。


许可协议

MIT —— 你可以随意使用!


需要帮助?💬

加入我们的 Discord 获取设置帮助、报告问题,或仅与其他服主交流。

👉 https://discord.gg/7espErav5n