Fr/SteamCMD
Template:Otherlang2 Le client Steam console ou SteamCMD est le nouvelle outil pour installer et mettre à jour les serveurs dédiés en utilisant une interface en ligne de commande. Il ne fonctionne qu'avec les jeux étant passé sur le système de contenu SteamPipe . Tous les jeux Steam sont passé de HLDSUpdateTool à SteamCMD.
Téléchargement et lancement de SteamCMD
1. Télécharger l'outil SteamCMD
-
- Si vous utilisé une distribution 64-bit, vous aurez à installer les bibliothéques 32-bit. Voir ici pour les installer.
2. Extraire le contenu dans un repertoire.
Note:Ne pas extraire le contenu dans le même dossier que le client Steam ou HLDSUpdateTool.
- Linux:
tar -xvzf steamcmd_linux.tar.gz
- Linux:
3. Lancer SteamCMD pour la première fois
- Ouvrer une invite de commande dans ce répertoire et lancer SteamCMD
- Windows:
steamcmd
- Linux:
./steamcmd.sh
- Windows:
Le programme se mettra à jour et entrera dans une invite Steam>
. Entrer help
pour obtenir les commandes et informations.
Pour la plus part des serveurs, vous aurez simplement besoin de vous connecter en anonyme
login anonymous
Si la connexion en anonyme de fonctionne pas pour un jeu, vous aurez à vous connecter avec un compte Steam

login <username>
Entrer votre mot de passe. Vérifier ensuite vos mail pour votre code d'accès Steam Guard et entrer-le dans l'invite (vous n'aurez qu'à le faire une fois par ordinateur/serveur).
Vous aurez ensuite un message vous indiquant que la connexion à été validé.
Télécharger une application
1. Démarrer SteamCMD et définisser le répertoire d'installation de l'application. (note: utiliser des slash sous Linux et des anti-slash sous Windows)
force_install_dir <répertoire>
- Exemple: dossier
cs_go
dans le répertoire courant:
force_install_dir ./cs_go/
2. Installer ou mettre à jour une application. L'<app_id> est l'identifiant Steam Application. Pour valider le contenu de l'application, il suffit d'ajouter validate
dans la commande. Pour participer au beta HLDS, ajouter -beta beta
dans la commande. Pour participer au beta SRCDS, ajouter -beta prerelease
dans la commande.
app_update <app_id>
- Exemple: installer et valider CS:GO:
app_update 740 validate
- Example: installer et valider la version beta de HLDS (CS 1.6):
app_update 90 -beta beta validate
- Example: installer et valider la version beta de CS:S:
app_update 232330 -beta prerelease validate
- Example: installer et valider CS:CZ:
app_set_config 90 mod czero app_update 90 validate

3. Une fois finit, entrer quit
pour se déconnecter des serveurs Steam.
Serveurs supporté
Ici est la liste des serveurs connus compatible avec steamCMD. Toutes command lister dans la colonne extra
est nécessaire avant la ligne app_update
.

Server | ID | Extra |
---|---|---|
HLDS pour Half-Life et Counter-Strike | 90 | |
Counter-Strike: Condition Zero dedicated server | 90 | +app_set_config 90 mod czero |
Deathmatch Classic dedicated server | 90 | +app_set_config 90 mod dmc |
Day of Defeat dedicated server | 90 | +app_set_config 90 mod dod |
Half-Life: Opposing Force dedicated server | 90 | +app_set_config 90 mod gearbox |
Ricochet dedicated server | 90 | +app_set_config 90 mod ricochet |
Team Fortress Classic dedicated server | 90 | +app_set_config 90 mod tfc |
Counter-Strike: Global Offensive dedicated server | 740 | |
Garry's Mod dedicated server | 4020 | |
Nuclear Dawn dedicated server | 111710 | |
Red Orchestra: Ostfront 41-45 dedicated server | 223240 | |
Red Orchestra 2: Heroes of Stalingrad and Rising Storm dedicated server | 212542 | |
Killing Floor Windows dedicated server | 215350 | |
Killing Floor Linux dedicated server | 215360 | |
Team Fortress 2 dedicated server | 232250 | |
Day of Defeat: Source dedicated server | 232290 | |
Counter-Strike: Source dedicated server | 232330 | |
Half-Life 2: Deathmatch dedicated server | 232370 | |
The Ship dedicated server | 2403 | |
Serious Sam 3 dedicated server | 41080 |
Automatiser SteamCMD
There are two ways to automate SteamCMD. (replace steamcmd
with ./steamcmd.sh
on Linux)

