服务器隐藏设置

服务器隐藏设置

一个Hytale的服务器端模组/插件,用于隐藏实体上方的HP条以及(可选)伤害/治疗数值。它可以通过游戏内的管理员UI仪表板进行控制,并支持基于磁盘的配置文件。

游戏玩法

服务器隐藏设置 (Hytale 服务端模组/插件)

服务器隐藏设置是一款服务端 Hytale 模组/插件,通过隐藏头顶战斗 UI(血量条 + 战斗文本)并可选隐藏世界地图上的玩家标记来减少视觉干扰。所有设置均可通过管理员仪表盘 UI游戏内控制,所有设定会持久化存储到磁盘配置文件中,并可实时应用(刷新)——无需客户端模组

目标:减少视觉干扰,保持服务器界面更简洁——无需任何客户端修改。

如果你对模组有任何问题,请通过 Discord/Telegram 联系我:artur_hatoka


为什么有这个插件

头顶 UI 很有用,但在繁忙的服务器上很快就会变得嘈杂:

  • 大规模战斗时屏幕上充满血量条和伤害数字,
  • 拥挤的中心区域即使没有重要事件发生时也显得视觉上“凌乱”,
  • PvP/PvE 活动可能需要更清爽、更具电影感的呈现方式。

服务器隐藏设置让你能够在全服范围内强制执行更清爽的外观,同时保持游戏完全可以游玩。


功能特性

  • ✅ 隐藏实体头顶的战斗 UI(血量条 + 战斗文本)
  • ✅ 适用于:
    • 玩家 (players)
    • NPC (npcs)
  • ✅ 隐藏世界地图上的玩家标记
  • ✅ 游戏内管理员仪表盘 UI(开/关切换)
  • ✅ 将设置保存到文件并实时应用(刷新)
  • ✅ 服务端实现:
    • 修改实体的 UIComponentList,使客户端渲染更少的头顶 UI
    • 覆盖地图图标提供器(隐藏玩家标记)

工作原理(高层概述)

该插件完全运行在服务端,专注于服务器复制给客户端的内容:

  • 头顶战斗 UI
    • 服务器通过实体的 UIComponentList 控制哪些头顶 UI 元素存在。
    • 插件过滤/移除特定的头顶组件,因此客户端只需绘制更少的内容。
  • 世界地图玩家标记
    • 插件覆盖世界地图图标提供器逻辑,并压制玩家标记。

这种方式轻量高效,无需客户端改动,并且对所有连接的玩家一致生效。


使用场景

  • PvP 活动 / 竞技场
    • 更清爽的战斗,更少的视觉噪音,更专注于移动和站位。
  • 角色扮演服务器
    • 移除“游戏化”的叠加层,以获得更具沉浸感的外观。
  • 直播 / 电影服务器
    • 无需玩家安装任何内容即可获得更干净的录像和截图。
  • 小游戏
    • 减少信息过载,简化呈现方式。

注意事项(重要)

  • 在某些服务器/客户端版本中,隐藏血量条可能会同时隐藏战斗文本,即使它们被分开配置。仪表盘 UI 会反映您版本上的实际行为。
  • 兼容性取决于当前 Hytale 服务器 API 版本。如果游戏更新更改了内部 UI 组件 ID,插件可能需要更新。

要求

  • Hytale 服务器(兼容性取决于服务器 API 版本)
  • Java 25

安装(服务器端)

  1. 构建插件 .jar 文件(参见下方的构建部分)或使用预编译的发布版本。
  2. 将模组放入你的服务器文件夹(通常是 mods/——取决于你的设置)。
  3. 启动服务器。
  4. 使用拥有 serverhidesettings.admin 权限(或等效的管理员角色)的账号加入游戏。
  5. 打开仪表盘:
    • /hid ui

首次启动后,将会创建配置文件:

  • mods/ServerHideSettings/config.json

命令

基础命令:hid

  • /hid help — 显示帮助
  • /hid info — 显示模组信息和当前设置
  • /hid ui — 打开管理员仪表盘
  • /hid reload — 从磁盘重新加载配置(管理员)并刷新实时设置

权限

  • serverhidesettings.admin — 访问仪表盘 UI 和管理员功能

确保你的服务器权限系统将此权限授予正确的角色/玩家。


配置

文件:mods/ServerHideSettings/config.json

示例 JSON:

{ "enabled": true, "players": { "hideHealthBar": true, "hideDamageNumbers": true }, "npcs": { "hideHealthBar": true, "hideDamageNumbers": true }, "map": { "hidePlayerMarkers": true } }

配置字段

  • enabled
    • 插件的总开关。
  • players.hideHealthBar
    • 隐藏玩家头顶的血量条。
  • players.hideDamageNumbers
    • 隐藏玩家的头顶战斗文本/伤害数字。
  • npcs.hideHealthBar
    • 隐藏 NPC 头顶的血量条。
  • npcs.hideDamageNumbers
    • 隐藏 NPC 的头顶战斗文本/伤害数字。
  • map.hidePlayerMarkers
    • 隐藏世界地图上的玩家图标/标记。

提示:使用仪表盘 UI 进行快速切换,然后通过保存/重新加载配置来持久化设置。


支持 / 联系方式

  • Discord / Telegram:artur_hatoka