Git Product home page Git Product logo

steammoddownloader's Introduction

SteamModDownloader

A Steam Workshop Downloader CLI-tool for linux,

Developed by NBZion.
Extended by Kuuchuu.

Installation

Make sure you have the following installed in your system

git
python3
python3-env or virtualenv

Navigate to the directory you would like to unpack smd in then run the following commands:

wget https://github.com/Kuuchuu/SteamModDownloader/releases/latest/download/smd.py -O smd.py # Or manually download the latest `smd.py` from releases tab.
chmod +x ./smd.py
./smd.py install # Execute script

If you want to replace your already existing installation completely:

./smd.py reinstall

Usage

To start SMD (assuming it has been installed properly), run this command:

./smd.py launch --optionalFlags

Here's a list of all the settings and what they are:

'downloadDir': the directory mods will be downloaded to.
'anonymousMode': whether or not to use a real account.
'steamAccountName': account username if not using anonymous mode.
'steamPassword': account password if not using anonymous mode.
'gameID': ID of the game you want the workshop mods for.

These are configured at startup once, and can be changed in settings. To download your mods, simply select the "Download Mods" option and paste your workshop URLs or IDs. They will be downloaded to downloadDir.

Optional launch Flags:

    -c/--config '{"downloadDir":"","anonymousMode":"","steamAccountName":"","steamPassword":"","encrypted":"","gameID":""":""}'

    -f/--configFile '/path/to/smd_config.json'

    -t/--tempConfig # Passed configuration data will not be stored. BOOLEAN, Defaults to True

    -g/--game GAME_ID

    -m/--mod 'ID_NUMBER,https://steam.../?id=...,ID_NUMBER,https://steam.../?id=...'

    -C/--collection 'ID_NUMBER,ID_NUMBER' OR 'https://steam.../?id=...,https://steam.../?id=...' # Mod/Collection URLs/IDs can be mix-matched

    -o/--outputDir '/path/to/modDL/output'

    -a/--anonymousMode # Skip Steam authentication. NOTE: Some downloads may fail without authentication. BOOLEAN, Defaults to True when passed

    -u/--steamUsername 'Username'

    -p/--steamPassword 'Plain text password' # NOTE: Can first be encrypted by calling `smd.py launch` with the -n/--encryptPassword flag followed by the password.

    -e/--encrypted # Is password encrypted? Set this to have SMD prompt for the key file during operation. BOOLEAN, Defaults to True when passed

    -k/--encryptionKey '/path/to/smd.key'

    -n/--encryptPassword 'Plain text password' # Prompts for key file save location and returns encrypted password.

    -l/--list # List installed mods

    -v/--verbose # Extra chatty output.

    -M/--minimal # Very basic output. Useful for non-interactive scripts.

    -s/--silent # What's it doing? When will it finish? Who knows... (Intended for non-interactive use)

    -d/--debug # Run smd's development branch.

    -h/--help

Example:

# DL Mods
./smd.py launch -c '{"downloadDir":"/tmp/dlDir","anonymousMode":"false,"steamAccountName":"kuuchuu","steamPassword":"⠏⠁⠎⠎⠺⠕⠗⠙","gameID":"001492"}' -g 294100 -p 'https://steamcommunity.com/sharedfiles/filedetails/?id=2457667915,2899200937' -m 'https://steamcommunity.com/sharedfiles/filedetails/?id=2009463077,836308268,https://steamcommunity.com/sharedfiles/filedetails/?id=1874644848'
# Notes:
# - Flags are applied in the same order as "Optional launch Flags" guide; In the example above the game ID "294100" would take precedence over the config's gameID value of "001492"

# List Downloaded Mods
./smd.py launch --list

Features

  • Collection Support
  • Mix and match mod URLs & IDs with Collection URLs & IDs, download them all at once.
  • Steam Password Encryption
  • Full Non-Interactive compatible CLI

Currently Known Issues

  • Downloading a mod may not work until you delete the steamcmd folder and try to re-download it.

Some Things To Note...

  • This project is currently only built for the linux python version.
    • Windows support soon, Mac support eventually.
  • Some mods may not download in anonymous mode, if so please use steam account option in config.
  • My code is messy, so feel free to pull-request any changes!
  • This project is still being updated, it's just that I'm either busy or don't have a feature to add, so please suggest potential features or report bugs in the issues page.

TODO

  • Windows Support
  • Wrapper Scripts
  • Compile into whl

steammoddownloader's People

Contributors

kuuchuu avatar nbzion avatar

steammoddownloader's Issues

[FEAT] - Steam Password Encryption

Is your feature request related to a problem? Please describe.
I refuse >:(

Describe the solution you'd like
Support for Steam account password encryption using a passphase or passfile (ex. ssh pub key)
Support for passing passphase or passfile path as argument in terminal for CLI usage.

OS Specific?
Nu-uh

Additional context
ce839f0
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.