A full-featured mod manager and toolkit.
This is not being further developed (but still works)I have switched development to
TriOS instead, due to unfixable performance issues in SMOL caused by the underlying platform, Jetbrains Compose.
SMOL is licensed under GPLv3, so anybody is free to make their own version.
For Windows 10+ only. Unix users, see if
AtlanticAccent's MOSS will work for you.
DownloadTo use the in-app web browser*1. Download the JCEF exe from
https://github.com/wispborne/SMOL/releases/download/smol-0.12.0/jcef-v1.0.18.exe.
2. Run the exe and choose the libs folder in your SMOL folder to extract it to.
3. Launch or relaunch SMOL.
Source Code* The self-updater uses git, and libcef.dll is > 50mb so it requires LFS, which is a giant pain, and so CEF is a standalone download instead.
ScreenshotsAlbum:
https://imgur.com/a/XL8FIVGSpoiler
Home screen
Theme: Starfarer (default)
Mod Browser
Theme: One Dark
Mod Profiles
Theme: Tidal
Settings
Theme: Sigma
Quick open
Please help I can't stop making themes
Features-
Mod Browser to view and install mods from the Forums and Discord's #mod_updates without leaving SMOL.
- Quickly switch between mod versions.
-
Mod Profiles allow swapping between different groups of mods/versions easily.
- Make a new profile for a new save, or keep a barebones profile for mod development.
- Easily assign more (or less)
RAM to the game.
-
Auto-install JRE 8 for better performance and
switch JREs with a click.
-
VRAM impact estimates for each mod.
-
Version checker support.
- Supports Direct Download, for mods that have added it.
- Displays Changelogs, for mods that support it via the .version file.
- Drag'n'drop or file browser
mod installation.
- Detects and fixes incorrect mod folder nesting.
- Warns and provides fixes for missing mod
dependencies.
- eg. if LazyLib is disabled, a button is shown to enable it. If it is not found, a button appears to search for it online.
- Works alongside manual mod management; you are
not locked into using SMOL.
-
Delete Tips and see which mod added which tip.
- Built-in and easily configurable
themes.
-
Self-update downloads only what's needed.
Known IssuesThere will be bugs: If you find one that isn't listed here, let me know!
- Doesn't start at all.
Fix: move it out of your Starsector folder or put it in another folder.
Fix: Run it as Admin.
- Browser is on top of everything and doesn't immediately disappear when switching tabs.
I don't have a way to fix this. JetBrains is aware of the issue:
https://github.com/JetBrains/compose-jb/issues/1087- The window just shows a white screen.
Your computer doesn't support DirectX 12. Follow the instructions here, BUT instead of typing "SOFTWARE", type "OPENGL" (opengl is much faster):
FAQWhy is it so huge? 400 MB?!Two main reasons.
- First, because the embedded browser, JCEF, is 219 MB on its own. You can delete this (remove the jcef folder from libs) and SMOL will work, but you won't be able to use the Mod Browser.
- Second, because the UI framework, Compose for Desktop (by JetBrains), is about 100 MB on its own.
Add in other dependencies (7zip to extract mods, json/xml parsing, Kotlin's standard libs, etc) and it ends up being...not very smol. The actual code I wrote is less than 3 MB.
SMOL or MOSS?MOSS is much smaller and a bit less buggy, but doesn't have quite as many features (multiple mod versions, mod profiles).
Give them a shot and see what works best for you - maybe it's a combination of both.
Why make a second mod manager?Ackchyually, this is the third - Vortex works as well.
- I wanted to learn JetBrains's new Compose framework, since I am an Android developer in my boring life.
- MOSS hadn't gotten an update in a while when I started, so I thought it was abandonware. Whoops.
- I wanted to try my hand at an user-friendly, clean, and intuitive UI, as UI design is somewhat of a passion.
I'm pretty happy with the result on that front, but it's also clear that a career change to UI/UX design would not end well for me.
- I wanted to add a bunch of utility features that weren't in MOSS, such as integrating my VRAM checker, JRE switching/downloading, etc.
- I didn't want to learn Rust, which MOSS is coded in, nor share a codebase or vision with someone I didn't know.
Hey, part of the draw of modding is that you can meet desires that aren't being filled by your real job, like creative freedom.
- The fragmentation of mods between various boards on this forum, the Unofficial Discord server and NexusMods has bugged me for a while and I thought I could help to address that.
This is still in progress, but bringing together mods on the forum and Discord is a start that I'm pleased with.
Where's the data for the Mod Browser come from?Nobody has asked this but I want to talk about it anyway.
Periodically (currently twice a day), a program I wrote scrapes the forum (with permission) and uses a Discord bot to collect all of the mods it can find. It's running on a Raspberry Pi. It then does its best to merge all of that data together so that mods in, say, the Index, Modding forum, and Discord are all combined to one mod and don't show up as three separate ones. This part isn't perfect, as the matching is done based on the mod name and author.
Then, it puts that into a json file on GitHub. When SMOL runs, it downloads that file and displays the contents on the Mod Browser page. This is why new mods won't show up in SMOL's Mod Browser immediately; it isn't searching live, as that would cause far more strain on the forums than necessary.
Can I use that big list of mods?Another question nobody has asked yet, but yes. You can view it here:
https://starmodder.pages.dev/mods/home/. New users are sometimes confused by how many different places there are to get mods - it's a very different system than Steam Workshop.
For Mod Authors: How to support SMOL (spoiler: no changes needed)
Spoiler
SMOL uses the existing files, primarily mod_info.json and Version Checker. As long as you support VC properly, SMOL will show updates.
That said, there is an unofficial, entirely optional, addition to VC that both SMOL and MOSS support, and that is "directDownloadURL", Direct Download URL.
Adding
"directDownloadURL": "https://path/to/mod.zip"
will give the user in SMOL and MOSS to download an update file directly without ever leaving the application. The user is heavily warned that the update may be save-breaking and they should read the changelog, but you know they won't.
If your mod is posted in the USC Discord and you do not want it included, reply to your mod post with the spiderweb emoji to opt out of being added to the Mod Browser.
Bugs? Suggestions? Questions? Want me to talk about why you should be coding in Kotlin instead of Java until you can't take it any more? Ping me on
Discord @Wisp#0302, or just leave a comment in this thread.
Changeloghttps://github.com/wispborne/SMOL_Dist/releasesCredits, listed chronologically by involvement-
Fractal Softworks for making Starsector and for permission to scrape the forum periodically.
-
MesoTroniK for consulting and brainstorming the whole way through.
-
Soren/Harmful Mechanic for feedback.
-
rubi/RustyCabbage for feedback, QA, and morale/moral support.
-
AtlanticAccent for open-sourcing his Mod Manager, allowing me to peek under the hood (I copied almost nothing, I swear!) and being a great competitor
-
ruddygreat for feedback and QA.
-
Tartiflette for the idea to disable mods by renaming the mod_info.json file, the SMOL icon, and other feedback.
-
The rest of the USC moderator team for feedback.
Someone asked if I had a tip jar so now I do:
https://ko-fi.com/wispborne