claabs / cs-demo-downloader

Automatically download Counter-Strike demos of ranked, unranked, and wingman matches.
6 stars 0 forks source link
counter-strike counter-strike-2 counter-strike-global-offensive cs2 csgo demos docker game-coordinator gcpd steam

cs-demo-downloader

Automatically download Counter-Strike demos of Premier, competitive, and wingman matches. Downloads the demo and updates the modified date file metadata to the timestamp the match was played. Can use two strategies:

Config

The config is written in a config.json file in the /config volume.

Shared Properties

GCPD mode

This is the easiest approach for a single user downloading their own demos. Multiple users can be put in the gcpdLogins array.

{
    "gcpdLogins": [
        {
            "username": "steamusername",
            "password": "steampassword",
            "secret": "yeBrc0jD9Ff0kjKOx8+hnckVojg="
        }
    ],

    "logLevel": "info",
    "runOnStartup": false,
    "cronSchedule": "0 * * * *"
}

Auth Code Mode

This approach is best if you want to download demos for yourself and others that won't give you their login details. It requires an account to briefly "launch" CS2 and fetch match data from the Game Coordinator, so you should have a secondary bot account for this approach.

{
    "authCodes": [
        {
            "authCode": "ABCD-1234-WXYZ",
            "steamId64": "70000000000000000",
            "oldestShareCode": "CSGO-aBcdE-aBcdE-aBcdE-aBcdE-aBcdE"
        }
    ],
    "authCodeLogin": {
        "username": "steamusername",
        "password": "steampassword",
        "secret": "yeBrc0jD9Ff0kjKOx8+hnckVojg="
    },
    "steamApiKey": "AAAABBBBCCCCDDDD1111222233334444",

    "logLevel": "info",
    "runOnStartup": false,
    "cronSchedule": "0 * * * *"
}

Docker

Image

ghcr.io/claabs/cs-demo-downloader:latest

Volumes