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>测试支持版本
版本分布
基本信息
插件名称
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