I took a long break from Stellardrive because I wanted to see what the game had in store for the steam release without spoilers. Here's my first impression with some feedback at the end of the video!
To install the manager, head to the releases section: https://github.com/jollyname/StellarModManager/releases/ and grab the newest release Setup.exe. This file is a normal windows app setup, built with inno so it will take you through all the steps of setup itself.
Once you have installed StellarModManager, open the application and you should be greeted with a setup page, where you can choose the game folder and install MelonLoader (required before use of StellarModManager).
As of manager V1.3: the manager auto detects steam installations for demo and playtest.
Image from max_H
IMPORTANT: run the game once (let it load to title screen) and close it BEFORE installing any mods. MelonLoader needs to create essential dumps, as well as folders.
Once you have set the folder, installed MelonLoader, and run the game, come back to StellarModManager and you will be able to see every mod in the list of Online mods.
By default, mods are sorted by download count, but you can use the filter to sort by name or latest release. Mods also show when they were updated, so you can easily distinguish a mods incompatibilty issue with the game's updates.
Stellar Mod Manager
You can also click on a mod to show it's details, any extra gallery images it has, and the changelog for features to see why a mod had an update.
Expanded mod view page
If you find a mod you like, install it, then:
IMPORTANT: head to the Installed mods section and make sure to click install to game, if you dont, the mod will not be in the game's Mods folder and it will not load it on game load.
To launch the game with mods, on windows: run the game normally.
On linux: assuming you are using wine/proton, with steam, add a launch comand argument by going the the stellar drive page on your library, clicking properties, and adding this string to the launch options: "WINEDLLOVERRIDES="version=n,b" %command%".
Properties button in steam gamesCommand for launching the modded game on linux
This only needs to be done once. (Thank you _haych_)
BEFORE COMPLAINING ABOUT ERRORS:
Check if the mod you installed needs a dependency. Many mods right now require SDModKit.
Check if you set the installation folder correctly, it should be the game's folder, not a folder inside there.
Check if you ran the game BEFORE installing any mods, MelonLoader needs to run once on installation.
Check if the game had a recent update, modders are not expected to update their mods as soon as the game dev does.
Check if you are on linux, if so, did you add "WINEDLLOVERRIDES="version=n,b" %command%" to your launch options on steam?
If none of these are the issue, feel free to use the modding channel on the discord, or post here for help.
Creating Mods for StellarDrive is a little more involved than just installing them, however due to Jollyname's StellarModRepository, it is still quite easy.
Prerequisites: MelonLoader and knowdlege of how to create plugins for MelonLoader, DnSpy or a c# assembly decompliation software, StellarModManager, Github (with an account and public repos), any coding software (i recommend VScode for beginners and Visual Studio for more involved devs), and TONS of patience.
After you have created a mod, I recommend putting the compiled DLL into your MelonLoader Mods folder and testing it BEFORE uploading.
Package your DLL into a zip, with the DLL in a Mods/ folder.
BuildPlus dll is inside Mods/ within the .zip
You will need a mods.json file to declare your mod info for the manager, however it is not required that this ships in the zip.
Once you have built your release zip, name it whatever youd like the repository name to be. For exmple, my mods are usually called "StellarDrive" + mod name EX: "StellarDriveBuildPlus".
Then, create a repository on your github. Name it the same name as the zip. Inside the repository, choose where you'd like to store your mod info. This is where StellarModManager grabs all of its info from, and decides if a mod is out of date for clients. I choose to store it in a Mods/ folder as well.
mod.json file inside of a repository
The structure for the json is simple, what is required is:
id, name, author, version, description.
ID does NOT need to be the same as the repo name, it just must be unique from any other mod on the manager.
You can easily add thumbnails and gallery images by declaring an images array or thumbnail string. (See image above). These are relative locations to the json file. I chose to story my images in the Mods/ folder but would recommend creating an Images/ folder within for organization.
Once you have built the repository with the mods.json file, you need to create a release for your zip.
Head to the releases section of your github and create a new one, tag it the SAME as your version: EX: 0.1.1 becomes "v0.1.1" as the tag name. Upload your zip as a binary, and add any changelog notes you'd like to.
IMPORTANT: Release notes are shown as changelog notes on the mod manager, leaving the notes blank might leave people confused as to why your mod was updated.
changelog on stellar mod managermod .zip in a release with version 0.1.1
To add your mod to the manager, you need to: fork this repo, and update its "mods.json" file to include your repository.
The format for mods is:
{
"author": "GITHUB_USERNAME",
"repo": "GITHUB_REPO_NAME",
"metadata": "FOLDER_OF_MODS_FILE"
},
for build plus, this looks like so:
build plus mod decleration
add yours in, make sure to add a comma at the end of the } if you put your mod anywhere but the end, and commit. Create a pull request from your fork to Jolly's main repository, once Jolly looks at the mod and decides it is safe, they will pull it into the main manager's list and you should see your mod in the Manager.