Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Pages: 1 2 [3] 4 5

Author Topic: MOSS (Mod Organiser for StarSector): A standalone utility for managing mods  (Read 47239 times)

float

  • Captain
  • ****
  • Posts: 274
    • View Profile

Recently someone asked me to update my mod’s version file to include a direct download link so that it would be compatible with Mod Manager. The direct link includes the tag name, which in most cases is updated with each release.

In order to avoid requiring modders to manually change their direct download link with each release, can you make it so that Mod Manager automatically retrieves the latest download link from the “releases” Github API?

Example GET request:
https://api.github.com/repos/qcwxezda/Starsector-Officer-Extension/releases/latest

The direct download link is under assets/browser_download_url.

Since most people will label their tags with the appropriate version, you could also parse the tag name to extract the latest version, although that’s not as helpful since Nexerlin’s version checker doesn’t do this, so the version file would need to be manually updated regardless.
Logged

Yunru

  • Admiral
  • *****
  • Posts: 1560
    • View Profile

Might also be worth asking in some of the other mod's that supports downloading, since I think some of them use github without issue?

AtlanticAccent

  • Lieutenant
  • **
  • Posts: 73
    • View Profile

Recently someone asked me to update my mod’s version file to include a direct download link so that it would be compatible with Mod Manager. The direct link includes the tag name, which in most cases is updated with each release.

In order to avoid requiring modders to manually change their direct download link with each release, can you make it so that Mod Manager automatically retrieves the latest download link from the “releases” Github API?

Example GET request:
https://api.github.com/repos/qcwxezda/Starsector-Officer-Extension/releases/latest

The direct download link is under assets/browser_download_url.

Since most people will label their tags with the appropriate version, you could also parse the tag name to extract the latest version, although that’s not as helpful since Nexerlin’s version checker doesn’t do this, so the version file would need to be manually updated regardless.

Sure, I can see about adding that in as a feature, though I would like to have some further discussion about this with other mod authors so we can define a strict spec for how to implement this on the author side.

The reason I haven't started these discussions myself is the fact that you have to update your remotely hosted version file whenever you update anyway, so I just sort of expected people to make updating the URL part of the process of updating their version number.

Note: I'm currently working on a full UI rewrite of the manager, and so new features are going to take some time to be released. I'm putting a tentative eta of two weeks for a release with features on par with the current release, and maybe a week or two more for new features to be implemented.

Preview:
« Last Edit: February 04, 2022, 09:10:00 AM by AtlanticAccent »
Logged

Yunru

  • Admiral
  • *****
  • Posts: 1560
    • View Profile

Personally I just update the actual file, so the links remain unchanged, although I also don't keep old versions so maybe it'd be harder with archiving too.

Nick XR

  • Admiral
  • *****
  • Posts: 713
    • View Profile

Recently someone asked me to update my mod’s version file to include a direct download link so that it would be compatible with Mod Manager. The direct link includes the tag name, which in most cases is updated with each release.

In order to avoid requiring modders to manually change their direct download link with each release, can you make it so that Mod Manager automatically retrieves the latest download link from the “releases” Github API?

Example GET request:
https://api.github.com/repos/qcwxezda/Starsector-Officer-Extension/releases/latest

The direct download link is under assets/browser_download_url.

Since most people will label their tags with the appropriate version, you could also parse the tag name to extract the latest version, although that’s not as helpful since Nexerlin’s version checker doesn’t do this, so the version file would need to be manually updated regardless.


Is this necessary?  My mods work via:
1. Local version files contains URI to remote version file
2. Remote version file contains the version number to tell if you're out of date
3. If you're out of date, you download version at the URI specified in the remote version file

Or am I missing something?

float

  • Captain
  • ****
  • Posts: 274
    • View Profile

This is from the modder’s perspective, not the player’s perspective. As the mod author, whenever you want to push out a new update, you still need to manually update your remote version file to reflect the updated version number (as well as the updated direct download link if you want to support Mod Manager).

Now that I’m thinking about it, I wonder why Nexerelin’s version checker even has a “version” field in its .version file spec. It could just as easily compare remote and local mod_info.json to check if a mod is out of date.
Logged

Jaghaimo

  • Admiral
  • *****
  • Posts: 661
    • View Profile

Legacy. Back in the day Version Checker was a mod (still is, part of Nex) and in the API you can't read a file from a specific mod only - it will always be a merged file. So if you tried to read mod_info.json you will get a merged content from all mods (last one will replace your values AFAIR). These days, it's not a problem, as you can grab ModManagerAPI and query for mod existence and version. Also, it's not a problem for ModManager (this app, not ingame class) as it's an external program.
« Last Edit: February 05, 2022, 01:14:44 AM by Jaghaimo »
Logged

AtlanticAccent

  • Lieutenant
  • **
  • Posts: 73
    • View Profile
Re: MOSS (Mod Organiser for StarSector): A standalone utility for managing mods
« Reply #37 on: February 18, 2022, 04:52:36 PM »

