Skip to content

Latest commit

 

History

History
150 lines (117 loc) · 5.87 KB

README.md

File metadata and controls

150 lines (117 loc) · 5.87 KB

Digitalroot Mod Uploader

Introduction

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.

Installation

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 DigitalrootModUploader
# then run with
opmu

Configuration and Usage

While you can pass all values at the command line. Please use environment variables for the sensitive information.

You have been warned!

Environment Variables

  • NEXUSMOD_API_KEY
  • NEXUSMOD_COOKIE_NEXUSID
  • NEXUSMOD_COOKIE_SID_DEVELOP

All Commands support the -?, -h, --help options to show help and usage information

Commands:

DigitalrootModUploader -h
Description:
  Uploads mods to Thunderstore, ModVault, or NexusMods

Usage:
  DigitalrootModUploader [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.

DigitalrootModUploader nx -h
Description:
  nexusmods.com commands.

Usage:
  DigitalrootModUploader 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

DigitalrootModUploader check -h
Description:
  Check that an API Key and Cookie are valid.

Usage:
  DigitalrootModUploader 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

DigitalrootModUploader upload -h
Description:
  Upload a file of 20.0GB or less to nexusmods.com

Usage:
  DigitalrootModUploader 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

Examples

nexusmods check -k "MyVeryLongNexusApiKey" -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"

FAQ

Nexus Mods

Q1: Where do I find out more info about the Nexus Mods' Public API?

Nexus Mods Public API

Q2: Does Nexus Mods' API Rate Limit?

Yes, see. Nexus Mods Public API

Q3: Where do I get my Nexus Mods' API key?

My Nexus account page

Q4: Where do I get my Nexus Mods' Session Cookies?

From your browser. This site covers how to do it in most browers. The cookies you are looking for are called nexusid and sid_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.


Digitalroot can be found in the Valhalla Legends Discord