QuiltMC / quilt-standard-libraries

A set of libraries to assist in making Quilt mods.
Apache License 2.0
153 stars 85 forks source link

Include the core module of QSL into all quilt installations #1

Open OroArmor opened 3 years ago

OroArmor commented 3 years ago

this might be somewhat questionable, but including the "core" module of the qsl might be a good idea in a default installation not sure how they would get updated or anything, but that would help with issues like this one from fabricord: https://media.discordapp.net/attachments/833879754070818866/847672731511029810/unknown.png i believe this is because the server and/or client doesnt have the fabric api, so registry syncing doesnt really take place and then players without the required mods arent allowed to join this might be a way to always provide a mod list, as the builtin networking api could send the packet when client connects, not requiring any mods to be installed The above quote was by me in the #qsl-general channel

I am making this issue here because it feels more at place here than in loader or installer.

The main reason for this addition would be mostly for servers to enforce mod lists. This is not solely for banning certain mods, the idea was developed as a way to prevent users from joining a server without all required mods. If a user joins a server without a mod that modifies the registries, this feature could be used as a packet sent to the client telling them they need to install the mods that are missing.

This would also have the crash report api be in all quilt installations, making it easier for users and those supporting them to help with mod compatibility and/or crashes.

williambl commented 3 years ago

fabric installations?

williambl commented 3 years ago

I think it's a good idea to have a checkbox in the installer set to true by default to add qsl-core though

OroArmor commented 3 years ago

That's a possibility

samolego commented 3 years ago

It'd also be nice to be able to disable certain stuff from registry sync, even if added to registry.

Server-side mods would benefit from that as you can add new items / entites / etc. with unique abilities but show them as vanilla items / entities on clients.

i509VCB commented 3 years ago

@samolego out of scope, make a new issue for that request

Genau6502 commented 3 years ago

All quilt installations

Servers should not be sending their mods lists to the client - it can reveal what tools the server employs to counter cheating and rule breakers, opening loopholes and exploits. I suggest only on client installs

Genau6502 commented 3 years ago

In fact, I suggest the logic for QSL core mod packet has a client only entrypoint - meaning that servers where QSL core is installed don't send their mods list

sylv256 commented 3 years ago

I think it's a good idea to have a checkbox in the installer set to true by default to add qsl-core though

Yes, I think that's a good idea. Third-party libraries should be on the same level as QSL while still being automatically downloaded if necessary.

Haven-King commented 3 years ago

The tentative plan is to have quilt-gradle implicitly add qsl-core as a dependency to all Quilt mods, with individual mods being able to opt-out if required. This would cause it to be downloaded as a dependency by the Maven loader plugin without being exposed to end users.