[GH-ISSUE #719] SteamCMD exit codes #575

Closed
opened 2026-02-27 02:02:25 +03:00 by kerem · 15 comments
Owner

Originally created by @dgibbs64 on GitHub (Feb 26, 2016).
Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/719

Originally assigned to: @dgibbs64, @Bourne-ID on GitHub.

SteamCMD has exit codes to go with its failure errors. However, there is no documentation anywhere telling us what they mean. I may have to contact Valve to see if they would be willing to provide details of there exit codes

for example

Error! App '237410' state is 0x602 after update job.

gave me exit code 8

Originally created by @dgibbs64 on GitHub (Feb 26, 2016). Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/719 Originally assigned to: @dgibbs64, @Bourne-ID on GitHub. SteamCMD has exit codes to go with its failure errors. However, there is no documentation anywhere telling us what they mean. I may have to contact Valve to see if they would be willing to provide details of there exit codes for example ``` Error! App '237410' state is 0x602 after update job. ``` gave me exit code 8
kerem 2026-02-27 02:02:25 +03:00
Author
Owner

@UltimateByte commented on GitHub (Feb 26, 2016):

Where/how do you get the exit code ?

<!-- gh-comment-id:189236067 --> @UltimateByte commented on GitHub (Feb 26, 2016): Where/how do you get the exit code ?
Author
Owner

@dgibbs64 commented on GitHub (Feb 29, 2016):

You will see exit codes scattered across LGSM. they are very useful in detected issues with other commands. Here is some example on catching an exit code

steamcmd.sh
if [ $? -ne 0 ]; then
    echo "FAIL
else
    echo "OK"
fi

basically if you run a command in shell then echo $? straight after you will see the previous commands exit code.

exitcode 0 is everything is OK and any other code is a failure. Some commands do have specific meanings. This allows us to trap the errors and handle them in our code, If we are lucky and the command has specific exit codes we know about I can get LGSM to handle a specific issue.

For example dealing with steamcmd issues. Since its hard to replicate all of the steamcmd issues its hard to tell what all the codes mean

<!-- gh-comment-id:190296852 --> @dgibbs64 commented on GitHub (Feb 29, 2016): You will see exit codes scattered across LGSM. they are very useful in detected issues with other commands. Here is some example on catching an exit code ``` steamcmd.sh if [ $? -ne 0 ]; then echo "FAIL else echo "OK" fi ``` basically if you run a command in shell then echo $? straight after you will see the previous commands exit code. exitcode 0 is everything is OK and any other code is a failure. Some commands do have specific meanings. This allows us to trap the errors and handle them in our code, If we are lucky and the command has specific exit codes we know about I can get LGSM to handle a specific issue. For example dealing with steamcmd issues. Since its hard to replicate all of the steamcmd issues its hard to tell what all the codes mean
Author
Owner

@dgibbs64 commented on GitHub (Feb 29, 2016):

Just posted here. Hopefully I get something back

https://github.com/ValveSoftware/steam-for-linux/issues/4341

<!-- gh-comment-id:190303167 --> @dgibbs64 commented on GitHub (Feb 29, 2016): Just posted here. Hopefully I get something back https://github.com/ValveSoftware/steam-for-linux/issues/4341
Author
Owner

@UltimateByte commented on GitHub (Feb 29, 2016):

That's cool, i didn't notice that into the code yet.

Should i harrass Gaben to get error codes and their meanings ?

Having a look at steam.sh i found

# Backward compatibility for server operators
if [ "$STEAMEXE" = "steamcmd" ]; then
        echo "***************************************************"
        echo "The recommended way to run steamcmd is: steamcmd.sh $*"
        echo "***************************************************"
        exec "$STEAMROOT/steamcmd.sh" "$@"
        echo "Couldn't find steamcmd.sh" >&1
        exit 255

253 more and we got them all.

Edit : Well, i'm late for the party, hopefully they'll give some piece of information.

<!-- gh-comment-id:190303213 --> @UltimateByte commented on GitHub (Feb 29, 2016): That's cool, i didn't notice that into the code yet. Should i harrass Gaben to get error codes and their meanings ? Having a look at steam.sh i found ``` # Backward compatibility for server operators if [ "$STEAMEXE" = "steamcmd" ]; then echo "***************************************************" echo "The recommended way to run steamcmd is: steamcmd.sh $*" echo "***************************************************" exec "$STEAMROOT/steamcmd.sh" "$@" echo "Couldn't find steamcmd.sh" >&1 exit 255 ``` 253 more and we got them all. Edit : Well, i'm late for the party, hopefully they'll give some piece of information.
Author
Owner

@dgibbs64 commented on GitHub (Sep 19, 2017):

current known error codes

0: Success!
1: ERROR! Timed out waiting for AppInfo update.
5: Login Failure: Two-factor code mismatch (88)
5: Login Failure: Rate Limit Exceeded (84)
8: ERROR! Failed to install (No subscription).
8: Error! State is 0x402 after update job.
8: Error! State is 0x602 after update job.
8. Error! App '376030' state is 0x202 after update job
Error Possible Reason
ERROR! Timed out waiting for AppInfo update. Unknown
Login Failure: Rate Limit Exceeded (84) Unknown
ERROR! Failed to install (No subscription) Game not owned by any authorised accounts
Error! State is 0x202 after update job. Not enough space to download game
Error! State is 0x402 after update job. An update is required and that the update has been started previously.
Error! State is 0x602 after update job. Update required but not completed - check network
Error! App '255850' state is is 0x2 after update job.
<!-- gh-comment-id:330470766 --> @dgibbs64 commented on GitHub (Sep 19, 2017): current known error codes ``` 0: Success! 1: ERROR! Timed out waiting for AppInfo update. 5: Login Failure: Two-factor code mismatch (88) 5: Login Failure: Rate Limit Exceeded (84) 8: ERROR! Failed to install (No subscription). 8: Error! State is 0x402 after update job. 8: Error! State is 0x602 after update job. 8. Error! App '376030' state is 0x202 after update job ``` | Error | Possible Reason | | ---------------------------------------------- | ------------------------------------------------- | | `ERROR! Timed out waiting for AppInfo update.` | Unknown | | `Login Failure: Rate Limit Exceeded (84)` | Unknown | | `ERROR! Failed to install (No subscription)` | Game not owned by any authorised accounts | | `Error! State is 0x202 after update job.` | Not enough space to download game | | `Error! State is 0x402 after update job.` | An update is required and that the update has been started previously. | |`Error! App '232130' state is 0x202 after update job.` | Low disk space | | `Error! State is 0x602 after update job.` | Update required but not completed - check network | | `Error! App '255850' state is is 0x2 after update job.` |
Author
Owner

@dgibbs64 commented on GitHub (Jul 22, 2018):

Adding support to to a fatal exit if no subscription

<!-- gh-comment-id:406858734 --> @dgibbs64 commented on GitHub (Jul 22, 2018): Adding support to to a fatal exit if no subscription
Author
Owner

@dgibbs64 commented on GitHub (Dec 15, 2018):

@Bourne-ID since you have been doing some work with steamcmd would it be possible for you to look at causing the install to fail if no subscription?

<!-- gh-comment-id:447589656 --> @dgibbs64 commented on GitHub (Dec 15, 2018): @Bourne-ID since you have been doing some work with steamcmd would it be possible for you to look at causing the install to fail if no subscription?
Author
Owner

@dgibbs64 commented on GitHub (Apr 1, 2019):

Error! App '232130' state is 0x202 after update job. Is low on disk space

<!-- gh-comment-id:478584908 --> @dgibbs64 commented on GitHub (Apr 1, 2019): Error! App '232130' state is 0x202 after update job. Is low on disk space
Author
Owner

@dgibbs64 commented on GitHub (Mar 10, 2020):

new error #2684
https://gaming.stackexchange.com/questions/321270/error-app-255850-state-is-is-0x2-after-update-job

Arqade
This issue has been solved. I was having an issue with my local CDN after a major internet outage that spanned over two weeks.

I am trying to create a new Rust server for my friend and I to play o...

<!-- gh-comment-id:597162447 --> @dgibbs64 commented on GitHub (Mar 10, 2020): new error #2684 https://gaming.stackexchange.com/questions/321270/error-app-255850-state-is-is-0x2-after-update-job <blockquote><img src="https://cdn.sstatic.net/Sites/gaming/img/apple-touch-icon@2.png?v=5f35bf9106a3" width="48" align="right"><div>Arqade</div><div><strong><a href="https://gaming.stackexchange.com/questions/321270/error-app-255850-state-is-is-0x2-after-update-job">Error! App '255850' state is is 0x2 after update job</a></strong></div><div>This issue has been solved. I was having an issue with my local CDN after a major internet outage that spanned over two weeks. I am trying to create a new Rust server for my friend and I to play o...</div></blockquote>
Author
Owner

@ToeiRei commented on GitHub (Apr 27, 2020):

Steamcmd errors out stating ERROR! Timeout downloading item 1380777369 while still giving error code 0.

<!-- gh-comment-id:619855458 --> @ToeiRei commented on GitHub (Apr 27, 2020): Steamcmd errors out stating `ERROR! Timeout downloading item 1380777369` while still giving error code 0.
Author
Owner

@JamesHawkinss commented on GitHub (Feb 19, 2021):

Hi @dgibbs64,

I understand that this issue is closed, but I can't find any other information on SteamCMD exit codes.

I'm having issues where if some (but not all) files are deleted in the game's directory, the preinstall (steamcmd) seems to peacefully exit with code 254 before failing to run the game. -validate parameter is passed into the command, but doesn't seem to make any difference.

Have you had any experience with exit code 254? I can't find any other information about it.

Many thanks,
James

<!-- gh-comment-id:782018464 --> @JamesHawkinss commented on GitHub (Feb 19, 2021): Hi @dgibbs64, I understand that this issue is closed, but I can't find any other information on SteamCMD exit codes. I'm having issues where if some (but not all) files are deleted in the game's directory, the preinstall (steamcmd) seems to peacefully exit with code 254 before failing to run the game. -validate parameter is passed into the command, but doesn't seem to make any difference. Have you had any experience with exit code 254? I can't find any other information about it. Many thanks, James
Author
Owner

@dgibbs64 commented on GitHub (Feb 19, 2021):

Hi @JamesHawkinss good question. Over the past few years, any info I have gathered for steamcmd error codes can be found here.

https://docs.linuxgsm.com/steamcmd/errors

I don't however have any specific info on exit codes

<!-- gh-comment-id:782029470 --> @dgibbs64 commented on GitHub (Feb 19, 2021): Hi @JamesHawkinss good question. Over the past few years, any info I have gathered for steamcmd error codes can be found here. https://docs.linuxgsm.com/steamcmd/errors I don't however have any specific info on exit codes
Author
Owner

@Bourne-ID commented on GitHub (Feb 19, 2021):

Out of interest, are you getting this error code from steam (IE 0x254) or as an application exit code (IE echo $? == 254)? Wondering it it could be something else that's that is giving an application exit code, instead of it being a steam error code?

<!-- gh-comment-id:782351347 --> @Bourne-ID commented on GitHub (Feb 19, 2021): Out of interest, are you getting this error code from steam (IE 0x254) or as an application exit code (IE echo $? == 254)? Wondering it it could be something else that's that is giving an application exit code, instead of it being a steam error code?
Author
Owner

@JamesHawkinss commented on GitHub (Feb 20, 2021):

@Bourne-ID Definitely a steam exit code, as it's the SteamCMD process that's being quit with 254.

Thanks to @dgibbs64 and their research, I've found that it seems to be an issue with the Steam folder being corrupt (specifically /Steam/package/steam_cmd_linux). Upon deleting this file, the install runs with no issue. I really appreciate the help, thank you!

<!-- gh-comment-id:782663894 --> @JamesHawkinss commented on GitHub (Feb 20, 2021): @Bourne-ID Definitely a steam exit code, as it's the SteamCMD process that's being quit with 254. Thanks to @dgibbs64 and their research, I've found that it seems to be an issue with the Steam folder being corrupt (specifically /Steam/package/steam_cmd_linux). Upon deleting this file, the install runs with no issue. I really appreciate the help, thank you!
Author
Owner

@github-actions[bot] commented on GitHub (Feb 21, 2022):

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

<!-- gh-comment-id:1046351531 --> @github-actions[bot] commented on GitHub (Feb 21, 2022): This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Sign in to join this conversation.
No labels
Atomic
Epic
cannot reproduce
command: backup
command: console
command: debug
command: details
command: fast-dl
command: install
command: mods
command: monitor
command: post-details
command: restart
command: send
command: start
command: stop
command: update
command: update-lgsm
command: validate
command: wipe
distro: AlmaLinux
distro: Arch Linux
distro: CentOS
distro: Debian
distro: Fedora
distro: RedHat
distro: Rocky Linux
distro: Ubuntu
distro: openSUSE
engine: goldsrc
engine: source
game: 7 Days to Die
game: ARMA 3
game: Ark: Survival Evolved
game: Assetto Corsa
game: Avorion
game: BATTALION: Legacy
game: Barotrauma
game: Battalion 1944
game: Battlefield 1942
game: Black Mesa: Deathmatch
game: Blade Symphony
game: Call of Duty 2
game: Call of Duty 4
game: Call of Duty: United Offensive
game: Counter-Strike 1.6
game: Counter-Strike 2
game: Counter-Strike: Global Offensive
game: Counter-Strike: Source
game: Day of Infamy
game: Dayz
game: Death Match Classic
game: Don't Starve Together
game: ET: Legacy
game: Eco
game: Factorio
game: Factorio
game: Garry's Mod
game: Half-Life
game: Hurtword
game: Insurgecy
game: Insurgecy
game: Insurgency: Sandstorm
game: Just Cause 3
game: Killing Floor
game: Killing Floor 2
game: Left 4 Dead 2
game: Minecraft
game: Minecraft Bedrock
game: Mordhau
game: Multi Theft Auto
game: Mumble
game: Natural Selection 2
game: No More Room in Hell
game: Pavlov VR
game: Post Scriptum
game: Project Zomboid
game: Quake 3
game: QuakeWorld
game: Red Orchestra: Ostfront 41-45
game: Return to Castle Wolfenstein
game: Rising World
game: Rust
game: San Andreas Multiplayer
game: Satisfactory
game: Soldat
game: Soldier of Fortune 2
game: Squad
game: Squad 44
game: Starbound
game: Stationeers
game: Sven Co-op
game: Team Fortress 2
game: Teamspeak 3
game: Teeworlds
game: Terraria
game: The Front
game: Unreal Tournament 2004
game: Unreal Tournament 3
game: Unreal Tournament 99
game: Unturned
game: Valheim
game: Wurm Unlimited
game: Zombie Master Reborn
game: label missing
good first issue
help wanted
info: alerts
info: dependency
info: docker
info: docs
info: email
info: query
info: steamcmd
info: systemd
info: tmux
info: website
info: website
needs more info
outcome: duplicate
outcome: issue resolved
outcome: issue resolved
outcome: issue unresolved
outcome: pr accepted
outcome: pr rejected
outcome: unconfirmed
outcome: wontfix
outcome: wrong forum
potential-duplicate
priority
pull-request
type: bug
type: feature
type: feature
type: feature request
type: game server request
type: refactor
waiting response
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/LinuxGSM#575
No description provided.