TechnicPack / TechnicSolder

PHP web app that brings differential updates to the Technic Launcher and Technic Platform
https://docs.solder.io/
Other
169 stars 167 forks source link

Optional mods #206

Open Arzte opened 9 years ago

Arzte commented 9 years ago

So I don't see this anywhere else so I want to know about seeing if for Solder enabled packs, can have optional mods that can be installed while installing a pack. I do realise that this would have to have changes on all levels (website, launcher, solder) but this could really be helpful for mods that we(The modpack creators) don't have permission to distribute. Like fastcraft or Mo'Creatures for example.

ghost commented 9 years ago

This is my top wanted feature as well. Especially for things like shaders, different options for minimaps and other clientisde mods.

Not overriding files like options would be cool too.

EmielSlootman commented 9 years ago

Well if you want mods that you arent able to distribute, there should be a system that enables downloading it from the modmaker itself, but automatic. In solder you would only set a url to the mod.

Arzte commented 9 years ago

I don't think that would be legal, because technically, that means that we are distributing it. So that would be in the gray area of legal/not legal. Besides I was using that as an example

GenPage commented 9 years ago

This is definitely a gray area. I have an idea on how to do this but it will take some time to theorize and implement.

EmielSlootman commented 9 years ago

@TheDoctorsLife yes i know, but i was just building on your argument

disconsented commented 9 years ago

Ive been pestering for this for a while now :)

Arzte commented 9 years ago

@disconsented That's why I made this so everyone else who uses solder, can comment on having this

Lochnair commented 9 years ago

In some cases like with JourneyMap the author only requires that the modpack launcher/installer downloads the mod from his own URL (in this case CurseForge).

However: if your launcher or installer provides mods to its users by downloading them individually from >the mod author’s own URLs (instead of bundling or rehosting them), please contact me (PM “techbrew” >on MinecraftForums) and I’ll be happy to consider changing the current policy.

The only problem that I can think of with getting this to work is the strict mod structure Solder is using.

Neon-Beta commented 9 years ago

This, 1000%!

The staff of our server toyed with the idea of just including a folder inside the root minecraft directory with the included optional mods so they could be added manually, but one of our staff argued that it would be too much work for the players; So we soon scrapped that idea.

ghost commented 9 years ago

This is what I do at the moment. On 1 Jan 2015 07:36, Francis Sayer notifications@github.com wrote:This, 1000%!

The staff of our server toyed with the idea of just including a folder inside the root minecraft directory with the included optional mods so they could be added manually, but one of our staff argued that it would be too much work for the players; So we soon scrapped that idea.

—Reply to this email directly or view it on GitHub.

Razorskills commented 9 years ago

I currently use Solder which lets you make different versions of packs. For My Recommended build it just has basic mods. The Latest branch is the same as basic but with extra mods and runs harder on the pcs. And for testing the new versions (The way the latest builds are supposed to work) I can just manually select them. But that still just installs the extra mods I want to add and not the ones they want to have, so the users don't really have a actual choice what is initially installed, and if they add any to their pack, on the next update it deletes their added client side mods (Which really annoys them). Although I do get alot of feedback and try to include the best of the best.

xJon commented 9 years ago

I think it's a great idea and I wanted to suggest it myself. It can make a whole new world of modpacks. There are a lot of mods that are controversial (Iguana Tweaks for a different game style, ICBM for a half-stable mod, Better Dungeons for an RPG experience, OreSpawn for craziness, etc): Now we can give the option for some different people to have the exact modpack they wish without changing stuff manually and getting it deleted everytime the modpack updates.

Omeryl commented 9 years ago

This is pretty much the only thing forbidding us from including FastCraft (since it require it to be optionally available, not forced upon without easy opt-out).

spannerman79 commented 9 years ago

+1 Caveat: Permissions from mod authors have been approved and authorized beforehand. Optifine is one of the optional mods that falls into this discussion. For example - for laptop users they use the Light/HD edition for desktop users they use HD/Ultra

wolrah commented 9 years ago

Caveat: Permissions from mod authors have been approved and authorized beforehand.

I think this can actually be solved with minimal effort thanks to this

The only problem that I can think of with getting this to work is the strict mod structure Solder is using.

Personally I've never encountered a mod that's distributed in a Solder-format ZIP file, so I think the easiest solution is to add an "officialrepo" column to the mod table which would point at the author's repo. Consent could be implied by the fact that there's a repo formatted exactly how it needs to be or could be made explicit by requiring a specifically named file be in the root.

Return an "officialurl" value on the /api/mod w modversion response that points there alongside the normal "url" value and make the client try there first before failing through to the other repo.

I think that would be a win-win, mod authors who want downloads coming from their server get what they want but the mirror is still maintained in case their web site goes down or whatever.

Razorskills commented 9 years ago

Personally, I am not sure I really care as much about a global optional mods. but I would rather have them per pack, it would be nice if in solder, you could add a mod to the mod list, then have a box you can check that says: [] Optional Mod then another box that says: [] Enabled by default

If a mod is checked as optional, then on the client, it would show up in the launchers pack options. Users could then disable ones that come enabled by default, or enable ones that are not enabled by default. (Also might be nice if it cached which ones they enabled/disabled when doing an update) (and obviously only the ones that are set up to be optional would show up in a small list in the launcher)

This would fix the "technic distribution/permissions" issues, since packs would still need the permission to have mods in a modpack, even if they are optional and it would be up to the pack owner to get them.

Now pair this with #388 and limitless possibilities for modpacks. (Also I think some mods, just say you can't rehost their file, although I don't think any amount of neat features will change the modpack policy for mo creatures: Q.: Can I include your mod in my modpack? A.: I'm sorry, but no. Please do not PM me about it. The answer is still no.

Unless of course his $500 a month goal is reach on patreon, I don't think hes going to change that.)

It should also mean the optional mods would be set up and tested properly with the modpack (configs) and recommended to be used if your computer can handle it. The optional mods should just be easy to the user, but versatile to the modpack.

Side note: If there is more than one optional Map mod, or just any mod that shouldn't be used at the same time as another mod. Should be able to specify that, if this mod is enabled, it disables other mod/mods that conflict with newly checked mod.

(Or if mod A depends on having Mod B, if the user disabled Mod B, then it will also disable Mod A Ex: Disable Waila, but user still has WailaHarvestability enabled. If it doesn't do that, then possible annoying crash reports and dumb people)

Another idea: In the client, when a user hovers their mouse over a optional mod, it could display information that was entered about that optional mod ex: FastCraft works best on intel builds. (I have been testing fastcraft amd vs intel and it seems like on the amd builds , it didn't help much.) So perhaps a modpack author feels the user should know a tiny bit of info about a mod before they enable it. another ex: JourneyMap uses alot of your computers resources, if you are experiencing lag try using the other optional map.

Idk I think my idea/point was clear..

MaegnusTheBlackMage commented 9 years ago

This would be great for mods like optifine, not everyone needs or wants it but you can give the option to the players on slower computers who may not know how to download and install it themselves

techninja1008 commented 8 years ago

Has a good way to do this been found? One way to do it would be to have a file ending in .external or something containing some meta info about where to find the file, whether it is optional etc. and then have the launcher resolve it when the modpack is installed. The benefit of this is that it wouldn't require additions to solder, and it would make a seamless experiance.