Do you dislike DRM based platforms but love RimWorld and it's mods? RMM is cross platform mod manager that allows you to download, update, auto-sort, and configure mods for the game without relying on the Steam consumer client. RMM has a keyboard based interface that is easy to use and will be familiar to Linux users and developers.
RMM v1.0 supports Windows, Linux, and MacOS.
To use RMM you need:
- SteamCMD installed and in your path. (Linux/Mac Only)
- Set RMM_PATH to game path if game is installed to a not default location.
- Python 3.9+
-
Install latest Python 3 release from
https://www.python.org/downloads/windows/
- Ensure 'add to PATH' is checked / enabled during installation.
-
Open 'cmd' with Administrator privileges and type
python -m pip install --user rmm-spoons
- Use with
python -m rmm
- Use with
-
(Optional) Add
C:\Users\[username]\AppData\Roaming\Python\[version]\Scripts\
to PATH.- Use with
rmm
- Use with
- Install Python3 with brew.
pip3 install --user rmm-spoons
- Use with
python3 -m rmm
- Add python bin directory to your path:
echo "export PATH=\"$PATH:$HOME/Library/Python/$(python3 --version | awk '{split($2,a,".") ; print a[1] "." a[2] }')/bin\"" >> ~/.zshrc
- Use with
rmm
Please perodically update RMM with the following command:
pip3 install --upgrade rmm-spoons
RMM has an AUR package 'rmm'. The package brings in all dependencies, including steamcmd, and can be installed with makepkg and git or an AUR helper as shown below. No other steps are required:
mkdir -p ~/build ; cd ~/build
git clone https://aur.archlinux.org/rmm.git
cd rmm
makepkg -si
yay -S rmm
sudo su -c 'apt update && apt upgrade && apt install software-properties-common && add-apt-repository multiverse && dpkg --add-architecture i386 && apt update && apt install lib32gcc1 steamcmd' ;
echo 'export PATH="$PATH:/usr/games' >> ~/.bashrc ;
exec $SHELL
sudo su -c 'apt update && apt upgrade && apt install software-properties-common && add-apt-repository non-free && dpkg --add-architecture i386 && apt update && apt install steamcmd' ;
echo 'export PATH="$PATH:/usr/games' >> ~/.bashrc ;
exec $SHELL
RMM can be directly accessed with command rmm
. In order for this to work, you need to add ~/.local/bin
to your PATH variable, otherwise, your terminal will not find the rmm
script. If you notice that you cannot run rmm
after installation, try the following:
echo 'export PATH="$PATH:$HOME/.local/bin" >> ~/.bashrc ; exec $SHELL
Alternatively, RMM can always called with:
python -m rmm
python -m pip install --user rmm-spoons
Please perodically update RMM with the following command:
python -m pip install --user --upgrade rmm-spoons
If RimWorld is installed a directory other than the default ones, you should set the RMM_PATH variable to your game directory for convenience.
Set it permanently in your bashrc
or zshrc
files:
# Note please update this path to your actual game or mod directory
echo 'export RMM_PATH="$HOME/your/game/path" >> ~/.bashrc ;
exec $SHELL
Temporarily set it during your shell session:
export RMM_PATH="~/PATHTOGAME/game/Mods"
Clone repository and install with pip.
mkdir -p ~/build
git clone https://github.com/Spoons/rmm.git ~/build/rmm
pip install --user ~/build/rmm
RimWorld Mod Manager
Usage:
rmm [options] config
rmm [options] export [-e]|[-d] <file>
rmm [options] import <file>
rmm [options] enable [-a]|[-f file]|<packageid>|<term>
rmm [options] disable [-a]|[-f file]|<packageid>|<term>
rmm [options] remove [-a]|[-f file]|<packageid>|<term>
rmm [options] list
rmm [options] query [<term>]
rmm [options] search <term>
rmm [options] sort
rmm [options] sync <name>
rmm [options] update
rmm [options] verify
rmm -h | --help
rmm -v | --version
Operations:
config Sort and enable/disable mods with ncurses
export Save mod list to file.
import Install a mod list from a file.
list List installed mods.
query Search installed mods.
remove Remove installed mod.
search Search Workshop.
sort Auto-sort your modlist
sync Install or update a mod.
update Update all mods from Steam.
verify Checks that enabled mods are compatible
enable Enable mods
disable Disable mods
order Lists mod order
Parameters
term Name, author, steamid
file File path for a mod list
name Name of mod.
Flags
-a Performs operation on all mods
-d Export disabled mods to modlist.
-e Export enabled mods to modlist.
-f Specify mods in a mod list
Options:
-p --path DIR RimWorld path.
-w --workshop DIR Workshop Path.
-u --user DIR User config path.
Environment Variables:
RMM_PATH Folder containings Mods
RMM_WORKSHOP_PATH Folder containing Workshop mods (optional)
RMM_USER_PATH Folder containing saves and config
Pathing Preference:
CLI Argument > Environment Variable > Defaults
Tip:
You can use enable, disable, and remove with no
argument to select from all mods.
List installed packages:
rmm list
Search workshop packages:
rmm search term
Search locally installed mods
rmm query term
Install package:
rmm sync rimhud
Removing a package:
rmm remove fuzzy
Removing all / a range packages:
rmm remove
# all packages will be listed. specify your desired range at the interactive prompt.
Saving a mod list
rmm export ~/modlist.txt
Install mod list:
rmm import ~/modlist.txt
Update all packages:
rmm update
Auto sort mods:
rmm sort
Manually sort mods:
rmm config
Show mod load order:
rmm order
- Duplicating a mod setup to a new installation:
rmm -p ~/path-to-game export ~/modlist.txt
rmm -p ~/path-to-game import ~/modlist.txt
- It is recommended to auto sort your mods after installation of a mod or modlist.
- rwm: Rust rewrite of RMM.
If you would like to contribute your time or efforts towards the project, you are welcome to and your efforts will be appreciated. Please format any code changes through python-black.
This project is licensed under the GPLv3 License - see the LICENSE file for details