SMM v3
Existing features
- [x] vanilla toggle (in ficsit-cli)
- [x] offline support (also in ficsit-cli)
- [x] better update checking (in ficsit-cli)
- [x] better updating (in ficsit-cli)
- [x] parallel downloads (in ficsit-cli)
- [x] show changelog when updating
- [x] linux install finders + new install finders that people requested
- [x] URI install
- [x] singleinstance
- [x] websocket
- [x] settings menu
- [x] help dialog
- [x] debug info
- [x] copy mod list
- [x] profile import/export
- [x] check if game is running
- [x] mod update dialog
- [x] update single mod
- [x] error messages
- [x] compatibility display
- [x] compatibility launch warnings
- [x] open URLs in mod descriptions in browser
- [x] mod details icon is broken when mod doesn't have an icon
- [x] that fix for the author being displayed as the first one instead of creator
- [x] ~~easter eggs~~
- [x] installer
- [x] auto-updating
- [x] announcements
New features
- [ ] symlink instead of extract every time (in ficsit-cli)
- [x] configurable cache path
- [x] install mod version range (maybe split it into two buttons, one for the range (maybe even semver with explanation) or something and one for the versions that satisfy that constraint) for prerelase semver support
- [x] view changelog in mod details (button around the version chooser)
- [x] filter for dependencies
- [ ] URI register on linux?
- [x] open .smmprofile files and file association
- [ ] separate icon for .smmprofile
- [x] remote server management
- [x] multiple mod download (queue or all at once like ficsit-cli already supports)
- [x] fully resizable
- [ ] different layouts (in the future :tm:)
- [ ] export/import profile as text
- [ ] https://media.discordapp.net/attachments/555505343031934979/1023163562874646620/unknown.png
- [x] ask for remove mods on uninstall
- [ ] ask for remove data on uninstall
Not-causing-a-ddos-on-SMR
- [x] create cache link between allMods query and getModByReference
- [x] don't trigger a version compatibility check when reported compatibility exists, since it takes precendence anyway
- [x] find out why multiple version compatibility requests are triggered at the same time
Bugs
- [x] fix scaling of mod description images (now it clips them instead of overflowing)
- [x] wails now has a weird white bar on the bottom of frameless windows, as if it wasn't frameless on that edge only (fixed in Wails v2.3.0)
- [x] ficsit-cli doesn't attempt to get a different version of an existing lockfile item when updating another (https://discord.com/channels/555424930502541343/830842478956642354/1024336973864910948)
- [x] maximising resets the width to the compact one
- [x] check weird scroll stutters in virtual scroll box
- [x] some weirdness with selectedProfile being null but displaying correctly
- [x] fix weird scroll bar
Background:
I wanted to host a dedicated server for friends. I discovered several mods were unavailable for Dedicated Servers. I have a copy of Satisfactory in both Epic and Steam. The thought was to run a ~~"server"~~ client in Epic with mods, and a client in Steam with mods to join the game hosted through Epic.
Issue:
SMM checks to see if the game is running, and regardless of whether it was launched using Epic or Steam, it prevents other Modded instances of Satisfactory from launching because the system sees an instance.
Suggested feature:
Please consider adding the ability to run the SMM as different users, or support multiple instances, for when multiple instances of Satisfactory are installed and running in concert.
Workaround:
A potential workaround is to run multiple instances of the client instead, unfortunately that capability is blocked.
Note: This may not be required come v1.0, but several mods are not supported on dedicated servers.
You don't need to launch the game from SMM for mods to be loaded. The engine itself handles that, SMM only places the files in the correct locations.
The library SMM is currently using only returns the running executable name, not its full path (because that's what the OS APIs return in the process list, the full path would be one additional call per process), so SMM can't know which of them is actually running. Though I will look into other libraries which might support full paths.
Side note, for other people finding this, please create a separate issue, even for SMM3 bugs/features. This issue was simply a todo list for the early development stages of SMM3