1. Add commands to the command line. Examples:
steamcmd +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit
To install a specific game mod for HL1, such as Counter-Strike: Condition Zero:
steamcmd +login anonymous +force_install_dir ../czero +app_set_config 90 mod czero +app_update 90 validate +quit
For a game that requires logins, like Killing Floor
steamcmd +login <username> <password> +force_install_dir c:\KFServer\ +app_update 215350 validate +quit
2. Create a script.
- a. Put your SteamCMD commands in a text file. Example:
// update_csgo_ds.txt
//
@ShutdownOnFailedCommand 1 //set to 0 if updating multiple servers at once
@NoPromptForPassword 1
login <username> <password>
//for servers which don't need a login
//login anonymous
force_install_dir ../csgo_ds
app_update 740 validate
quit
- b. Run SteamCMD with the
+runscript
option. Example:
steamcmd +runscript csgo_ds.txt
Example Batch Code for Windows
::=======================::
:: SteamCMD Guardian 1.2 ::
:: ckynick254 ::
::=======================::
set programname=SteamCMD Guardian 1.1
::=======================::
:: SET YOUR VARIABLES! ::
::=======================::
set servername=
set username=
set password=
::=======================::
:: Your folder ::
:: Replace after = ::
::=======================::
set runcmd=E:\Games\
::=======================::
:: End of variables ::
::=======================::
:: This will keep the window clean and easy to read
@ECHO off
:: Sets the title of the window
title %programname% - %servername%
:: Clears the window incase there is anything there
cls
COLOR 1f
CD %runcmd%
:: Prints to the window what we are doing
ECHO %programname% has been started!
:start
ECHO.
ECHO.
ECHO ##############################################################
ECHO # Dedicated Server #
ECHO # 1 - Half-Life: Deathmatch and Counter-Strike #
ECHO # 2 - Counter-Strike: Global Offensive #
ECHO # 3 - Nuclear Dawn Dedicated Server #
ECHO # 4 - Red Orchestra Dedicated Server #
ECHO # 5 - Red Orchestra 2: Heroes of Stalingrad Dedicated Server #
ECHO # 6 - Killing Floor Dedicated Server #
ECHO # 7 - Team Fortress 2 Dedicated Server Beta #
ECHO # 8 - HELP! #
ECHO # 9 - Exit #
ECHO ##############################################################
ECHO.
ECHO.
:: Delete variable %A%
SET "A="
SET /P A=Set Your Choice And Press Enter:
ECHO Loading .........
IF "%A%"=="1" set app=90
IF "%A%"=="2" set app=740
IF "%A%"=="3" set app=111710
IF "%A%"=="4" set app=223240
IF "%A%"=="5" set app=212542
IF "%A%"=="6" set app=215350
IF "%A%"=="7" set app=229830
IF "%A%"=="8" ECHO.
IF "%A%"=="8" ECHO https://developer.valvesoftware.com/wiki/SteamCMD
IF "%A%"=="8" ECHO.
IF "%A%"=="8" PAUSE
IF "%A%"=="8" goto start
IF "%A%"=="9" EXIT
:: This is a return point in case the server crashes or is closed
:restart
ECHO.
ECHO (%date%)(%time%) %servername% is now ONLINE
ECHO Watching %servername% for crashes...
>> "%servername%.log" ECHO.
>> "%servername%.log" ECHO (%date%)(%time%) %servername% is now ONLINE
>> "%servername%.log" ECHO (%date%)(%time%) Watching %servername% for crashes...
::Start the actual update window
start /wait steamcmd +login %username% %password% +force_install_dir %runcmd%%app%Server\ +app_update %app% validate
ECHO (%time%) WARNING: srcds closed or crashed, restarting.
ECHO.
ECHO (%date%)(%time%) Crash or Close detected!
ECHO %servername% is now restarting...
>> "%servername%.log" ECHO.
>> "%servername%.log" ECHO (%date%)(%time%) Crash or Close detected!
>> "%servername%.log" ECHO (%date%)(%time%) %servername% is now restarting...
::Server crashed or closed, so we point it to the return point to start the server again
GOTO restart
Known issues
32-bit libraries on 64-bit Linux systems
Since steamcmd is a 32-bit program, a few 32-bit libraries are required, even if you already have their 64-bit versions installed.
The related error message looks like this:
steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
The remedies are distribution-specific:
Debian and derivatives (Ubuntu, Mint)
apt-get install ia32-libs
If you get this error message:
The following packages have unmet dependencies: ia32-libs : Depends: ia32-libs-multiarch but it is not installable
E: Unable to correct problems, you have held broken packages.
do the following:
dpkg --add-architecture i386 apt-get update apt-get install ia32-libs
Red Hat and derivatives (RHEL, Fedora, CentOS)
yum install glibc.i686 libstdc++.i686
Arch Linux
Don't forget to first enable the multilib repository.
pacman -S lib32-gcc-libs
Login Failure: No Connection
On linux servers, you may experience a "Login Failure: No Connection". This is related to missing iptables rules. You will want something along these lines:
iptables -A INPUT -p udp -m udp --sport 27000:27030 --dport 1025:65355 -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 4380 --dport 1025:65355 -j ACCEPT
The port list is found here: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=english
On Windows servers, you may experience "SteamUpdater: Error: Download failed: http error 0", this is usually fixed by checking "Automatically detect settings" in internet option lan settings.
SteamCmd startup errors
Ulimit linux startup error
Some users may get ulimit error (no permission/can not open file) while script is starting up. This error caused by low setting of -n-parameter of ulimit. SteamCmd uses standard command inside of shell-script to change ulimit automatically, but some servers may be protected from changing values to custom from different (set by administrator/root).
It fixes only with changing ulimit parameter up to 2048: ulimit -n 2048
. It may cause error (no permission), so you may need ask root-user to change parameter setting.
To check your setting: type ulimit -a, system will reply with many rows, you need to find one:
open files (-n) 1024
"1024" is the value of setting in system.