This is a command-line tool that can be used to upload mod files to an existing mod on Thunderstore, ModVault and Nexus Mods.
Note: Thunderstore support will be in a future release.
You can either download the binary for your platform from the Releases section on the right, or install it using the dotnet
CLI:
dotnet tool install -g Digitalroot.ModUploader
# then run with
drmu
While you can pass all values at the command line. Please use environment variables for the sensitive information.
You have been warned!
- NEXUSMOD_API_KEY
- NEXUSMOD_COOKIE_SID_DEVELOP
All Commands support the -?, -h, --help
options to show help and usage information
Description:
Uploads mods to Thunderstore, ModVault, or NexusMods
Usage:
Digitalroot.ModUploader.exe [command] [options]
Options:
--version Show version information
-?, -h, --help Show help and usage information
Commands:
modvault, mv modvault.xyz commands.
nexusmods, nx nexusmods.com commands.
thunderstore, ts thunderstore.io commands.
Description:
nexusmods.com commands.
Usage:
Digitalroot.ModUploader.exe nexusmods [command] [options]
Options:
-?, -h, --help Show help and usage information
Commands:
check Check that an API Key and Cookie are valid.
upload <mod-id> <archive-file> Upload a file of 20.0GB or less to nexusmods.com
Description:
Check that an API Key and Cookie are valid.
Usage:
Digitalroot.ModUploader.exe nexusmods check [options]
Options:
-k, --key <key> Api Key, ENV: NEXUSMOD_API_KEY
-csid, --cookie_sid_develop <cookie value> Session Cookie, ENV: NEXUSMOD_COOKIE_SID_DEVELOP
-?, -h, --help Show help and usage information
Description:
Upload a file of 20.0GB or less to nexusmods.com
Usage:
Digitalroot.ModUploader.exe nexusmods upload [<mod-id> <archive-file>] [options]
Arguments:
<mod-id> Nexus mod id.
<archive-file> File to upload.
Options:
-f, --file-name <file-name> (REQUIRED) Name for the file on Nexus Mods
-v, --version <version> (REQUIRED) Version for your uploaded file.
-t, --category <Archived|Main|Misc|Old|Optional|Updates> (REQUIRED) Mod file category [default: Main]
-d, --description <description> description
-g, --game <game> Game mod is for. [default: valheim]
-dmfu, --disable-main-file-update Skips replacing an existing file in the 'Main' category with the new one. [default: False]
-ddwm, --disable-download-with-manager Removes the 'Download With Manager' button. [default: False]
-dvu, --disable-version-update Skips updating mod's main version to match this file's version. [default: False]
-dmv, --disable-main-vortex Skips setting file as the main Vortex file. [default: False]
-drpu, --disable-requirements-pop-up Skips informing downloaders of this mod's requirements before they attempt to download this file [default: False]
-k, --key <key> Api Key, ENV: NEXUSMOD_API_KEY
-csid, --cookie_sid_develop <cookie value> Session Cookie, ENV: NEXUSMOD_COOKIE_SID_DEVELOP
-?, -h, --help Show help and usage information
nexusmods check -k "MyVeryLongNexusApiKey" -csid "%7B%22mechanism--MyVeryLongNexusSessionCookieSessIdValue--%22%7D"
nexusmods upload 1303 Digitalroot.Valheim.JVL.BT.Fix.v1.0.6.zip -v 1.0.6 -f TestFile -t Main -ddwm -dmv -d "My Test File"
Note: Strings can also be wrapped in quotes. The following command is the same as the example above it.
nexusmods upload 1303 "Digitalroot.Valheim.JVL.BT.Fix.v1.0.6.zip" -v "1.0.6" -f "TestFile" -t Main -ddwm -dmv -d "My Test File"
Yes, see. Nexus Mods Public API
From your browser. This site covers how to do it in most browers. The cookie you are looking for is called
sid_develop
. It starts with%7B%22mechanism
. This is the html encoded value for{"mechanism
. If your browser displays a cookie value starting with{"mechanism
then you will need to html encode the value before using this tool.