SWkshp
SWkshp installs mods from the Steam Workshop to mod folders of games owned via platforms other than steam. I don't endorse piracy, for use only if you own the game.
Installation
Through GitHub Releases
Head to the latest release and download swkshp.exe
if you're on Windows.
From source
It can be installed directly from github using go's built-in tools.
go install github.com/breadinator/swkshp
Usage
Assumes you're using Windows and the place it is installed to is in the PATH. If this is not the case, adjust accordingly.
Setting download path
Each game has to have a path to download to manually set. This is done using the command swkshp.exe config game <gamename> <path/to/dir>
.
An example of this would be
swkshp.exe config game rimworld "D:/Program Files/RimWorld/Mods"
Installing a mod
After setting the download path for a game, it is easy to install a mod. The command is as follows:
swkshp.exe <url to workshop page> [-g <gamename>]
The -g flag is used to define the game. By default it reads the web page to find out what game it's for, so this flag is often unneccesary.
Let's say we want to install HugsLib. The command to install it would be:
swkshp.exe https://steamcommunity.com/workshop/filedetails/?id=818773962
Installing a collection
Installing entire collections can be done in the same way as installing a mod. The following example would let you install the Vanilla Expanded collection for RimWorld.
swkshp.exe https://steamcommunity.com/workshop/filedetails/?id=1884025115
This command looks through the web page, makes a list of every listed item on it then downloads them.
I'm not sure how reliable the check to see if it's a collection is, so I might have to improve it or at least add a manual flag if necessary.
Removing a mod
To remove a mod, use the command:
shwkshp.exe remove <url> [-g <gamename>]
This command will delete all associated files and remove its entry from the internal
To-do
- Improve the version tracking, and test more extensively
- Improve how files are updated
- Compile to Linux & Mac
- Add extra config options
- Streamline