Skip to content

Instantly share code, notes, and snippets.

@jericjan
Created July 5, 2026 05:28
Show Gist options
  • Select an option

  • Save jericjan/44e8355f5e4ae8c7bc126c0a3e34be61 to your computer and use it in GitHub Desktop.

Select an option

Save jericjan/44e8355f5e4ae8c7bc126c0a3e34be61 to your computer and use it in GitHub Desktop.
list unowned games with steamcmd
from pathlib import Path
import re
import subprocess
cmd = Path(input("Paste the full path to your steamcmd.exe here: ").strip(f"'\""))
steamapps = Path(input("Paste the full path of a steamapps library (has .acf files in it): ").strip(f"'\""))
ids: list[str] = []
for file in steamapps.glob("*.acf"):
match = re.search(r'\d+', file.name)
if match:
ids.append(f"+licenses_for_app {match.group()}")
user = input("Username: ")
passwd = input("Password: ")
comms = f"{str(cmd.absolute())} +login {user} {passwd} {' '.join(ids)} +quit"
print("Running steamcmd. If u have Steam Guard, make sure to approve it. (This runs locally and doesn't get sent to any server)")
result = subprocess.run(comms.split(" "), capture_output=True, text=True)
unowned = re.findall(r"No active license found for appID (\d+)", result.stdout)
print(result.stdout)
print("You don't own the following games:")
print(' '.join(unowned))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment