protonscr

SteamCMD needs a better auth flow for dedicated servers and Workshop downloads

steamopen SteamCMD
ValveSoftware/steam-for-linux#13474 · opened 2026-08-01 by grimreapper · updated 2026-08-07 · 2 comments · github
Ggrimreapper 2026-08-01 github

I ran into this while setting up a dedicated DayZ server on Linux for a group of friends.

My VPS is in the US, but I’m currently located in another country. I’m basically the “game server guy” for our friend group, so I handle the server setup and keep things running so everyone can play together.

That setup seems pretty normal for community servers, but Steam treats it like a suspicious account login because SteamCMD is coming from a datacenter IP in a different country.

For DayZ specifically, anonymous SteamCMD does not work for the server files or Workshop flow in the way a lot of other dedicated servers do. A Steam account is required, and Workshop downloads are tied to the owning account for app 221100.

That creates a bad set of choices for server admins:

  • put a real Steam username/password into a server panel or config file
  • deal with Steam Guard prompts inside a headless/non-interactive install flow
  • get flagged because the server is in a datacenter or different country from the owner
  • use the full Steam client just to approve/login/download content
  • buy the game again on a throwaway account just to keep the main account safe
  • manually download/upload Workshop mods from a desktop machine

None of those are great.

What would help is some kind of SteamCMD/server-operator auth flow. For example:

  1. A scoped server token

    • allowed to download a specific dedicated server app
    • allowed to download Workshop items for that app
    • cannot buy games
    • cannot trade
    • cannot chat
    • cannot access inventory
    • cannot change account settings
    • revocable from the Steam account security page
  2. A pairing flow for SteamCMD

    • steamcmd +pair
    • prints a short code or QR code
    • approve it in the Steam mobile app
    • device is now trusted for SteamCMD/server downloads only
  3. Better Steam Guard handling for headless use

    • if a login is clearly SteamCMD, let the mobile app show: “Approve SteamCMD server login”
    • show app scope, host/device, and requested permissions
    • avoid treating every datacenter login as a suspicious desktop login once approved
  4. Better errors

    • workshop_download_item failures like I/O Operation Failed do not clearly explain whether the problem is entitlement, auth, Steam Guard, rate limit, or content failure
    • a message like “account does not own required app 221100 for Workshop item download” would save a lot of time

I understand why Steam is careful with account security. The problem is that dedicated server administration is a legitimate use case, and right now the safest path often requires either using a main account on a remote server or buying duplicate copies of games for throwaway server accounts.

A scoped/revocable SteamCMD token would be a lot safer than the current username/password workaround.

DDMCK96 2026-08-06 github

Just had the exact same issue with a PalWorld server.

I had to connect to a VPN near my Datacentre from UK to Germany just to get around the SteamGuard.

Why are we even using our Steam credentials for something like this? Why can't we just have an API key?

Jjcotton42 2026-08-07 github

This is also something I would like to see.

Nothing extracted yet.