modiom is a command line tool for mod.io to search, download and update mods for games without builtin support.
modiom is written in Rust, so you'll need to grab a Rust installation in order to compile it. Building is easy:
$ git clone https://github.com/nickelc/modiom.git
$ cd modiom
$ cargo build --release
$ ./target/release/modiom --version
modiom 0.3.0
$ git clone https://github.com/nickelc/modiom.git
$ cargo install --path modiom
$ modiom login --help
Usage: modiom login [OPTIONS] [api-key] [token]
Arguments:
[api-key]
[token]
Options:
--test-env Use the mod.io test environment
-h, --help Print help information
$ modiom search --help
Search game or mods.
Usage: modiom search [OPTIONS] [FULLTEXT]
Arguments:
[FULLTEXT]
Options:
--game-id <ID> When specified, modiom will search for mods of the game.
--id <ID> Specify the id of the game or mod.
--name <VALUE>
--name-id <VALUE>
--expr <EXPR>
--test-env Use the mod.io test environment
-h, --help Print help information
$ modiom info --help
Show information of mods
Usage: modiom info [OPTIONS] <GAME> <MOD>
Arguments:
<GAME> Unique id of a game.
<MOD> Unique id of a mod.
Options:
--files List all files.
--stats Show the statistics.
--test-env Use the mod.io test environment
-h, --help Print help information
$ modiom subs --help
Show information of subscriptions
Usage: modiom subscriptions [OPTIONS] <COMMAND>
Commands:
list
add
remove
help Print this message or the help of the given subcommand(s)
Options:
--test-env Use the mod.io test environment
-h, --help Print help information
$ modiom subs list --help
Usage: modiom subscriptions list [OPTIONS]
Options:
--game-id <ID> Unique id of a game.
--test-env Use the mod.io test environment
-h, --help Print help information
$ modiom subs add --help
Usage: modiom subscriptions add [OPTIONS] <GAME> <MOD>
Arguments:
<GAME> Unique id of a game.
<MOD> Unique id of a mod.
Options:
--test-env Use the mod.io test environment
-h, --help Print help information
$ modiom subs rm --help
Usage: modiom subscriptions remove [OPTIONS] <GAME> <MOD>
Arguments:
<GAME> Unique id of a game.
<MOD> Unique id of a mod.
Options:
--test-env Use the mod.io test environment
-h, --help Print help information
$ modiom download --help
Download mod files
Usage: modiom download [OPTIONS] --game-id <ID> --mod-id <ID> [DEST]
Arguments:
[DEST] Save files to DEST
Options:
--game-id <ID> Specify a game id
--mod-id <ID> Specify a mod id
--test-env Use the mod.io test environment
-h, --help Print help information
$ modiom upload --help
Upload new files
Usage: modiom upload [OPTIONS] <GAME> <MOD> <FILE>
Arguments:
<GAME> Unique id of the game.
<MOD> Unique id of the mod.
<FILE> Zip file to upload.
Options:
--filename <NAME> Overwrite the filename.
--version <VERSION> Version of this file release.
--changelog <CHANGELOG> Changelog of this release.
--not-active The uploaded file will not be labeled as current release.
--metadata-blob <BLOB>
--checksum Calculate the checksum before uploading.
--test-env Use the mod.io test environment
-h, --help Print help information
The Modio.toml file
[game]
# id = (int|string)
id = "gametwo" # the name_id of the game or alternative its idThis field specifies globally whether dependencies of mods are downloaded.
If you don't specify the field, it will default to false.
[game]
# ...
with-dependencies = true[mods]
mod1 = 1
mod2 = "mod-two"
mod3 = { id = "mod-three" }
[mods.mod4]
id = 4
with-dependencies = trueThis field specifies whether dependencies of the mod are downloaded and overrides the global setting.
If you don't specify the field, it will default to false.
This field specifies the downloaded file id.
[mods.mod1]
id = "mod-one"
file = 34This field specifies the downloaded version.
[mods.mod1]
id = "mod-one"
version = "1.2"