Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server Shader Pack #2606

Open
Bloeckchengrafik opened this issue Jan 22, 2025 · 0 comments
Open

Server Shader Pack #2606

Bloeckchengrafik opened this issue Jan 22, 2025 · 0 comments

Comments

@Bloeckchengrafik
Copy link

Bloeckchengrafik commented Jan 22, 2025

Is your feature request related to a problem? Please describe.
Using vanilla minecraft, Resourcepacks can change core shaders. This allows some fancy clientside effect on modded servers. Sodium sadly breaks this. I'm working on a modded server without the need to install client mods, resource packs or shader packs. Resources are provided via a Server Resource Pack, but even with sodium and iris installed, shaders can't be sent or even suggested by the server. Since many modded clients use or support Iris and some even bundle it like Lunar Client, it would be very beneficial to be able to load shader packs from the server via Iris.

Describe the solution you'd like
One way would be to introduce a new packet or a plugin message that shows a similar prompt like the resource pack thing. When serverside packs are loaded, no other packs can be loaded (or at least without confirmation). Distribution works like vanilla - send the client a link and a checksum. Why should this be implemented in Iris? Because it is the de-facto standard for shader support and many users already have Iris installed.

Another way would be allow shaderpacks to be added to (server) resource packs. If Iris shaders are integrated, core shaders are ignored and only the Iris shaders are loaded. This would also circumvent a potential privacy problem with servers being able to detect if iris/sodium is present on the client (There was a discussion about this a while back on the Minestom discord).

Both of these are not optimal - core shader support in sodium would be best but I think this is a good compromise. Please tell me about any issues or ideas you might think of.

Describe alternatives you've considered

  • Not supporting sodium or Iris
  • Try merging core shader support into Sodium (afaik sodium devs don't want this)
  • Prompting the user myself to go install a custom shader pack every time they join (UX nightmare)

Additional Info
If you want, I can create a simple protocol specification and implement it in a PR. But this is a non-small feature and I want to get feedback on the idea first.

Also thanks for Cosmic on the Minestom discord for providing a lot of good feedback

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant