Resource Pack Manager

Resource Pack Manager - 资源包管理器

自动合并并托管您的所有资源包,采用优先级系统!
Bukkit / Spigot 作者 magmaguy 支持版本 1.19 - 26.2
服务器使用量
1,452
服务玩家数
1,074
下载量
17,268
插件详细介绍

目前只有这段开发日志视频,专门的演示视频希望很快就会推出。ResourcePackManager 可以自动合并、托管并分发服务器资源包,让玩家直接获取自定义模型,并同时兼容 Java、Bedrock 和代理网络。

工作原理

  • 如果你的服务器有多个使用资源包的插件,不想手动合并、重新计算 SHA1、再重新托管?
  • 想要拖放即用的支持,让玩家立刻获得自定义模型?
  • ResourcePackManager 就是为此而生的解决方案。
  • 它会自动抓取与 automerge 兼容插件中的资源包,根据配置优先级进行合并,并直接从你的服务器托管。
  • 玩家会自动收到合并后的资源包。
  • 你也可以在 mixer 文件夹中手动添加资源包。

主要功能

  • 自动合并你服务器上的所有资源包。
  • 直接从你的服务器自托管资源包。
  • 如果自托管不可用,会自动回退到免费的远程托管。
  • 玩家登录时自动发送资源包。
  • 支持 Bedrock:会自动把合并后的 Java 资源包转换为适配 GeyserMC 的 Bedrock 资源包。
  • 支持代理网络:可与 Velocity、BungeeCord 和 Waterfall 配合使用,Bedrock 玩家会在所有服务器上收到同一个合并包。
  • 支持在 mixer 文件夹中手动追加资源包。
  • 提供 24/7 Discord 支持。
  • 无需额外设置或维护。
  • 想获得更好的体验?这个插件与 Free Minecraft Models 和 EternalTD 搭配效果最佳,而且它们都是免费的。

安装与设置

快速开始

  • 将 ResourcePackManager.jar 放入 plugins/ 文件夹。
  • 重启服务器。
  • 就这样。插件会使用推荐的默认配置直接运行。
  • 你也可以在配置文件中自行调整设置。

Bedrock 支持(GeyserMC)

  • ResourcePackManager 会自动把你合并后的 Java 资源包转换为适配 GeyserMC 的 Bedrock 资源包。
  • 因此,Bedrock 和 Java 玩家看到的自定义内容会保持一致。
  • 此功能默认启用,无需额外设置。
  • 目前支持 FreeMinecraftModels 的自定义模型和 EliteMobs 的自定义物品。

代理网络设置(Bedrock)

  • 如果你在代理后面运行多个 Geyser/Floodgate 服务器,Bedrock 客户端在一次网络连接中只能使用一个资源包。
  • ResourcePackManager 会把整个网络中的所有资源包合并为一个包,然后在 Bedrock 客户端登录时发送给他们。
  • 设置方法:
  • 在代理服务器和后端服务器上都安装 ResourcePackManager。
  • 两边使用同一个 ResourcePackManager.jar 文件。
  • 全部配置完成后,把代理重启两次,以便正确保存 geyser mappings。
  • Java 玩家在切换服务器时,会直接从各自的后端服务器获取资源包。

兼容性与限制

限制

  • ResourcePackManager 会尽可能合并资源包,但无法修复根本性冲突。
  • 例如 GUI unicode spacing 冲突,或重复的物品模型 ID。
  • 如果发生冲突,会优先采用优先级更高的资源包。

支持自动合并的插件

  • FreeMinecraftModels(推荐的模型插件!)
  • EliteMobs(推荐的 Boss 插件!)
  • EternalTD(推荐的小游戏插件!)
  • BetterHUD
  • ItemsAdder(需要解密并关闭托管)
  • MMOInventory
  • ModelEngine
  • Nova
  • Oraxen
  • ValhallaMMO(需要运行 /valhalla resourcepack download)
  • BackpackPlus
  • RealisticSurvival
  • Vane-Core
  • 如果你有希望加入兼容性的插件,可以在 discord 告诉我。

命令

  • /resourcepackmanager reload - 重载插件
  • /resourcepackmanager data_compliance_request - 下载所有已托管的数据以供检查
  • /resourcepackmanager status - 显示 RSPM 的当前状态

托管方式

  • ResourcePackManager 默认会尝试直接从你的服务器自托管资源包。
  • 这要求你的服务器端口对玩家可访问。
  • 如果你无法转发端口,或者不想自托管,RSPM 会自动回退到 Nightbreak 服务器上的免费远程托管。
  • 这一服务由慷慨的 Patreon supporters 支持。
  • 你可以在 config.yml 中配置托管模式。

远程托管数据政策与 TOS

