GithubHelp home page GithubHelp logo

willkirkmanm / modworkshop-dl Goto Github PK

View Code? Open in Web Editor NEW
5.0 1.0 0.0 12.92 MB

โ„น A Command-Line Utility Tool for Installing Mods from https://modworkshop.net/ (Written in Go๐Ÿ”ต)

License: MIT License

Go 100.00%
command-line mod-downloader utility modworkshop payday-2 payday2 payday2mods

modworkshop-dl's Introduction

modworkshop-dl

โ„น A Command-Line Utility Tool for Installing Mods from Mod Workshop

โš  Migration to a new Version โš 

With the new addition of the Modworkshop.net API. I am in the process of cleaning up the code to implement these new additions (removes the tedious web scraping, YES!). This will be in the form of a version 2. View the Development Branch Here

Install (Conventional)

mkdir "C:\Program Files (x86)\Modworkshop-DL"
setx PATH "C:\Program Files (x86)\Modworkshop-DL;%PATH%"
curl https://github.com/WillKirkmanM/modworkshop-dl/releases/download/v1.5.0/modworkshop-dl.exe -o "C:\Program Files (x86)\Modworkshop-DL\modworkshop-dl.exe"
powershell

Install (One-Liner)

mkdir "C:\Program Files (x86)\Modworkshop-DL";setx PATH "C:\Program Files (x86)\Modworkshop-DL;%PATH%";curl https://github.com/WillKirkmanM/modworkshop-dl/releases/download/v1.5.0/modworkshop-dl.exe -o "C:\Program Files (x86)\Modworkshop-DL\modworkshop-dl.exe";echo "";echo "Installed! Run the Command 'modworkshop-dl --help'";echo "";echo "Restarting Terminal";echo "";powershell

Get Started

Install via Searching

  1. Run the tool with the search flag followed by your query
$ modworkshop-dl --search low violence mode

  1. From the list of mods returned, write the index of the mod you would like to download (The mod will now be downloaded into your mods folder)
  2. Launch PAYDAY 2!

Install from Link

  1. Run the tool with the install flag followed by the link to the mod (The mod will now be downloaded into your mods folder)
$ modworkshop-dl --install https://modworkshop.net/mod/25629
  1. Launch PAYDAY 2!

Install from File

  1. Create / Open the modlist.txt file (In the same directory as the executable).
  2. Paste the desired mods in the "Mods" header
  3. Paste the desired assets in the "Assets" header
  4. Start the tool
$ modworkshop-dl --file modlist.txt
  1. Launch PAYDAY 2!

Examples

Below is an example of the mod list text file that you will be supplied with the --file flag. Note that the mods links are under the Mods header and the assets links are below the Assets header.

# modlist.txt
Mods
https://modworkshop.net/mod/40265
https://modworkshop.net/mod/40992
https://modworkshop.net/mod/41000

Assets
https://modworkshop.net/mod/41001
https://modworkshop.net/mod/40586

Usage

See the usage by running:

$ modworkshop-dl --help
Modworkshop-dl allows for installing mods with ease.

usage: modworkshop-dl [<command>] [<argument>]

The following commands are available:
search, S                       The mod to search                               [-S <Name>]
file, f                         The text file containing the mods               [-f <File>]
install, I                      The Link / ModID To Be Installed                [-I <Link / ModID>]
help, h                         Display this Help Message                       [-h]
version, v                      Display the Current Version                     [-v]
update, u                       Update Modworkshop-DL                           [-u]
installSBLT, is                 Install SuperBLT                                [-is]

Supported Games

Game Windows Mac Linux Mod Install Path
Payday 2 ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
Noita ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
Enter the Gungeon ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
Payday: The Heist ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
Final Fantasy XV ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Stolen Realm ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
RAID: World War II ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Aurora ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Zuma ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Luxor ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
VRChat ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
Left 4 Dead 2 ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
Hitman 3 ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Monster Sanctuary ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
Fallout 4 ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
Teardown ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
Black Mesa ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Yakuza Kiwami 2 ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Hotline Miami 2: Wrong Number ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
Friday Night Funkin' ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Hotdogs, Horseshoes & Hand Grenades ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Yakuza Kiwami 1 ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
100% Orange Juice ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
Hyperdimension Neptunia Re;Birth2 ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Non-games / Plugins ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Yakuza 0 ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
One Step From Eden ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
OVERKILL's The Walking Dead ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
The Elder Scrolls V: Skyrim - Legendary Edition ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
SCP: Containment Breach ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Fallout: New Vegas ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
OneShot ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
SteamVR ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
Criminal Girls: Invite Only ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Gal*Gun: Double Peace ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
Warhammer: End Times - Vermintide ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฉ
Tales of Berseria ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Team Fortress 2 ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Hyperdimension Neptunia Re;Birth3 ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Hyperdimension Neptunia Re;Birth1 ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Metal Gear Solid V: The Phantom Pain ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Skyrim Special Edition ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ
Forspoken ๐ŸŸฉ ๐ŸŸฅ ๐ŸŸฅ ๐ŸŸฅ

A Red Square (๐ŸŸฅ) in the Mod Install Path section of the table indicates the mod will be downloaded and unzipped in the current directory of the terminal.

Building

To build the files, run the command:

$ go build

If the above does not work try the command:

$ go install

Testing

To Test the Tool, Run the command:

$ go test

If you would like code coverage, run:

$ go test -cover

How does it work?

What I've Learned

  • The "Fundahmentals" of Golang โฉ
  • Command Line Tooling (How they are made) ๐Ÿ’ฟ
  • Web Scraping โœจ
  • As a person with OCD. Never write all of your code in one file, You'll go Crazy.

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.