Skip to main content

RMM: RimWorld Mod Manager

image image image

A mod manager for RimWorld.

  • 🌍 Cross-platform: Supports Linux, MacOS, Windows
  • 🎮 Broad Game Source Support: Steam, GOG, and DRM-free installations
  • 🔗 RimWorld Versions: Seamlessly supports 1.0 and above
  • 🚀 Fetch Directly: Installs and updates mods from the Steam Workshop
  • 🛡️ No Strings Attached: Operate without a Steam account
  • 📑 Modlists: Organize, activate, deactivate with ease
  • 🔄 Stay Updated: Automatic mod updates at your fingertips
  • 🧩 Smart Sorting: Auto-arrange mods for optimal load order
  • ❌ Simplified Cleanup: Easy mod deactivation and removal
  • 📦 Always Safe: Mod backup and restore features
  • ↕️ Import/Export: Convenient modlist transitions and sharing
  • 🧰 Flexible and User-Friendly: Customizable paths, settings, and configurations

RMM aims to allow subscribing to and managing mods for RimWorld without a Steam account or have installed the game with a DRM-free installer.

Table of Contents

  1. Getting Sarted
  2. Detailed Installation Guide
    1. Windows
    2. MacOS
    3. Arch Linux
    4. Other Linux Distributions
  3. Configuration
  4. Usage
  5. Example
  6. Tips
  7. Contributing
  8. License

Getting Started

RMM is available at rmm on PyPi. To install, run:

pip install rmm-spoons

Ensure that SteamCMD is set up and appended to your path. (Required for Linux/Mac only)

Detailed Installation Guide

Windows

  1. Fetch and install the most recent Python 3 release from Python's official website. During the installation, make sure to select 'add to PATH'. With administrative rights, launch the Command Prompt and input:

  2. python -m pip install --user rmm-spoons
    
  3. (Optional) Append C:\Users[username]\AppData\Roaming\Python[version]\Scripts\ to your PATH to use with just rmm.

MacOS

  1. Utilize brew to install Python3:

    brew install python3
    
  2. To install RMM:

    pip3 install --user rmm-spoons
    
  3. Add Python's 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
    

Arch Linux

RMM is accessible via the AUR package 'rmm'.

  • Using Paru (AUR helper)
    yay -S rmm
    

Installation for Other Linux Distributions (via PyPi)

Detailed instructions are provided for Ubuntu and Debian. Kindly consult your distribution's documentation if you use a different Linux variant:

Installing SteamCMD on Ubuntu

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

Installing SteamCMD on Debian

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

Installing RMM via PyPi

Install RMM via PyPi:

python -m pip install --user rmm-spoons

If you encounter a unknown command error, add the following to your .bashrc:

echo 'export PATH="$PATH:$HOME/.local/bin" >> ~/.bashrc
exec $SHELL

Configuration

Setting RMM_PATH (Optional)

If RimWorld isn't in its default directory, it's advisable to set the RMM_PATH environment variable pointing to your game directory. This can be achieved in two ways:

Permanently: Edit your shell profile (bashrc, zshrc):

echo 'export RMM_PATH="$HOME/your/game/path"' >> ~/.bashrc
exec $SHELL

Temporarily: Only for the current shell session:

export RMM_PATH="~/PATHTOGAME/game/Mods"

Usage

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.

Example

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

Tips

  1. Duplicating Mod Setups: If you're aiming to replicate a mod setup on a fresh installation:
rmm -p ~/path-to-current-game export ~/modlist.txt
rmm -p ~/path-to-new-game import ~/modlist.txt

Contributing

Passionate about RMM and have ideas to contribute? We're all ears! To maintain code quality, we kindly request that any code alterations be formatted using python-black. For more details, check our Contribution Guidelines.

License

RMM is open-sourced under the GPLv3 License. Dive into the LICENSE file for thorough details.

Metadata

Release files for rmm-spoons 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rmm-spoons 1.1.2
File Size Uploaded
rmm_spoons-1.1.2.tar.gz 34.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rmm-spoons 1.1.2
File Interpreter ABI Platform
rmm_spoons-1.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 69.9 kB

Release files / rmm_spoons-1.1.2.tar.gz

Download URL rmm_spoons-1.1.2.tar.gz
Size 34.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6627107578fbf118f620c91884b86ac5e5d083612763a45593b8fbdb97c1a448
BLAKE2b-256 checksum
How to use checksums
83f1afa1a8c1554a1588574f35ed9109e2ebb9a20cfcdaaa31060e6eae74402f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.10.12 Linux/6.2.0-1011-azure

Release files / rmm_spoons-1.1.2-py3-none-any.whl

Download URL rmm_spoons-1.1.2-py3-none-any.whl
Size 35.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
80c0eeecbc586d89ff2ceb9914d2186b624bccae9a12265aac7103f990afdda5
BLAKE2b-256 checksum
How to use checksums
fb3b17d86babcd39cb6f53af350ca740458938c4680c32981ec18dd1747628ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.10.12 Linux/6.2.0-1011-azure

Release history Release notifications | RSS feed

This release

1.1.2 This release

2 release files

1.1.1

2 release files

1.0.17

2 release files

1.0.16

2 release files

1.0.14

2 release files

1.0.13

2 release files

1.0.12

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page