Loosely Decoupled
GuideAutomation

Find a Dedicated Server's Steam App ID for SteamCMD

Look up a dedicated server’s Steam app ID, confirm it with SteamCMD, and see whether anonymous login can install it, checked here for 25 common servers.

A boxy tin robot forces an oversized key into the small lock of a shed door at night, ignoring the plain little cyan key hanging on a hook beside it.
On this page

TL;DR

A dedicated server is usually its own Steam app with its own app ID. Pass the server’s ID to SteamCMD’s +app_update, not the game’s: +app_update 294420 installs the 7 Days to Die server, and the game’s 251570 is refused. The one exception among the 25 servers listed here is Counter-Strike 2, where the ID I checked, 730, is the game’s own app. App ID for each of 25 dedicated servers lists the ones I checked.

Confirm an ID before you install it by asking SteamCMD for its record and reading name, type and parent:

Command
PS> & C:\steamcmd\steamcmd.exe +login anonymous +app_info_print 294420 +quit |
>     Select-String -Pattern '^\t\t"(name|type|parent)"\t' |
>     ForEach-Object { $_.Line.Trim() -replace '\t+', '  ' }

Output

"name"  "7 Days to Die Dedicated Server"
"type"  "Tool"
"parent"  "251570"

name should say it’s a server. A parent, when the record has one, is the game’s ID, and seven of the servers in the table have none, so a missing parent isn’t a reason to reject a candidate. The thing most likely to stop you is that anonymous login can’t install every server: DayZ’s and Arma 3’s answered No subscription.

The scripts that run my 7 Days to Die server pass SteamCMD one number, 294420. The game has a number too, 251570, in the address of its store page, and an anonymous install of it fails with No subscription. I wrote this part first because every later part in this series hands the server’s ID to SteamCMD, and a reader running another game has to find theirs.

App ID for each of 25 dedicated servers

I checked each row on 2026-10-03, on Windows Server 2025, with the commands in this article.

GameApp IDAnonymous installName Steam returnsGame’s ID
7 Days to Die294420Install begins7 Days to Die Dedicated Server251570
ARK: Survival Ascended2430930Install beginsARK: Survival Ascended Dedicated Server2399830
ARK: Survival Evolved376030Install beginsARK: Survival Evolved Dedicated Servernone
Arma 3233780Refused: No subscriptionArma 3 Server107410
Arma Reforger1874900Install beginsArma Reforger Server1874880
Conan Exiles443030Install beginsConan Exiles Dedicated Servernone
Core Keeper1963720Install beginsCore Keeper Dedicated Server1621690
Counter-Strike 2730Install beginsCounter-Strike 2none
DayZ223350Refused: No subscriptionDayZ Server221100
Don’t Starve Together343050Install beginsDon’t Starve Together Dedicated Servernone
Enshrouded2278520Install beginsEnshrouded Dedicated Server1203620
Garry’s Mod4020Install beginsGarry’s Mod Dedicated Server4000
Insurgency: Sandstorm581330Install beginsInsurgency: Sandstorm Dedicated Server581320
Left 4 Dead 2222860Install beginsLeft 4 Dead 2 Dedicated Server550
Palworld2394010Install beginsPalworld Dedicated Server1623730
Project Zomboid380870Install beginsProject Zomboid Dedicated Servernone
Rust258550Install beginsRust Dedicated Servernone
Satisfactory1690800Install beginsSatisfactory Dedicated Server526870
Sons of the Forest2465200Install beginsSons Of The Forest Dedicated Server1326470
Space Engineers298740Install beginsSpace Engineers Dedicated Server244850
Squad403240Install beginsSquad Dedicated Servernone
Team Fortress 2232250Install beginsTeam Fortress 2 Dedicated Server440
Unturned1110390Install beginsUnturned Dedicated Server304930
V Rising1829350Install beginsV Rising Dedicated Server1604030
Valheim896660Install beginsValheim Dedicated Server892970

The columns:

  • Anonymous install: Install begins means SteamCMD printed its first Update state line and I stopped it. Refused means the install was refused with No subscription. No install ran to the end, and I didn’t try a login.
  • Name Steam returns: what app_info_print printed as name for the ID.
  • Game’s ID: the record’s parent. I looked up each one, and each returned that game’s name. Seven servers have none.

Two rows need a second look. Counter-Strike 2’s ID is the game’s own app: its type is Game and its name doesn’t contain Server. Rust’s record calls it a dedicated server but gives it the type Game, so don’t filter on type.

