A Python script to automate the downloading of mods and collections from Skymods for any supported game, designed for players with non-Steam versions.
This tool uses Selenium to control a headless Firefox browser, methodically navigating the multi-page download process and handling interruptions like pop-ups and cookie banners automatically.
- Reads a simple text file of Steam Workshop IDs for any game.
- Constructs the correct Skymods URL using your specified Base URL Template.
- Navigates the redirect chain, handles cookie banners, and closes ad tabs.
- Waits for timers and clicks the download links, saving all files to an organized folder.
- Python 3 (and
pipfor installing packages) - Mozilla Firefox
-
Clone the repository:
git clone https://github.com/Stavros-alt/steamModDownloader.git cd steamModDownloader -
Install Python dependencies:
pip install -r requirements.txt
-
(Highly Recommended) Create a Firefox Profile with an Ad-blocker: This is essential for the script to run smoothly.
- Run
firefox -Pin your terminal to open the Profile Manager. - Create a new profile (e.g., "SeleniumBot").
- Launch Firefox with that profile:
firefox -P SeleniumBot. - Install uBlock Origin from the Firefox Add-ons store.
- Close Firefox and find the full path to this profile (e.g.,
/home/user/.mozilla/firefox/xxxxxxxx.SeleniumBot).
- Run
-
Create your Mod ID list file:
- Create a file (e.g.,
hoi4_mods.txt). - Paste the Steam Workshop IDs of the mods you want to download, one ID per line.
- Create a file (e.g.,
This script is a universal tool. You must provide the App ID for the game and the Base URL Template for the specific Skymods site you are targeting.
-
Find the App ID: Use a site like SteamDB to find the numeric App ID for your game (e.g., CK3 is
1158310, HOI4 is394360). -
Find the Base URL: Go to Skymods and find the page for your game. Look at the URL structure. Your template must include
{mod_id}as a placeholder for the workshop ID.- CK3:
https://catalogue.smods.ru/?s={mod_id}&app={app_id} - HOI4:
https://hearts-of-iron-4.smods.ru/?s={mod_id} - Cities: Skylines:
https://smods.ru/?s={mod_id}
- CK3:
Provide the arguments in your terminal.
Example for Hearts of Iron IV:
python mod_harvester.py --base_url "https://hearts-of-iron-4.smods.ru/?s={mod_id}" --app_id "394360" --profile "/path/to/your/profile" --file "hoi4_mods.txt"This script was developed and tested on Linux (Nobara/Fedora). It is provided as-is and has not been tested on Windows or macOS. Community contributions and forks to improve cross-platform compatibility are welcome.
This project is licensed under the MIT License.