MOSS (Mod Organizer for StarSector) 0.6.0
Formerly known as Starsector Mod Manager

Features:
- Batch mod installation (no fiddling with nested mods either)
  - Supports all major archive types: zip, tar, rar, 7z
- Version checking out of game
- One click mod updates (aka: mod auto-updates)
- Mod x Starsector compatibility checks
- VMParams editor (Windows only)
- Direct launch (optionally bypassing vanilla launcher)
- Mod search
- Install stats

Changes:
- Complete rewrite of application in Druid.
- Feature parity achieved with 0.5.x
- New
  - Added new side panel: contains `Tools & Filters` and `Launch`
  - Filters
    - Filters are activated by unchecking a condition in the new `Tools & Filters` pane
    - Conditions include version checker support, update availability, semver difference between local and available version, etc
  - Toggles
    - Toggles are available in the `Tools & Filters` panel
    - Currently only two toggles: `Enable All` and `Disable All`
  - Launch
    - The `Launch` panel contains the previous launch and starsector version widgets
    - It also now contains a widget displaying the selected installation directory and a browse button for faster access.
  - Sort indicators
    - Sorting is now indicated by arrow icons indicating the direction of sorting (ascending/descending)
  - Icons
    - Icons have been utilised throughout the application to improve user experience
  - Dark Theme
    - The default (and only) theming is now dark
    - Light theme is not currently a priority
    - Your retinas can thank me later
  - Installation log
    - Tracks various install events, such as when they start, if they succeed, or error
  - (Dormant) App self updating
    - MOSS (aka: this app) will be able to update itself whenever a new version is release.
    - Only available on Windows and Linux, aka: *not supported on macOS*
- Fixed
  - VMParams editing is now only available on Windows
    - It never worked on other platforms *anyway*
    - May be implemented for other platforms in the future

Download: https://github.com/atlanticaccent/starsector-mod-manager-rust/releases/tag/v0.6.0
Sources: https://github.com/atlanticaccent/starsector-mod-manager-rust
Forum: https://fractalsoftworks.com/forum/index.php?topic=21995.0
« Last Edit: February 18, 2022, 05:18:53 PM by AtlanticAccent »
Logged

Zalpha

  • Commander
  • ***
  • Posts: 185
    • View Profile

My glob, that auto-updater makes this the best mod ever. I have saved so much time updating all my mods. Was just going to get back into the game and had planned to spend a good portion of my Saturday morning checking that each mod I was going to use gets updated but the amount of time I have saved is amazing, in less that 3 minutes all my mods have been updated. I am so lucky this was the first mod I checked out and installed/used. So much time saved. Thank you so much!   
Logged

Justinx931

  • Ensign
  • *
  • Posts: 21
    • View Profile

a suggestion if is it possible to add a date installed column to moss? and a uninstall/delete option as well?

getting to 100+(170 tops) mods and the installed mods get sorted to whichever location having to scroll or search for it has been getting tiring(especially if adding multiple mods, each having their own settings to tinker with), having a installed date column to sort it would be dandy.
« Last Edit: March 18, 2022, 02:48:09 AM by Justinx931 »
Logged

AtlanticAccent

  • Lieutenant
  • **
  • Posts: 73
    • View Profile

MOSS (Mod Organizer for StarSector) 0.7.0
Formerly known as Starsector Mod Manager

This release includes some pretty heavyweight new features! Highlights include:

- Two separate mod browsers
  - A web-browser based one that allows you to browse the official Fractal Softworks Mod Forums and other sites, and automatically install mods when you click on their download links! That's right - when you use this mod browser, it'll automatically download and install any selected mod!
  - A list based mod browser that utilises Wisp's Unofficial Mod Repo. This browser is entirely in-app, and lists every mod that Wisp has managed to scrape off the internet, including ones you can only find on Discord!
- A JRE swapper/upgrade utility!
  - With this, you can let MOSS take care of the trouble of upgrading your Starsector install's Java 7 (which it ships with) to Java 8, which provides a huge number of performance improvements almost everyone will benefit from.
- Mod deletion! Accessed by right-clicking on any mod entry in the main view.
  - Shoot yourself in the foot in new and interesting ways!
- A new (optional) column: Install Date!
  - Note: Install Date information is only available for mods installed by MOSS. This may be improved in the future.
- Column editing
  - Add, remove, and re-arrange columns! Not interested in the authors of a mod? Just get rid of the column entirely!

And what's better, is that all of these features are available on all platforms! And not only these, but many existing features have been improved to work on all platforms!

This means that vmparams editing and game launching (should) now work on macOS and linux too!

Fixes:
- File selection dialogues should no longer crash the app on Linux
- Version tooltips are now much more informative

Known Issues:
- Static Linux builds likely do not work at all. I haven't been able to get these to work very well...
- On Linux, to make use of the web-browser functionality you may need to install webkit2
- Linux binaries are only tested on Ubuntu20.02, and may not work on other distros
- On macOS, tooltips and popup windows may not render/appear forced into the background when using multiple monitors
  - Sub windows can be brought forward by using Mission Control to see all application windows, and dragging the subwindow to your other monitor

