starsector-mod-manager-rust icon indicating copy to clipboard operation
starsector-mod-manager-rust copied to clipboard

Export mod list

Open atlanticaccent opened this issue 3 years ago • 3 comments

At very least export to a human readable list format that details:

  • Mod name
  • Mod version

Optionally, make list also machine readable, or have an option to produce a machine readable version that can then be imported (ie: imply the ability to import mod lists - track in separate issue).

A more advanced implementation may also include in the export forum links (if available) to support a hypothetical import function, which may notify a user on import if a mod in the list is not installed, and present the forum link for user's convenience.

atlanticaccent avatar Jun 06 '21 16:06 atlanticaccent

Isn't this duplicating descriptor.xml file from the save? Might as well reuse it. The program would then read that file in a save and suggest a new list of mods (missing / present). It will not provide the links to download them, though. One idea I've been toying around was to just "bite it" and manage a mod-database (id,download_link) and that way offer auto-update (or installation, based on descriptor.xml.

jaghaimo avatar Jun 13 '21 07:06 jaghaimo

Isn't this duplicating descriptor.xml file from the save? Might as well reuse it. The program would then read that file in a save and suggest a new list of mods (missing / present). It will not provide the links to download them, though.

Ah, yeah I had forgotten that saves embed what mods they have enabled, that's a good idea. It would raise the edge case of creating a mod list in the manager that has not been encoded into a save, and then not being able to export that. Tbh this isn't something terribly high on my priority list, but that could change depending on what people say.

One idea I've been toying around was to just "bite it" and manage a mod-database (id,download_link) and that way offer auto-update (or installation, based on descriptor.xml.

I've thought about this too. Something akin to NPM or other package/dependency managers. And I believe 0.95 now lets mods specify dependencies. A back-of-the-napkin idea I had for this was to create a GitHub repo with a specific schema, where each "entry" is a folder named by ID/containing a file with a mod ID, and a series of version files, ideally version files extended with direct links to mod archives. You could then build a tool on top of that to clone/contact the repo and parse it for mods and then install them. This also lets new mods be added through forks/merge requests. One issue is that it's a bit more complicated, and requires mod authors to know how to use Git and GitHub, to an extent.

The main issues faced by any centralised "mods directory" would, I believe, be two-fold:

  • Hosting/storage requirements. Who will host it? Maintain it? Pay for it?
  • Making it as pain free as possible for mod authors to contribute to

atlanticaccent avatar Jun 13 '21 16:06 atlanticaccent

Both are non-existential when using Github (use web editing / PR submission, hosting is for free). The bigger issue is getting people on board that (not only files ready, but also modders buying into the idea), and maintaining it up to date. In my case "bite it" meant maintaining it by myself (initially, and mostly for mods I use personally), until people notice it, start using it, and build it up.

It might not even be a need of "modders knowing how to use Github" case. Like with wiki, sooner or later a team would form up that would keep such repo up to date. I never had a tool to do that, so the idea never took off.

jaghaimo avatar Jun 13 '21 17:06 jaghaimo