**本项目已于不确定日期停止开发,转而支持[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) 子命令的访问。
+ 默认:仅限操作员