雷达追踪器

雷达追踪器

服务端管理雷达:一张实时俯视地图,显示主世界、下界和末地中所有在线玩家的位置、生命值和物品栏,并支持一键传送旁观。作为与服务器并行的桌面窗口运行。

为你的 Fabric 服务器提供的实时管理员地图。

Radar 会在运行服务器的机器上(或你的单人世界)打开一个独立的桌面窗口,以实时俯视视角渲染世界地形,将每个在线玩家显示为一个点——其构建方式与原版游戏内地图相同,因此看起来和读起来都像一张 Minecraft 地图,而不是调试叠加层。点击玩家的点(或列表中的名字),即可将你配置的“观察者”角色切换到旁观模式并直接传送到他们头顶。

它是为服务器管理员、版主和 SMP 主机打造的,适合那些想要快速、持续掌握所有玩家位置概览的人——无需切换到第三方网页地图,也无需让玩家分享坐标。

✨ 主要功能

  • 实时俯视地图,覆盖主世界、下界和末地,每个维度都根据玩家探索时的真实方块数据渲染——无需预生成图块,无需外部 Web 服务器。
  • 正确的下界渲染。 不同于简单的“最高方块”扫描(那样只会到处找到实心基岩天花板),Radar 会穿透下界的天花板来渲染下方实际的洞穴表面,因此下界地图看起来像一张地图,而不是一块平坦的灰色板子。
  • 玩家标记,带名字标签,按可配置的间隔更新。
  • 点击旁观。 点击玩家会将你选定的“观察者”玩家以旁观模式传送到其位置——非常适合无需聊天命令就能快速查看某人的情况。
  • 每位玩家的信息面板: 生命值、饥饿值、游戏模式、延迟、当前生物群系、距世界出生点的距离、完整物品栏和穿戴的盔甲,以及资源包接受状态。
  • 深色和浅色主题,外加可通过标准颜色选择器完全自定义的强调色(任意 RGB 颜色,而非固定调色板)。
  • 内置本地化——开箱即支持俄语、英语和乌克兰语(配置中的 language: ru / en / uk)。
  • 可调性能。 更新间隔、每服务器 tick 扫描的区块数,以及每位玩家周围的扫描半径均可配置,因此你可以在玩家数量较多时用地图新鲜度换取服务器 tick 时间。
  • 零客户端占用。 Radar 只需安装在服务器上(见下方要求)——玩家不需要该模组,它也不会改变他们游戏客户端的任何内容。

⚠️ 要求与重要兼容性说明

  • Minecraft: 1.21.11
  • 模组加载器: Fabric Loader >=0.19.5
  • Java: 21+
  • 必需依赖: Fabric API

这是服务器端桌面工具,不是游戏内 GUI。 Radar 的地图窗口是一个原生 Java/Swing 窗口,会弹出在服务器进程运行的任何机器上——它并非在 Minecraft 内渲染,也不对连接的玩家可见。这意味着:

  • 它非常适合单人游戏(集成服务器也算作“服务器”)、局域网世界,以及在有显示器连接的台式机/PC 上运行的自托管服务器。
  • 它不会在典型的无头专用服务器上打开(大多数租用的 Minecraft 托管没有连接显示器)。Radar 会自动检测这一点(GraphicsEnvironment.isHeadless()),并仅在日志中给出警告而不打开窗口,而不是崩溃——但在该环境中地图本身将不可用。

如果你托管在没有桌面/VNC 访问权限的标准租用游戏面板上,那么此模组目前不适合你——如果未来版本添加了远程地图支持,请再来看看。

🔧 配置

首次启动时,Radar 会在你的其他服务器配置旁创建 config/radar.json:

键 默认值 作用
viewerName "" 当你点击标记时会被传送到旁观模式的玩家名称
updateIntervalTicks 10 玩家位置和地图刷新频率(以 tick 为单位;20 = 1 秒)
chunksPerTick 4 每个服务器 tick(重新)渲染多少个地图区块
chunkScanRadius 6 每位玩家周围被扫描用于地图的半径(以区块为单位)
language ru UI 语言:ru、en 或 uk
theme dark UI 主题:dark 或 light
accentColor 0xFFC107 强调色(玩家标记、选择高亮),格式为 0xRRGGBB

你也可以在应用内通过标准颜色选择器设置强调色——无需手动编辑十六进制值。

🗺️ 工作原理

Radar 挂钩服务器 tick 循环,在不于主线程之外触碰游戏自身状态的情况下采样地图颜色和玩家数据——所有 UI 读取都通过不可变快照完成,因此不存在从 Swing 线程破坏世界/实体状态的风险。地形颜色采样遵循原版自身的地图着色规则(MapColor),以呈现熟悉的外观,并对下界等没有开阔天空的维度使用自定义的穿透天花板扫描。

🌐 本地化

Radar 内置俄语、英语和乌克兰语翻译。通过编辑 the radar window. 中的 language,可随时切换语言。

📜 许可证:

保留所有权利。

未经作者明确书面许可,不得复制、修改、重新分发本模组的源代码和编译分发版本,或将其用于衍生作品。

🙏 致谢:

由 CarymeDer 创建。


附注:如果你有任何问题,尽管留言——我很乐意回答!