1. Find a candidate ID

Look for the ID in the game’s own server documentation, or search SteamDB in a browser. Treat what you find as a candidate until the next step confirms it.

The store won’t lead you to it. The game’s ID is in the address of the game’s store page: store.steampowered.com/app/251570/ is 7 Days to Die. The server has no page of its own. When I requested store.steampowered.com/app/294420/ from a script, the store answered with its front page, and the store’s api/storesearch endpoint returned no result for 7 days to die dedicated server. SteamDB answered a script with 403, and Valve’s Developer Community wiki answered with a “Making sure you’re not a bot!” page instead of an article, so I haven’t checked what either lists.

2. Confirm the ID from its record

This step needs steamcmd.exe. Part 2 installs it, and the commands here assume C:\steamcmd. For the lookup alone, https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip unpacks to steamcmd.exe, and the command works on its first run, though that run exits with code 7. The command is the one in the answer block, with your candidate in place of 294420. It reads the record and changes nothing.

Read the three lines:

  • name is the one to trust. 24 of the 25 names in the table contain Server. The exception is Counter-Strike 2, which is the game.
  • parent is the game’s ID, when the server has one.
  • type is Tool for 23 of the 25 and Game for two, so a Game isn’t proof you have the wrong app. Rust’s record reads:
Command
PS> & C:\steamcmd\steamcmd.exe +login anonymous +app_info_print 258550 +quit |
>     Select-String -Pattern '^\t\t"(name|type|parent)"\t' |
>     ForEach-Object { $_.Line.Trim() -replace '\t+', '  ' }

Output

"name"  "Rust Dedicated Server"
"type"  "Game"

3. Check that anonymous login can install it

A real install downloads the whole server, which for some games is tens of gigabytes, and you only need to know whether it starts. Run the install once into an empty folder you can delete, here C:\steam-check, and stop it when SteamCMD answers:

PowerShell
& C:\steamcmd\steamcmd.exe +force_install_dir "C:\steam-check" `
    +login anonymous +app_update 294420

Keep the quotes around the folder, because a path with a space splits at the space. Watch the console. One of two things comes first:

  • A line that starts Update state, such as Update state (0x61) downloading, progress: 0.00 (0 / 6103829589). The install has begun, so anonymous login can install the server. Press Ctrl+C.
  • ERROR! Failed to install app '233780' (No subscription). Anonymous login can’t install it. SteamCMD waits at its Steam> prompt, so type quit.

Then delete the folder:

PowerShell
Remove-Item -LiteralPath '\\?\C:\steam-check' -Recurse -Force

The \\?\ prefix costs nothing and is there for long paths. Remove-Item in Windows PowerShell 5.1 stops at 260 characters, and some games nest folders deeper than that. An install stopped in its first seconds rarely gets that far, but if you let one run longer, the prefix is what deletes it.

Stopping SteamCMD this way can make its next start print Looks like steam didn't shutdown cleanly, scheduling immediate update check. Nothing is wrong.

Common failures

No subscription when you install

Error

ERROR! Failed to install app '233780' (No subscription)

An anonymous login isn’t allowed to install that app. Three cases give the same message:

  • The ID is the game’s. Step 3 gives it for 251570, 7 Days to Die.
  • The server isn’t available to an anonymous login. The DayZ and Arma 3 servers answered this way. I didn’t test whether a login works.
  • The ID doesn’t exist. Step 3 gives it for 999999999.

Read the ID’s record to tell them apart:

PowerShell
& C:\steamcmd\steamcmd.exe +login anonymous +app_info_print <app-id> +quit |
    Select-String -Pattern '^\t\t"(name|type|parent)"\t'

A name without Server in it, with type Game, is the game. A name that says server means anonymous login can’t install it. No lines at all means the lookup returned no record. Either no app has that ID, or SteamCMD couldn’t reach Steam. To tell them apart, run the lookup again without the Select-String line, so SteamCMD’s own output shows. A missing app still prints Waiting for user info...OK. A failed connection prints FAILED (No Connection) after retrying for a couple of minutes.

Tested with

OS
Windows Server 2025 Datacenter (10.0.26100), virtual machine
PowerShell
Windows PowerShell 5.1
SteamCMD
client version 1788292693, anonymous login
Servers
25 checked, each install stopped as soon as it began or was refused
Date
October 2026

New articles, by email.

A short note when something new is published.