如何在Hytale服务器列表中显示在线玩家数量

By HytaleCharts Team Category: guides 8 min read

玩家更倾向于加入显示活跃玩家数量的服务器。了解如何使用心跳插件、外部查询端点或自动UDP ping将您的Hytale服务器连接到HytaleCharts。

当玩家浏览Hytale服务器列表时,一个数字决定了他们是点击"加入"还是继续滚动:玩家数量。一个显示47/100玩家的服务器感觉充满活力。一个什么都不显示——或只显示"离线"——的服务器即使运行正常也像座鬼城。 HytaleCharts 提供三种方式来显示您的Hytale服务器的实时玩家数量和在线状态。每种方法在准确性、设置难度和功能方面有不同的权衡。本指南解释了所有三种方法,以便您为自己的设置选择合适的方案。 三种方法概览 方法玩家数量更新速度设置难度最适合 Heartbeat插件精确数量 + 玩家列表每60秒安装插件自托管服务器 外部查询精确数量每5分钟设置URLNitrado / 托管主机 UDP Ping仅在线/离线定期无(自动)基本状态回退 方法1:HytaleCharts Heartbeat插件(推荐) Heartbeat插件是在最佳方式中显示玩家数量的Hytale服务器列表。它在您的Hytale服务器上运行,每60秒向HytaleCharts发送心跳信号,包括在线玩家的精确数量及其用户名。 它报告什么 玩家数量 — 当前连接的玩家数量 最大玩家数 — 您服务器的玩家上限 玩家列表 — 已连接玩家的用户名和UUID 插件版本 — 以便HytaleCharts可以提醒您更新 内部工作原理 插件每60秒发送一次POST请求到/api/heartbeat 请求包含您服务器的密钥(64字符的十六进制字符串) HytaleCharts验证密钥,更新您服务器的玩家数量和状态 如果5分钟内未收到心跳,服务器将被标记为离线 历史数据被存储用于分析和玩家数量图表 设置步骤 生成心跳密钥 — 在HytaleCharts中,前往编辑服务器并点击Heartbeat插件部分中的"生成心跳密钥" 复制密钥 — 您只能看到一次(丢失后可以重新生成) 安装HytaleCharts插件将其放入您服务器的mods/目录中 配置插件 — 在插件数据目录中创建或编辑config.json: { "secret": "YOUR_64_CHARACTER_SECRET_HERE", "debug": false } 重启您的服务器 — 插件将立即开始发送心跳 在HytaleCharts上验证 — 您的服务器应在60秒内显示为在线并带有玩家数量 多实例支持 如果您运行多个服务器实例(例如大厅服务器和生存服务器),心跳系统会自动聚合玩家数量。共享相同密钥的所有实例将合并其唯一玩家并汇总总数。这意味着您在Hytale服务器列表中的条目显示整个网络的正确总数。 系统通过IP地址和世界名称识别唯一实例,获取每个来源的最新心跳,并按UUID合并玩家以避免对连接到多个实例的玩家进行重复计数。 插件更新 HytaleCharts跟踪您的插件版本。如果有更新版本可用,您的编辑服务器页面将显示"有可用更新"警告。保持插件最新可确保与任何API更改的兼容性,并获得最新的错误修复。 方法2:外部查询端点(Nitrado和托管主机) 并非所有Hytale服务器运营商都有安装自定义插件的权限。如果您使用Nitrado、基于容器的主机或任何提供查询端点的提供商,外部查询系统是您的解决方案。 工作原理 您向HytaleCharts提供一个返回您服务器玩家数量JSON的URL HytaleCharts轮询该URL 每5分钟 响应被解析,您的玩家数量在服务器列表中更新 如果端点变得不可达,您的服务器状态将在10分钟内反映变化 支持的响应格式 HytaleCharts自动检测多种JSON格式,因此可以直接与大多数查询端点配合使用: Nitrado格式 { "Universe": { "CurrentPlayers": 15 }, "Server": { "MaxPlayers": 100 } } 标准格式 { "player_count": 15, "max_players": 100 } 还支持camelCase变体(playerCount, maxPlayers)和简写(online, max)。 设置步骤 在您的托管提供商处找到或配置查询端点(Nitrado默认提供一个) 在HytaleCharts中,前往编辑服务器 → 外部查询 输入查询端点的完整URL 点击"测试端点"以验证响应可解析 保存 — HytaleCharts立即开始轮询 外部查询方法的更新频率低于心跳插件(每5分钟 vs. 每60秒),但不需要任何服务器端修改。 方法3:UDP Ping(自动回退) 如果您既未配置心跳插件也未配置外部查询端点,HytaleCharts将尝试通过UDP ping检查您服务器的状态。这是一个被动系统,不需要您进行任何设置。 工作原理 HytaleCharts向您服务器的公共端口发送最小的QUIC协议探测(默认:5520) 如果收到任何响应,服务器被标记为在线 如果多次重试后没有响应,服务器被标记为离线 限制 无玩家数量 — UDP ping只能确定在线与离线,无法确定有多少玩家连接 无玩家列表 — 没有可用的个人玩家数据 时间精度较低 — 状态更新取决于轮询计划而非实时心跳 UDP ping作为基准很有用,但希望在Hytale服务器列表排名中攀升的服务器应安装心跳插件或配置外部查询以获得准确的玩家数量。 HytaleCharts如何确定您服务器的状态 当有多种方法可用时,HytaleCharts使用优先级系统来决定信任哪个数据源: 外部查询 (最高优先级,如果已启用)— 如果最近一次成功轮询在10分钟内则为在线 Heartbeat插件 (如果已配置)— 如果最近一次心跳在5分钟内则为在线 UDP Ping (回退)— 使用上次检查存储的在线/离线结果 这意味着如果您同时配置了心跳插件和外部查询,外部查询优先。大多数运营商会使用其中一个,而不是两个都用。 玩家看到什么 在Hytale服务器列表上,您服务器的状态显示为彩色徽章: 带玩家数量的绿色徽章 (例如,"在线 — 47名玩家")— 当在线并检测到玩家时 绿色徽章 ("在线")— 当在线但没有玩家或数量不可用时 红色徽章 ("离线")— 当没有最近的心跳、查询或ping响应时 显示玩家数量的服务器始终吸引更多点击。显示"在线 — 23名玩家"的服务器比只显示"在线"没有数量的服务器更有吸引力。这就是为什么心跳插件或外部查询对于顶级Hytale服务器. 故障排除 问题可能原因解决方案 服务器显示"离线"但实际在运行防火墙阻止心跳或ping确保您的服务器可以向hytalecharts.com发出HTTPS出站请求 玩家数量卡在0插件未跟踪玩家事件验证插件已加载(检查服务器日志)并重启 心跳一段时间后停止插件崩溃或被卸载检查服务器日志中的错误,必要时重新安装插件 外部查询显示错误数量端点返回过时数据在浏览器中直接验证JSON响应 多实例数量过低实例使用不同的密钥所有实例必须共享相同的心跳密钥 "有可用更新"警告插件已过时从HytaleCharts下载最新版本的插件 最佳实践 运营顶级Hytale服务器的运营商遵循以下模式: 尽可能使用心跳插件 — 它是最准确和响应最快的选项 设置合理的最大玩家数 — 虚高的上限(例如999)看起来不诚实并降低信任 监控您的心跳状态 — 定期检查编辑服务器页面以查找错误 保持插件更新 — 过时的插件可能在API更改后停止工作 使用外部查询作为备份 — 如果您的插件出现故障,正常工作的外部端点可以保持您的状态准确 确保您的域名正确 — UDP ping回退使用您配置的域名,因此即使主要使用心跳也要保持其准确 开始使用 使用心跳插件显示玩家数量不到五分钟。生成密钥,安装插件,将密钥添加到配置中,然后重启。您的Hytale服务器将在一分钟内显示在Hytale服务器列表上,并带有实时玩家数量。 对于Nitrado等托管主机提供商,外部查询更加简单——只需粘贴一个URL,HytaleCharts会处理其余事项。 无论哪种方式,显示真实的玩家数量是增加服务器可见性和吸引新玩家最简单的方法之一。在Hytale服务器列表上显示活跃玩家数量的服务器始终优于不显示的服务器。