New

The public catalogue

tmc catalog — browse, filter and inspect what any visitor to the site sees, including counts, categories, dependencies and reviews, with no API key.

tmc catalog reads the site the way a visitor sees it. It sends no credential, so it works before tmc auth login, and it covers what the content API does not hand out: category and tag names, owners, download and rating counts, dependencies, reviews and the list of games.

It is the public half of the App API (/api/app/v1) — the same one-row-for-every-kind shape described in Browsing.

tmc catalog browse mod --app 3 --category 7 --tag 1 --tag 2 --sort downloads
tmc catalog show mod 42                          # summary + counts
tmc catalog show mod 42 --part dependencies      # or releases, media, links
tmc catalog facets mod                           # ids to filter by
tmc catalog reviews mod 42 --sort helpful
tmc catalog games --search seed
tmc catalog lookup play.example.com --port 27015 # listed servers at an address

Two different reads, on purpose

tmc mod get 42 --anon and tmc catalog show mod 42 both work without a key, and they are different endpoints. The first is the content API’s anonymous summary, which an item’s team can switch off (apiPublic) and which answers for seven types. The second is what the site’s own pages are built from, and is the one to reach for when you want what a visitor sees.

Kinds

asset, mod, server, serverMap, article, community, collection, user. Ids on this surface are strings — the app API’s convention — even where they look like numbers.

Commands

browse <kind>

A page of rows. Filters: --search, --app (repeatable), --category (repeatable), --tag (repeatable; all must match, or any with --any-tag), --community, --owner, --official, --nsfw. Order with --sort (createdAt, lastEdit, name, views, downloads, rating, reviews, favorites, and for servers curUsers, maxUsers, avgUsers), --dir asc|desc and --time-range all|24h|7d|30d. Kind-specific filters go through --filter key=value — for example --filter onlineOnly=true --filter os=LINUX on servers.

show <kind> <id>

One item’s summary and counts. --part releases|media|links|dependencies fetches that part instead.

facets <kind>

The games, categories and countries that kind can be filtered by, with their ids — the numbers browse wants.

reviews <kind> <id>

An item’s reviews, --sort recent|helpful|rating.

games

The games list. --search, --type (GAME, GAME_SINGLEPLAYER, GAME_ENGINE, VOIP, OTHER), --playable for games playable on the site, --ids / --slug (repeatable) to fetch specific ones.

lookup <host>

The listed servers at a hostname or IP, optionally narrowed by --port. Useful for “is my server listed yet?” — see Getting listed.

build <game>

The installable native build of a game for one platform (--platform LINUX_X64, for example); nothing when there is none. This is what the desktop app installs from.

listing

The address-only server listing a game’s server browser reads. --app takes a game id or slug; page with --page and --limit, or --all.

Paging

Every list takes --limit, --cursor, --all (follow the cursor to the end) and --max (stop after this many rows with --all). Output formats are the usual ones — see Output and exit codes.