z_mirror/fmm
git clone https://git.raiguard.me/z_mirror/fmm
344cd05
updating
fmm
A CLI mod manager for Factorio. Easily download and enable mods, sync with save files or log file checksums, and upload mod zip files to the portal.
Installation
Grab the latest release from the releases page.
Distribution packages will be available once the project is stable.
Building
Requirements:
- Go 1.21 or newer
make
Run tests:
make test
Usage
usage: fmm <command> [args...] commands: add [args...] Download and enable the given mods and their dependencies disable [args...] Disable the given mods, or all mods if none are given enable [args...] Enable the given mods and their dependencies help Show usage information list [files...] List all mods in the mods directory, or in the given save files sync [args...] Disable all mods, then download and enable the given mods and their dependencies upload [files...] Upload the given mod zip files to the mod portal
Mods are specified by name or name_version.
Configuration
fmm will check the current directory and the previous directory for a Factorio
installation. If neither is valid, it will fall back to the directory specified
by the FACTORIO_PATH environment variable.
If the mods directory is not contained within the game data directory (i.e. you
installed via Steam), specify the FACTORIO_MODS_PATH environment variable to
point fmm to the correct mods directory.
For uploading mods, specify your API key with the FACTORIO_API_KEY variable.
If you have logged in to your Factorio account, fmm will automatically pull
your username and token from the player-data.json file. Alternatively, you
can specify them with FACTORIO_USERNAME and FACTORIO_TOKEN respectively.
TODO
Not necessarily in order.
- Mod settings (blocked on PropertyTree)
- Mod updating
- Man pages
- Mod creation and packaging
- Automated testing CI
1# fmm 2 3A CLI mod manager for Factorio. Easily download and enable mods, sync with save 4files or log file checksums, and upload mod zip files to the portal. 5 6## Installation 7 8Grab the latest release from the [releases page](https://github.com/raiguard/fmm/releases). 9 10Distribution packages will be available once the project is stable. 11 12## Building 13 14**Requirements:** 15- [Go](https://go.dev) 1.21 or newer 16 17``` 18make 19``` 20 21Run tests: 22 23``` 24make test 25``` 26 27## Usage 28 29``` 30usage: fmm <command> [args...] 31commands: 32add [args...] Download and enable the given mods and their dependencies 33disable [args...] Disable the given mods, or all mods if none are given 34enable [args...] Enable the given mods and their dependencies 35help Show usage information 36list [files...] List all mods in the mods directory, or in the given save files 37sync [args...] Disable all mods, then download and enable the given mods and their dependencies 38upload [files...] Upload the given mod zip files to the mod portal 39``` 40 41Mods are specified by `name` or `name_version`. 42 43## Configuration 44 45fmm will check the current directory and the previous directory for a Factorio 46installation. If neither is valid, it will fall back to the directory specified 47by the `FACTORIO_PATH` environment variable. 48 49If the mods directory is not contained within the game data directory (i.e. you 50installed via Steam), specify the `FACTORIO_MODS_PATH` environment variable to 51point fmm to the correct mods directory. 52 53For uploading mods, specify your API key with the `FACTORIO_API_KEY` variable. 54 55If you have logged in to your Factorio account, fmm will automatically pull 56your username and token from the `player-data.json` file. Alternatively, you 57can specify them with `FACTORIO_USERNAME` and `FACTORIO_TOKEN` respectively. 58 59## TODO 60 61Not necessarily in order. 62 63- Mod settings (blocked on PropertyTree) 64- Mod updating 65- Man pages 66- Mod creation and packaging 67- Automated testing CI