Downloads all maps from cncnet.org into a directory of your choice.
Grab the latest binary release on the release page 💽.
Double-click your favorite executable or run the executable through the command line. You will be guided through the options (see demo).
- By default, it only downloads Yuri (yr) maps, but can be configured to download other types. See config below.
- If the process is somehow killed, it will resume downloading maps that haven't been downloaded yet (skips previously downlaoded maps).
- It sorts maps in directories by name (alpha numeric).
- It checks for duplicate maps (size, id, sha).
Windows preview | Mac preview |
---|---|
Clone the repo, then run npm install
.
You can start a download with npm run download
. Downloads can be configured in package.json
under scripts.
You can configure the downloader through enviornment variables.
MAP_AGE
- the age of the map in months (default: not specified - will get all). Example:12
will get maps that are 1 year old and newer.GAME_TYPE
- the type of maps to download (default:yr
). Available:ts
,ra
,d2
,td
,dta
.DESTINATION_DIR
- the location to download files (default:cncnet-maps
).
- Get all Yuri's Revenge / Red Alert 2 maps in a custom directory
DESTINATION_DIR=my-yuri-maps ./cncnet-map-downloader-js-x-x-x-macos
- Get all Red alert maps
GAME_TYPE=ra ./cncnet-map-downloader-js-x-x-x-macos
- Get all Tiberian Sun maps, not older than 1 year
GAME_TYPE=ts MAP_AGE=12 ./cncnet-map-downloader-js-x-x-x-macos
RUN_UNPACKAGED
- run the script in unpacked mode[1] (default:false
; seenpm run download
inpackage.json
for an example).DEBUG
- print additional debug info.
[1] essentially, run the non-binary script. Requires node v12.9+ &
npm install
Uses the cncnet search endpoint to retrieve all existing maps, then requests each map zip individually with a delay to be nice on the server.
Previously, scarping was considered, but not necessary at this point in time.
Run
DEBUG=true MAX_NUMBER_OF_MAPS=5 REQUEST_DELAY=5000 MAP_AGE=1 RUN_UNPACKAGED=true GAME_TYPE=yr DESTINATION_DIR=./cncnet-yuri-maps node --inspect-brk ./scripts/main.js
And open chrome://inspect
to debug the node process.
Check out the cncnet search, where you can search and download maps.