Better Server Packs

替换了常规服务器资源包逻辑。无需烦人的重启!

资源图片
**本项目已于不确定日期停止开发,转而支持[Better Server Packs (Fabric)](https://modrinth.com/mod/better-server-packs-fabric)。** **您(可能)仍然可以使用此版本进行 1.20.2+ 的使用。** # Better Server Packs (BSP) Better Server Packs 是一个旨在替换服务器资源包有时令人恼火的 原版实现的的项目。它通过自行计算资源包的sha1-hash,并将其保存到文件中进行缓存来实现。 ## 服务器资源包的问题是什么? 服务器资源包目前面临的问题是,关于它们的配置(包括哈希值)全部存储在 server.properties 文件中。虽然哈希值在技术上是可选的,但如果不使用它,当更新资源包时会出现各种奇怪的问题,导致客户端无法更新资源包。 另一方面,使用哈希值需要每次资源包更新都重启服务器,而且哈希值也很难计算。 (通常工具会为文件生成不正确的哈希值。) ## BSP 如何解决这个问题? BSP 通过实现自己的逻辑,本质上替换了原版系统,从而消除了重启服务器的需求。BSP 也自行计算哈希值,解决了寻找功能性哈希生成器的问题,并提高了易用性。 BSP 通过新的 `/pack` 命令为操作者提供了一个简单而响应迅速的命令界面,可以通过该命令修改和使用插件的所有按需功能。 BSP 还允许缓存资源包哈希值,以加快启动时间。 ## 命令 BSP 为您的服务器添加了一个新的命令 `/pack`,带有以下命令树: + `/pack` + [`set []`](#set) + [`reload [push]`](#reload) 这些子命令执行以下功能。 ### `set` `/pack set []` 此命令设置服务器资源包的 URL。只需将包的 URL 作为参数传递即可。不传递任何参数将设置没有资源包,实际上禁用该插件。 *请注意,这遵循常规服务器资源包的相同限制。 该链接必须是“直接”链接,意味着它不能指向网页,而必须指向 文件本身。* ### `reload` `/pack reload [push]` 重新计算资源包哈希值。在更新资源包后应调用此命令,以确保新玩家可以正确接收该包。重启服务器后无需这样做。将“push”作为参数传递将为所有活动玩家更新资源包。 资源包的重新加载是异步执行的,忽略边缘情况,不会影响服务器性能。 ## 权限 BSP 实施了四个总权限来规范命令的使用。这些权限可以通过权限插件(如 LuckPerms)进行修改。 实施了以下权限: + `betterserverpack`: + 控制所有命令的使用。禁用此权限将禁用 该插件管理的所有命令的访问。 + 默认:仅限操作员 + `betterserverpack.set`: + 控制对 [`set`](#set) 子命令的访问。 + 默认:仅限操作员 + `betterserverpack.reload` + 控制对 [`reload`](#reload) 子命令的访问。 + 默认:仅限操作员