Luois45 / claim-free-steam-packages

Software for the automated activation of free Steam packages (games, movies, DLC, etc.)
GNU General Public License v3.0
93 stars 11 forks source link

Instructions if many packages are already claimed #166

Open woctezuma opened 1 year ago

woctezuma commented 1 year ago

I think there are a few issues with the instructions at docs/instructions-for-users-with-many-packages.md.

First, there is nothing displayed in the console.

Second, if I type games, then I see a list, but:

Third, the list which I obtain is a list of sub IDs, while your package_list.txt is a list of app IDs.

I believe it would make sense to use steamctl.

    apps                Get information about apps
    |- list               List owned or all apps
    \- licenses           Manage licenses
       \- list              List all licenses on account

or ASFEnhance.

| Command                          | Shorthand | Access     | Description                                     |
| -------------------------------- | --------- | ---------- | ----------------------------------------------- |
| `FREELICENSES [Bots]`            | `FL`      | `Operator` | Get bot's all free sub licenses list            |
| `LICENSES [Bots]`                | `L`       | `Operator` | Get bot's all licenses list                     |
woctezuma commented 1 year ago

First, there is nothing displayed in the console.

Not a big deal. ☑️ I can display the info by typing the following in the console:

games

Second, if I type games, then I see a list, but:

* it contains repetitions,

* it is truncated after 143 IDs:

The repetitions are not there after I toggle OFF the browser extensions (SteamDB, Augmented Steam, ViolentMonkey). I don't know which one was the culprit, but I suspect it is SteamDB. ☑️

The truncation is solved by double-clicking on the variable in the console. ☑️

Third, the list which I obtain is a list os sub IDs, while your package_list.txt is a list of app IDs.

This issue remains! Maybe steamctl or ASFEnhance would be relevant. ❗

Edit: Only steamctl does the job.

Output of steamctl apps list: app IDs, including demos. 🥳 🎉

[...]
1667640 Imagined Leviathans Demo
1667710 Gladihaters Demo
1667730 Forgotten Journey
1667770 Samurai Shampoo
1667810 Riding Seas Demo
[...]

Output of steamctl apps licenses list: both app IDs and sub IDs, e.g. appID=323580 and subID=51002, but slow. 🤔

[...]
License: 51002
  Type:             SinglePurchase (1)
  Created:          YYYY-MM-DD HH:MM:SS Paris, Madrid
  Purchase country: FR
  Payment method:   ActivationCode (1)
  Flags:            RegionRestrictionExpired
  Change number:    16728353
  SteamDB:          https://steamdb.info/sub/51002/
  Billing Type:     BillOnceOrCDKey (10)
  Status:           Available (0)
  Extended:
    allowcrossregiontradingandgifting: false
  Apps:
    323580: Jotun: Valhalla Edition
[...]

Output of FREELICENSES: sub IDs. 😞

[...]
46682 | Star Trek Online
47182 | NEOTOKYO
47144 | Warface
49027 | Rise of Incarnates
21004 | HOARD - Demo
[...]

Output of LICENSES: no ID at all. 😨

[...]
Retail | Trine 2 + Beta
Gift / GuestPass | Holiday Sale 2011 Gift: Counter-Strike: Source
Steam Store | Dungeons of Dredmor: Realm of the Diggle Gods
Complimentary | Sanctum Holiday DLC
[...]
woctezuma commented 1 year ago

In summary, only steamctl does the job:

woctezuma commented 1 year ago

Another possibility is to download this JSON data while authenticated:

Luois45 commented 1 year ago

Inactive for a month and archived due to this. Will be reopened on further activity.

woctezuma commented 1 year ago

The issue is that:

To summarize the results of my investigation, the suggested solution would be to parse the app IDs from steamctl's output.

    apps                Get information about apps
    |- list               List owned or all apps
    \- licenses           Manage licenses
       \- list              List all licenses on account

Output of steamctl apps list: app IDs, including demos. 🥳 🎉

[...]
1667640 Imagined Leviathans Demo
1667710 Gladihaters Demo
1667730 Forgotten Journey
1667770 Samurai Shampoo
1667810 Riding Seas Demo
[...]

Another workaround would be to use the /dynamicstore/userdata endpoint. This is extremely simple and gives app IDs instead of sub IDs. However, the list of app IDs is not exhaustive, in contrast to the aforementioned suggested solution using steamctl.

woctezuma commented 1 year ago

Just to clarify all of these posts, I believe the instructions in docs/ are wrong, and I suggest two workarounds.