FCP Mod Updater
A command-line tool for managing Fallout Collaboration Project RimWorld mods. Features both interactive and automated workflows for discovering, updating, installing, and managing FCP mods.
Features
- Auto-discover RimWorld installation across Steam, GOG, and Lutris on Windows, Linux, and macOS
- Interactive mode with rich terminal UI for browsing, updating, and managing mods
- Batch update mode for automation scripts
- Install new mods directly from the FCP GitHub organization
- Convert local mods (ZIP downloads) to Git repositories for easy updates
- Branch/commit switching for testing specific mod versions
- Status overview showing update availability, local changes, and sync state
Requirements
- Git installed and available in PATH
Installation
Standard Installation
Note
Your anti-virus may flag the download as suspicious/malicious, this is due to the code being unsigned. To remedy this would cost us real money and not a small amount either, you may check on VirusTotal or build from source.
Tip
Not sure which file to download? Grab the self-contained version for your platform — it includes everything you need and just works, no extra software required outside of Git.
| Archive | What it means | Who it's for |
|---|---|---|
*-selfcontained.zip (Windows) |
Everything bundled in one package | Most users — download this one |
*-selfcontained.tar.gz (Linux) |
Everything bundled in one package | Most users — download this one |
*-win-x64.zip / *-linux-x64.tar.gz |
Smaller download, but requires .NET 10 Runtime installed separately | Developers or users who already have .NET installed |
Downloads are available on the Releases page.
Build from Source
git clone https://github.com/FalloutCollaborationProject/FCPModUpdater.git
cd FCPModUpdater
dotnet build
Usage
Tip
You may choose between either
dotnet run -- ARGSor running the built application directly with the args (ex:FCPModUpdater scan)
Quick Start
- Download the self-contained zip/tar for your platform from Releases
- Extract the archive anywhere on your computer
- Windows: Double-click
FCPModUpdater.exe— the tool will automatically find your RimWorld installation - Linux/macOS: Run
./FCPModUpdaterfrom a terminal
The tool opens an interactive menu — use the arrow keys to navigate, Enter to select, and Escape to go back.
Interactive Mode (scan arg, Default)
Launches the interactive menu where you can:
- View status of all installed FCP mods
- Update mods with available changes
- Install new mods from FCP
- Uninstall mods
- Convert local (non-git) mods to git repositories
- Switch mod versions (branches/commits)
Double Click
-
Windows: Double-click the
.exeto launch the interactive menu directly — no command line needed. -
Linux: The archive includes
fcp-mod-manager.desktopfor desktop integration. Copy it to~/.local/share/applications/and update theExecpath to point to the extracted binary.
Batch Update Mode
dotnet run -- update
Non-interactive mode that updates all FCP mods with available changes. Ideal for automation and scheduled tasks. Returns exit code 0 on success, 1 if any updates fail.
Options
Both commands accept:
-d, --directory <path>— Path to RimWorld Mods folder (auto-discovers if omitted)
dotnet run -- scan --directory "/path/to/RimWorld/Mods"
dotnet run -- update -d "C:\Games\RimWorld\Mods"
Environment Variables
| Variable | Description |
|---|---|
GITHUB_TOKEN |
Optional. GitHub personal access token to increase API rate limit from 60 to 5000 requests/hour |
How Mods Are Identified
FCP mods are identified by:
- Git remote URL containing
github.com/FalloutCollaborationProject/ - Folder name matching an FCP repository (supports ZIP downloads with branch suffixes like
-main)
Only repositories tagged with the rimworld-mod topic are included.
Status Icons
| Icon | Status | Description |
|---|---|---|
| ✓ | Up to Date | No updates available |
| ↓ | Behind | Updates available |
| ↑ | Ahead | Local commits not on remote |
| ⇅ | Diverged | Both behind and ahead |
| ~ | Modified | Has uncommitted local changes |
| — | Not Git | Local folder (not a git repo) |
| ✗ | Error | Git operation failed |