ResourcePackManager 数据政策与合规性

  • ResourcePackManager 由 MagmaGuy 为 Nightbreak 游戏工作室开发,包含一个可选的自动托管功能,会在远程服务器上临时托管资源包数据。
  • 截至目前,托管数据是完全匿名的,其唯一用途是简化使用该服务的服务器向客户端分发资源包的流程。
  • 未来版本的文档可能会更新,以反映数据政策或其他相关事项的变化。
  • 本系统符合以下规定:
  • Directive 2000/31/EC of the European Parliament and of the Council of 8 June 2000
  • Regulation (EU) 2022/2065 of the European Parliament and of the Council of 19 October 2022
  • 为了保证数据托管透明度并符合这些及其他欧洲规范,你可以通过 /resourcepackmanager data_compliance_request 获取与某个服务器相关的所有数据。
  • 该命令会打包一份与请求服务器相关的全部文件和数据副本。
  • 若要请求删除你服务器的数据,请联系 MagmaGuy:magmaguy/at\nightbreak.io(将 /at\ 替换为 @)。
  • 但由于系统设计,数据只会在使用 ResourcePackManager 的服务器关闭后保留最多 24 小时,因此通过邮件请求通常并非必要。
  • 不过,这个选项仍然保留,以确保完全符合欧洲规范。

ResourcePackManager 与 Nightbreak 服务器的数据处理方式

  • 资源包生成
  • ResourcePackManager 会将你服务器上的资源包聚合为一个包含所有自定义内容的单个 zip 文件。
  • 初始化请求
  • 会向远程服务器发送初始化请求,创建一个带有随机 UUID 的 .txt 文件。
  • 该文件可以通过 /resourcepackmanager data_compliance_request 获取。
  • SHA1 请求
  • ResourcePackManager 会把资源包的 SHA1 代码传输到远程服务器,并保存到 .txt 文件中。
  • 文件传输
  • 打包后的资源包文件会发送到远程服务器,并使用与 .txt 文件相同的 UUID。
  • 该文件可通过 /resourcepackmanager data_compliance_request 获取,并可验证其与输出文件夹中的原始文件一致,因为 Nightbreak 服务器不会对其进行修改。
  • “仍然在线” Ping
  • ResourcePackManager 每 12 小时发送一次“still alive” ping,并把 UUID 传送到服务器,从而更新 .txt 文件中的时间戳。
  • 如果超过 24 小时没有收到“still alive” ping,所有与该 UUID 相关的数据(.txt 文件和资源包)都会从 Nightbreak 服务器中删除。

数据政策

  • 伪匿名识别: Nightbreak 每次服务器重启时都会为你的服务器文件分配一个随机 UUID,确保不会存储 IP 地址或可识别信息,除非用户手动把这些信息加入自己的资源包中。
  • 不记录下载日志: Nightbreak 不会记录任何与 Minecraft 客户端下载请求相关的数据。
  • 不出售数据: 上传到 Nightbreak 的数据现在、过去和将来都不会被出售。
  • 遵守删除请求: Nightbreak 会遵守来自服务器管理员和执法机构的删除请求。
  • 自动删除数据: 与你的服务器相关的所有数据会在服务器关闭 24 小时后自动移除,并且只要 ResourcePackManager 继续使用自动托管功能,就会在每次重启时重新上传。

服务条款

  • 截至目前,该托管服务对所有 ResourcePackManager 用户免费提供。
  • 用户有责任确保上传到服务器的数据不违法,并符合 Mojang TOS 中定义的任何 EULA。
  • 滥用该服务来托管资源包以外的内容,可能会导致违规 IP 被永久拒绝服务。
  • 该服务可能会在任何时候停止,或被修改到使旧版本无法连接。
  • 我们保留在任何时间、以任何理由单方面终止该服务的权利。

更多内容

  • 伙伴服务器:Matecraft 是官方合作服务器!
  • 它由我本人运营,并始终保持最新的实验性功能和新地下城。
  • 如果你想看看这些插件最初是如何设计和开发的,可以去体验一下。
  • 那里有一个温馨的社区,聚集着专注且友好的玩家。
  • eternaltd.matecraft.org

API 与更详细信息

  • 这部分内容可能已经过时。
  • 目前在 ResourcePackManagerAPI 类中已经提供了一个原型 API。
  • 如果你 soft-depend 于 ResourcePackManager,就可以使用以下方法注册资源包:
registerResourcePack(String pluginName,
String path,
boolean encrypts,
boolean distributes,
boolean zips,
boolean local,
String reloadCommand)
  • 然后你还可以在同一个类中调用 reloadResourcePack(),它会重载插件并应用你发送给插件的任何更改。

Maven

<repository>
<id>magmaguy-repo-releases</id>
<name>MagmaGuy's Repository</name>
<url>https://repo.magmaguy.com/releases</url>
</repository>
<dependency>
<groupId>com.magmaguy</groupId>
<artifactId>ResourcePackManager</artifactId>
<version>1.2.0</version>
</dependency>
测试支持版本
1.19 1.20 1.20.6 1.21 26.1 26.2
版本分布
基本信息
插件名称 Resource Pack Manager
作者 magmaguy
平台 Bukkit / Spigot
支持版本 1.19 - 26.2
点赞数 1
Modrinth 下载 22,409
最近版本
2.4.6 304
2.4.4 281
2.3.1 278
2.3.0 143
2.4.5 101
1.7.3 54
2.0.2 43
2.4.0 42
2.2.2 41
1.7.6 40
1.7.1 23
2.4.3 18