Downloading:
As this seems to be a pretty common issue, here's two notes on downloading the app:

1. You do not want the source code from the main repository page. That means do not click the `<> Code` dropdown at all
2. The same goes for this release page. Open the `Assets` accordion/dropdown. But again, do not click on either of the archives/zips labelled `source`. You want one the four files named `starsector_mod_manager`

Download: <https://github.com/atlanticaccent/starsector-mod-manager-rust/releases/tag/0.7.0>
Sources: <https://github.com/atlanticaccent/starsector-mod-manager-rust>
Forum: <https://fractalsoftworks.com/forum/index.php?topic=21995.0>
Logged

Kulverstukass

  • Lieutenant
  • **
  • Posts: 54
    • View Profile

None of new web-related fetures work for me.
Repo link button doesn't do anything at all.
Mod Browser open some window, see attachment, but it's unresponsive from the beginning. Also, opening mod-browser soft-freezes main window too, as buttons doesn't work, even if some still got highlighted with mouse hover over them. Closing browser brings system message about application being unresponsive (close/wait) but main window could be closed normally, and it closes them both w/o issues.
First tried after MOSS auto-updated, but clear download ain't no different.
Been using MOSS from the beginning so I have doubt that it has any issues with my system.
And while I'm at it, would like to thank you for your work!

[attachment deleted by admin]
Logged
Buckle up for broken english vocabulary, comrade!

AtlanticAccent

  • Lieutenant
  • **
  • Posts: 73
    • View Profile

None of new web-related fetures work for me.
Repo link button doesn't do anything at all.
Mod Browser open some window, see attachment, but it's unresponsive from the beginning. Also, opening mod-browser soft-freezes main window too, as buttons doesn't work, even if some still got highlighted with mouse hover over them. Closing browser brings system message about application being unresponsive (close/wait) but main window could be closed normally, and it closes them both w/o issues.
First tried after MOSS auto-updated, but clear download ain't no different.
Been using MOSS from the beginning so I have doubt that it has any issues with my system.
And while I'm at it, would like to thank you for your work!

Thank you for the bug report. Could you tell me a couple things about your system, most of which are to help me with trying to guess what might be the issue:
  • What version of Windows are you using? (Given it looks like Windows 10 I find this unlikely to be the issue)
  • What is your system default language? ie: Roman English, Cyrillic;
  • Have you tried running the application with administrator privileges?
  • Where have you placed MOSS/run it from? Is it Program Files, some other drive, etc?
  • Do you possibly have some kind of system protection, antivirus, or other software that prevents file editing?

Please don't feel pressured to answer immediately, I'll do my best to try and reproduce this from my end as well.

And I'm glad you've enjoyed MOSS so far!
Logged

Kulverstukass

  • Lieutenant
  • **
  • Posts: 54
    • View Profile

Thank you for the bug report. Could you tell me a couple things about your system, most of which are to help me with trying to guess what might be the issue:
Win10
Cyrillic (Russian)
Yep, no difference
Non-system drive, Unblock-ing doesn't helped either
Nope, not even windows defender; also, it's been updating mods and itself just fine, and links in mods description would've open just fine, but not with mod-browser.
Logged
Buckle up for broken english vocabulary, comrade!

Egren

  • Ensign
  • *
  • Posts: 20
    • View Profile

First off: I love this tool for many reasons. It saves so much time and effort figuring out which mods need updating.

I got a few bits of minor feedback however.

#1 - vmparams settings don't always save correctly.
I noticed that when changing vmparams allocation values, if you hit "Close" without 'unselecting' the last edited value (for example, "Maximum RAM"), the new value isn't saved. Since I now know this, as well as anyone else reading this, it's easily fuxabke by just keeping this in mind. But definitely a bug that you want to take a look at.

#2 - Make it easier to tell which version of MOSS i have.
While it is easy to tell if i have the latest verison of a mod or not, it is significantly harder to tell if i have the latest version of MOSS. Maybe I just didn't look in the right place, but if that's the case, maybe make it more obvious for us dumdums.
I checked the places I could think of; The name of the window (currently "MOSS | Mod Organizer for StarSector"); File Properties (RMB > Properties > Details > File Version); Settings.
Best I could do is comparing the "Date Modified" entry in File Properties to release dates on GitHub.
Consider displaying the app's version somewhere obvious like the bottom right/left corner, or in the top ribbon (the bar contianing Minimize, Maximize, Close, etc)
Also adding it to the OP in  this thread wouldn't hurt.

#3 - Open Unofficial Mod Repo does nothing
This issue might not be on your end, idunno. But either way, for me, pressing this button doesn't seem to do anything.

#4 - Feature request: saving/loading different modlists
This can be done manually by copying and renaming enabled_mods.json, but I would very much prefer a better method implemented into MOSS.

Thanks for this is an amazing QoL tool. Keep it up!
Logged
Pages: 1 2 [3] 4 5