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 and ModVault 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 OdinPlusModUploader
# then run with
opmu
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_NEXUSID
- 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:
OdinPlusModUploader [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:
OdinPlusModUploader 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:
OdinPlusModUploader nexusmods check [options]
Options:
-k, --key <key> Api Key, ENV: NEXUSMOD_API_KEY
-cnxid, --cookie_nexusid <cookie value> Session Cookie, ENV: NEXUSMOD_COOKIE_NEXUSID
-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:
OdinPlusModUploader 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
-cnxid, --cookie_nexusid <cookie value> Session Cookie, ENV: NEXUSMOD_COOKIE_NEXUSID
-csid, --cookie_sid_develop <cookie value> Session Cookie, ENV: NEXUSMOD_COOKIE_SID_DEVELOP
-?, -h, --help Show help and usage information
nexusmods check -k "7a0e--MyVeryLongNexusApiKey--377" -cnxid "%7B%22mechanism--MyVeryLongNexusSessionCookieValue--%22%7D" -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 cookies you are looking for are called
nexusid
andsid_develop
. They 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.