Skip to main content

A RimWorld Mod Manager

Project description

RMM: RimWorld Mod Manager

RMM is an open source RimWorld mod manager designed for Unix systems. RMM uses the SteamCMD binary to download mods.

MOD DEVELOPERS PLEASE READ:

When using rmm update, rmm will update all mods in your game path and will overwrite your development folder with the latest version from Steam. To prevent all destructive writes, create a .rmm_ignore file in your Mods directory.

Prerequisites

To use RMM you need:

  • SteamCMD installed and in your path.
  • [Optional] Set RMM_PATH to game path if game is installed in non default location. Alternative, you can use the -p flag to tell RMM where RimWorld is.

Install SteamCMD

  1. A. For Arch Linux, you can install steamcmd using makepkg as stated below:
mkdir -p ~/build ; cd ~/build
git clone https://aur.archlinux.org/steamcmd.git
cd steamcmd
makepkg -si
  1. B. Alternatively, you can install it using a 'AUR Helper' such as yay.
yay -S steamcmd
  1. Verify steamcmd is correctly installed:
whereis steamcmd

Should return a path such as below. Otherwise check to make sure steamcmd is in your path.

steamcmd: /usr/bin/steamcmd /usr/share/steamcmd

Adding .local/bin to your PATH

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

Alternatively, RMM can always be accessed by

python -m rmm

Set RMM_PATH (Optional)

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

Temporarily set it during your shell session:

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

Set RMM_WORKSHOP_PATH (Optional)

You probably do not need to set this variable.

RMM supports managing mods in your Steam Workshop mods directory. If RimWorld is installed into the same library as your Workshop mods, as would be the case for most people, RMM will find your workshop directory. Otherwise, you can set this value as per the example below:

echo 'export RMM_WORKSHOP_PATH="$HOME/.local/share/Steam/steamapps/workshop" >> ~/.bashrc

Installng RMM from PyPi (Recommended)

python3 -m pip install --user rmm-spoons

Installation for Development (Developers)

Clone repository and install with pip.

mkdir -p ~/build
git clone https://github.com/Spoons/rmm.git ~/build/rmm
pip install --user ~/build/rmm

Usage

RimWorld Mod Manager

Usage:
  rmm export [options] <file>
  rmm import [options] <file>
  rmm list [options]
  rmm migrate [options]
  rmm query [options] [<term>...]
  rmm remove [options] [<term>...]
  rmm search <term>...
  rmm sync [options] <name>...
  rmm update [options]
  rmm -h | --help
  rmm -v | --version

Operations:
  export            Save mod list to file.
  list              List installed mods.
  migrate           Remove mods from workshop and install locally.
  query             Search installed mods.
  remove            Remove installed mod.
  search            Search Workshop.
  sync              Install mod.

Parameters
  term              Name, author, steamid
  file              File path
  name              Name of mod.

Options:
  -p --path DIR     RimWorld path.
  -w --workshop DIR Workshop Path.

How To

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

Saving a mod list

rmm export ~/modlist.txt

Install mod list:

rmm import ~/modlist.txt

Update all packages:

rmm update

Backup mod directory:

rmm backup ~/rimworld.tar

Migrate from Steam Workshop to RimWorld 'Mods' folder:

rmm migrate

Tips

Duplicating a mod setup to a new installation:

rmm -p ~/path-to-game export ~/modlist.txt
rmm -p ~/path-to-game import ~/modlist.txt

Contributing

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.

License

This project is licensed under the GPLv3 License - see the LICENSE file for details

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rmm-spoons-0.0.6.post2.tar.gz (24.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rmm_spoons-0.0.6.post2-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

Details for the file rmm-spoons-0.0.6.post2.tar.gz.

File metadata

  • Download URL: rmm-spoons-0.0.6.post2.tar.gz
  • Upload date:
  • Size: 24.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for rmm-spoons-0.0.6.post2.tar.gz
Algorithm Hash digest
SHA256 430da1e8dc5ac6d5e0fb66f68212d360496cbd0bbcf2b758d2fdc4e5ba2d3836
MD5 ddaa4952d4a884172e0053a63b64c4d4
BLAKE2b-256 25c3df74b4730cffd2aaf509dc4b1d5adbbb5bad1dadf2a0c756c751b98180cb

See more details on using hashes here.

File details

Details for the file rmm_spoons-0.0.6.post2-py3-none-any.whl.

File metadata

  • Download URL: rmm_spoons-0.0.6.post2-py3-none-any.whl
  • Upload date:
  • Size: 23.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for rmm_spoons-0.0.6.post2-py3-none-any.whl
Algorithm Hash digest
SHA256 27768f5c0a9ead99098cb222e1f71d4070d688278a6b6c404651d043ed26f5a4
MD5 6b8c2753f1b0f97acf72fe92248bcae3
BLAKE2b-256 dd637792a28c95fca345efc5b47068eae8b566abd65b2b772ff0b33f2b1d7dd1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page