Перейти к содержимому
Mineforgian

Better Server Packs (Fabric)

Easily manage server-side resourcepacks without having to restart the server!

Загрузки
6K
Подписчики
25
Обновлён
14 июля 2026 г.
Лицензия
MIT

Опубликован 4 июля 2024 г.

Better Server Packs (Fabric)

Better Server Packs is a server-side mod that replaces the old server-resourcepack logic to allow changing and updating the server resourcepack while the server is running.

What is wrong with Server Resourcepacks?

The issue Server Resourcepacks face currently is that all config about them (including the hash) is stored in the server.properties file. Although hashes are technically optional for servers, not using one will cause all sorts of weirdness when updating the resourcepack resulting in packs not updating on the client.

Using a hash on the other hand, requires a server restart for every update of the resourcepack and hashes are also a pain to compute. (Often tools will generate incorrect hashes for a file.)

How does BSP solve this?

BSP adds the new /pack command to your server that allows operators to update the server resourcepack or push an update out to every user.

Commands

  • /pack set [<url>] [push]
    • This command updates the server resourcepack's URL and hash. The URL will need to be in a quoted-string. If you add the optional push argument, all online players will receive a resourcepack update.
  • /pack reload [push]
    • This command forcibly reloads the resourcepack hash such as when you have updated the resourcepack on your server.
  • /pack push [<players>]
    • Forcibly pushes a resourcepack update to the selected players, or all if the player argument is unspecified.
  • /pack required [true|false]
    • Sets if the resourcepack is required* to join the server (simply calling /pack required will show the current value of the option.
  • /pack prompt [<prompt>|clear]
    • Set the prompt shown to the player when joining the server or remove it. Calling this with no parameters will show the current prompt.
  • /pack info
    • Shows the current server resourcepack settings (managed by BSP).

* Setting required to true cannot guarantee that players actually use the resourcepack. Modified clients can circumvent this option

This project is a rewrite of BetterServerPacks for 1.21 Fabric servers.

I would also like to thank Max Henkel for developing the awesome config-builder library and allowing me to use it. There really aren't enough libraries for server-side configuration for Minecraft mods.

Ченджлог

1.2.2+26.2Релиз26.2 · 14 июля 2026 г.

This version is a port to 26.2, provided by @meza on GitHub. There are no additional changes.

1.2.1+26.1Релиз26.1 · 24 марта 2026 г.

This is a port of version 1.2.1 to the newest Minecraft version of 26.1. The changelog of the previous release is shown below.

1.2.1

The new release is finally here! (After I remembered I needed to do it)

This release comes with two small features and some backend changes.

Changelist

  • The rehash_on_start option now no longer resets on every server launch. (#9)
    • If, for some reason, you relied on this behaviour, you can imitate it by deleting the pack.sha1 file.
  • Added the If-Modified-Since header to all pack requests. As long as your resource supports it, this means hashes will only be recalculated when necessary, reducing server overhead.
    • Also added the last_hash_update config option, which stores the timestamp of the last sent request.
    • Note that /pack set will always recalculate the hash.
  • Improved logging during hash recalculations (This includes on-start hashing as well as pack reload)

Developer Notes

Addition of the If-Modified-Since header reduces the overhead of periodic rehashing greatly (by not actually doing the work when it isn't necessary). I intend to add a rehash_period config option in the future (likely with an accompanying command), but since I can't say how much time I will have available, I can't promise a release date on that feature. Originally rehash_period was supposed to be another feature added in this release, but implementation has proven more complex than expected and I did not wish to delay this release any further.

Anyway, I'm sorry this release took so long to get out. Enjoy updating your hashes!

1.2.1Релиз1.21.11 · 22 марта 2026 г.

The new release is finally here! (After I remembered I needed to do it)

This release comes with two small features and some backend changes.

Changelist

  • The rehash_on_start option now no longer resets on every server launch. (#9)
    • If, for some reason, you relied on this behaviour, you can imitate it by deleting the pack.sha1 file.
  • Added the If-Modified-Since header to all pack requests. As long as your resource supports it, this means hashes will only be recalculated when necessary, reducing server overhead.
    • Also added the last_hash_update config option, which stores the timestamp of the last sent request.
    • Note that /pack set will always recalculate the hash.
  • Improved logging during hash recalculations (This includes on-start hashing as well as pack reload)

Developer Notes

Addition of the If-Modified-Since header reduces the overhead of periodic rehashing greatly (by not actually doing the work when it isn't necessary). I intend to add a rehash_period config option in the future (likely with an accompanying command), but since I can't say how much time I will have available, I can't promise a release date on that feature. Originally rehash_period was supposed to be another feature added in this release, but implementation has proven more complex than expected and I did not wish to delay this release any further.

Anyway, I'm sorry this release took so long to get out. Enjoy updating your hashes!

1.2.0Релиз1.21.11 · 9 декабря 2025 г.

This is a compatibility release for 1.21.11. It also has preliminary compatibility until 1.22, although that probably won't make a difference with the new versioning.

1.2.0Релиз1.21.8, 1.21.9, 1.21.10 · 1 октября 2025 г.

Port for 1.21.8 and 1.21.9. Will also support any version from 1.21.6 onward.

Note: Since this version was created before 1.21.10, any later version could crash using this version.

See the previous version for patch notes

1.2.0Релиз1.21.6, 1.21.7 · 5 июля 2025 г.

This is a compatibility port of 1.2.0 that adds support for 1.21.7. The changelog of the original 1.2.0 release is pasted below.

1.2.0: 1.21.6 port and support for new text components

This release establishes full compatibility with Minecraft 1.21.6 and adds support for SNBT in the prompt configuration.

SNBT Prompts

Prompts are now specified as SNBT text components to keep compatibility with online generators. A config like prompt={"text":"Hello World!","color":"red"} can now be written as prompt={text:"Hello World!", color: "red"}. Groundbreaking stuff. This won't cause any compatibility issues with your existing prompts as SNBT is completely compatible with JSON since 1.21.5.

In other news

Work is proceeding on a clientside GUI to allow editing of all of BSP's config without any use of commands. Since I'm spread rather thin with uni, medical issues, and my other projects, I can't promise any sort of timeline, but if you would like to keep up with progress, you can follow the client-gui branch of the repository. PRs are always welcome, of course. Bye!

Full Changelog: https://github.com/Fisch37/better-server-packs-fabric/compare/v1.1.0-1.21.X...v1.2.0-1.21.6

1.2.0Релиз1.21.6 · 29 июня 2025 г.

1.2.0: 1.21.6 port and support for new text components

This release establishes full compatibility with Minecraft 1.21.6 and adds support for SNBT in the prompt configuration.

SNBT Prompts

Prompts are now specified as SNBT text components to keep compatibility with online generators. A config like prompt={"text":"Hello World!","color":"red"} can now be written as prompt={text:"Hello World!", color: "red"}. Groundbreaking stuff. This won't cause any compatibility issues with your existing prompts as SNBT is completely compatible with JSON since 1.21.5.

In other news

Work is proceeding on a clientside GUI to allow editing of all of BSP's config without any use of commands. Since I'm spread rather thin with uni, medical issues, and my other projects, I can't promise any sort of timeline, but if you would like to keep up with progress, you can follow the client-gui branch of the repository. PRs are always welcome, of course. Bye!

Full Changelog: https://github.com/Fisch37/better-server-packs-fabric/compare/v1.1.0-1.21.X...v1.2.0-1.21.6

1.1.0Релиз1.21.5 · 28 марта 2025 г.

Port to 1.21.5

Комментарии

Загружаем…