探险者的伙伴

探险者的伙伴

轻量级、完全服务端的浏览器世界地图——自动检测每个已安装模组的方块颜色。玩家无需安装任何东西。

探险者之友

一个轻量级、完全服务端的浏览器世界地图,适用于 Fabric、Quilt、NeoForge、Spigot 和 Paper 服务器。

在服务器上安装一个 JAR 文件——玩家使用完全原版的客户端加入,并在浏览器中打开实时地图。无需客户端模组,无需自定义网络协议,玩家无需安装任何东西。(将 JAR 放入客户端实例是无害的:单人游戏世界可通过集成服务器获得地图。)

为什么需要另一个网页地图?

🎨 模组方块开箱即用。 启动时,该模组会清查所有已安装的模组 JAR(SHA-256 内容标识,包含嵌套的 jar-in-jar),通过其 blockstate → model → texture 链解析每个注册的方块,并根据实际纹理计算具有代表性的地图颜色——在线性色彩空间中,支持 Alpha 通道,并带有异常值修剪。所有内容均以内容寻址方式缓存:未更改的模组绝不会被扫描两次,添加一个模组后的典型整合包重新扫描只需几毫秒。

⚡ 对服务器影响极小。 服务器线程上从不运行繁重任务。实时世界访问仅限于硬性预算的区块快照(默认每 tick ≤ 1.5 毫秒,≤ 4 个区块);完整渲染在工作线程上从磁盘读取区域文件,不会加载任何区块。所有队列都有界限,并具有背压和任务合并机制,基于 MSPT 的自动节流会在服务器繁忙时暂停后台渲染。

🗺️ 完整的地图功能。

  • 具有地形起伏和水深阴影的等高线图块、多个缩放级别、增量事件驱动更新(方块变化 → 防抖重新渲染)
  • 可恢复、可暂停的完整渲染(/efmap render)
  • 领地覆盖层:自动检测与 FTB Chunks 和 Open Parties and Claims 的集成(官方 API,未捆绑任何内容),以及用于其他系统的 JSON 导入桥接——半透明填充、队伍颜色、悬停详情
  • 实时玩家,带有真实的皮肤头像(已缓存、隐私强化、支持隐身插件 API)
  • 通过 /efmap marker ... 添加 标记,内置图标库和用户提供的自定义图标,以及 旗帜标记:在铁砧中重命名旗帜并放置——它会以其实际图案显示在地图上;破坏它则将其移除
  • 传送石碑图层(Fabric/Quilt/NeoForge,配合 Waystones 模组):命名传送石碑作为独立的可切换图层——共享石碑保持私密
  • 网页界面中的图层面板(领地 / 标记 / 旗帜 / 传送石碑 / 玩家),状态在浏览器中持久化

🔒 默认安全且私密。 绑定到 127.0.0.1,直到您另行决定(包含反向代理指南)。严格的路径验证、zip/PNG 炸弹限制、有界连接。玩家图层:对隐身/旁观者过滤、位置取整和延迟、名称匿名化、按玩家选择退出——或完全关闭。

📊 可观测。 结构化的控制台摘要、/api/v1/status JSON 诊断信息以及可选的 Prometheus /metrics 端点。

快速开始

  1. 为您的 平台和 Minecraft 版本 选择文件(见下文),并将其放入 mods/(Fabric/Quilt/NeoForge)或 plugins/(Spigot/Paper)。Fabric/Quilt 还需要 Fabric API。
  2. 启动服务器 → 地图位于 http://localhost:8080/。
  3. 渲染已探索的世界:/efmap render minecraft:overworld(Spigot/Paper:/efmap render minecraft_overworld)

在专用服务器上,首次启动会从 Mojang 官方服务器下载一次原版客户端 JAR(方块纹理不包含在服务器 JAR 中;经过 SHA-1 验证、缓存、可禁用)。

选择您的文件

覆盖从 1.21.1 到 26.2 的每个稳定 Minecraft 版本。请安装与您的平台和版本匹配的 一个 探险者之友文件:

平台 文件 Minecraft Java
Fabric / Quilt …-fabric-1.21.1 / -1.21.2-1.21.4 / -1.21.5-1.21.8 / -1.21.9-1.21.10 / -1.21.11 按名称所示 21
Fabric / Quilt …-fabric-26.1 / -26.2 26.1–26.2 25
NeoForge …-neoforge-1.21.1 / …-neoforge-26.2 1.21.1 / 26.2 21 / 25
Spigot / Paper / Purpur …-spigot-paper — 一个文件适用于所有版本 1.21.1 – 26.x 21 / 25

加载器最低版本要求(Fabric):≥0.16(1.21.1–1.21.8),≥0.17.0(1.21.9+),≥0.17.3(1.21.11),≥0.19(26.x)。仅 Fabric/Quilt 需要 Fabric API。

各平台的可选集成:

  • Fabric/Quilt:FTB Chunks(1.21.1、1.21.11)、Open Parties and Claims(全部版本)、GOML/Common Protection API、Waystones 图层、LuckPerms 权限节点
  • NeoForge:FTB Chunks + Open Parties and Claims(1.21.1)、OPAC(26.2)、Waystones
  • Spigot/Paper:GriefPrevention 领地
  • JSON 领地导入适用于所有平台。

链接

许可证:MIT。原始实现——不包含来自其他地图项目的代码或资源。