Le client de console Steam ou SteamCMD est une version en ligne de commande du client Steam. Son utilisation principale est d’installer et de mettre à jour divers serveurs dédiés disponibles sur Steam à l’aide d’une interface de ligne de commande. Il fonctionne avec les jeux qui utilisent le système de contenu SteamPipe. Tous les jeux ont été migrés de HLDSUpdateTool obsolète vers SteamCMD.
Téléchargement de SteamCMD
Windows
1. Créez un dossier pour SteamCMD.
par exemple
C:\steamcmd
2. Télécharger SteamCMD pour Windows: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
3. Extrayez le contenu du zip dans le dossier.
Linux
Créez un compte d’utilisateur nommé steam pour exécuter SteamCMD en toute sécurité, en l’isolant du reste du système d’exploitation. N’exécutez pas steamcmd tout en fonctionnant en tant qu’utilisateur root – le faire est un risque pour la sécurité.
1. En tant qu’utilisateur root, créez l’utilisateur steam:
useradd -m steam
2. Allez dans son dossier de base:
cd /home/steam
Package à partir de référentiels
1. Il est recommandé d’installer le package SteamCMD à partir de vos référentiels de distribution, s’il est disponible :
Ubuntu/Debian
sudo apt install steamcmd

sudo add-apt-repository multiverse sudo dpkg --add-architecture i386 sudo apt update sudo apt install lib32gcc1 steamcmd
RedHat/CentOS
yum install steamcmd
Arch Linux
git clone https://aur.archlinux.org/steamcmd.git cd steamcmd makepkg -si
2. Liez l’exécutable steamcmd:
ln -s /usr/games/steamcmd steamcmd
docker
Si votre serveur exécute Docker, vous pouvez simplement utiliser:
docker run -it --name=steamcmd cm2network/steamcmd bash
steamcmd.sh emplacement : /home/steam/steamcmd
Cette image peut être utilisée comme image de base pour les serveurs dédiés basés sur Steam. Exemple : https://hub.docker.com/r/cm2network/csgo/
Vous trouverez la page Docker Hub associée ici : https://hub.docker.com/r/cm2network/steamcmd/
manuellement
1. Avant de commencer, vous devez d’abord installer les dépendances requises pour exécuter SteamCMD :
Ubuntu/Debian (x86-64)
sudo apt-get install lib32gcc1
RedHat/CentOS (x86-64)
yum install glibc.i686 libstdc++.i686
2. En tant qu’utilisateur root, escaladez à l’utilisateur steam:
su - steam
Si vous ne vous connectez pas en tant que root et que vous utilisez plutôt pour effectuer l’administration, transmettez-le à l’utilisateur steam comme suit: sudo
sudo -iu steam
3. Créez un répertoire pour SteamCMD et basculez-y.
mkdir ~/Steam && cd ~/Steam
4. Téléchargez et extrayez SteamCMD pour Linux.
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
5. Installez tmux et / ou l’écran pour faciliter la gestion du serveur
sudo apt-get install tmux screen -y;
macOS
1. Ouvrez Terminal.app et créez un répertoire pour SteamCMD.
mkdir ~/Steam && cd ~/Steam
2. Téléchargez et extrayez SteamCMD pour macOS.
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_osx.tar.gz" | tar zxvf -
Exécution de SteamCMD
Lors de la première exécution, SteamCMD se met automatiquement à jour et vous entre dans une invite Steam>.
Tapez help
pour plus d’informations.
Windows
Ouvrez une invite de commandes et démarrez SteamCMD.
cd C:\steamcmd steamcmd
Linux/macOS
Ouvrez un terminal et démarrez SteamCMD.
Si vous l’avez installé à l’aide du package à partir de référentiels :
cd ~ steamcmd
Si vous l’avez installé manuellement :
cd ~/Steam ./steamcmd.sh
Connexion SteamCMD
anonyme
Pour télécharger la plupart des serveurs de jeux, vous pouvez vous connecter de manière anonyme.
login anonymous
Avec un compte Steam
Certains serveurs nécessitent que vous vous connectiez avec un compte Steam.


login <username>
Entrez ensuite votre mot de passe.
Si Steam Guard est activé sur le compte utilisateur, vérifiez votre e-mail pour un code d’accès Steam Guard et entrez-le. Cela n’est requis que la première fois que vous vous connectez (ainsi que lorsque vous supprimez les fichiers dans lesquels SteamCMD stocke les informations de connexion).
Vous devriez voir un message indiquant que vous vous êtes connecté avec votre compte.
Téléchargement d’une application
1. Démarrez SteamCMD et connectez-vous.
2. Définissez le répertoire d’installation de votre application. (Remarque : utilisez des barres obliques pour Linux/macOS et des barres obliques inverses pour Windows.)
force_install_dir <path>
par exemple, un répertoire nommé à l’intérieur du répertoire courant: cs_go
force_install_dir ./cs_go/
Pour Windows: force_install_dir c:\cs_go\
3. Installez ou mettez à jour l’application à l’aide de la commande (en fournissant un ID d’application Steam). Veuillez vérifier ici la liste des serveurs dédiés : Liste des serveurs dédiés. Pour valider également l’application, ajoutez à la commande. Pour télécharger une branche bêta, utilisez l’option – par exemple, la branche bêta HLDS est nommée et la branche bêta SrcDS est nommée . Certaines branches bêta sont protégées par un mot de passe ; pour pouvoir télécharger à partir d’eux, ajoutez également l’option. app_update
validate
-beta <betaname>
beta
prerelease
-betapassword <password>
app_update <app_id> [-beta <betaname>] [-betapassword <password>] [validate]
HLDS est un cas particulier: l’ID d’application est toujours 90 et un mod doit être choisi en premier. Pour ce faire, définissez l’option de configuration de l’application sur la valeur demandée. mod
app_set_config <app_id> <option_name> <option_value>
- Exemple : Installez et validez le serveur dédié Counter Strike: Global Offensive :
app_update 740 validate
- Exemple : Installer et valider HLDS avec Team Fortress Classic :
app_set_config 90 mod tfc app_update 90 validate

app_update
app_update 90 validate
- Exemple : Installer et valider la version bêta de HLDS (Half-Life) :
app_update 90 -beta beta validate
- Exemple : installer et valider la version bêta du Counter Strike : Serveur dédié source :
app_update 232330 -beta prerelease validate
- Exemple : installer et valider une version bêta privée du serveur dédié Natural Selection 2 (nom, mot de passe) :
alpha
natsel
- [nom bêta] est le nom de la branche bêta privée
- [code bêta] est le mot de passe de la branche bêta privée
app_update 4940 -beta alpha -betapassword natsel validate
3. Une fois terminé, tapez pour vous déconnecter correctement des serveurs Steam. quit
quit
valider
validate
Validate est une commande qui vérifie tous les fichiers du serveur pour s’assurer qu’ils correspondent aux fichiers SteamCMD. Cette commande est utile si vous pensez que les fichiers peuvent être manquants ou corrompus.

mapcycle.txt
Il est recommandé d’utiliser cette commande uniquement lors de l’installation initiale et s’il existe des problèmes de serveur.
Serveurs pris en charge
Une liste des serveurs connus qui utilisent SteamCMD pour l’installation est disponible sur la page Liste des serveurs dédiés. Notez que toutes les commandes supplémentaires répertoriées doivent être exécutées avant la ligne app_update.
Automatisation de SteamCMD
Il existe deux façons d’automatiser SteamCMD. (Remplacer par sur Linux/macOS.) steamcmd
./steamcmd.sh
ligne de commande

-beta
+app_update "90 -beta beta"

"+app_update 90 -beta beta"
Ajoutez les commandes à la ligne de commande précédée de caractères plus, par exemple :
steamcmd +login anonymous +force_install_dir ../csgo_ds +app_update 740 +quit
Pour installer un mod de jeu spécifique pour HL1, tel que Counter-Strike: Condition Zero:
steamcmd +login anonymous +force_install_dir ../czero +app_set_config 90 mod czero +app_update 90 +quit
Pour un jeu qui nécessite des connexions, comme Killing Floor:
steamcmd +login <username> <password> +force_install_dir c:\KFServer\ +app_update 215350 +quit
Création d’un script
1. Placez vos commandes SteamCMD dans un fichier texte. (Vous pouvez ajouter des commentaires qui commencent par .) exemple: //
// 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
2. Exécutez SteamCMD avec l’option, en référence au fichier que vous avez créé précédemment. exemple: +runscript
steamcmd +runscript csgo_ds.txt
Installation multiplateforme
Il est possible de choisir la plate-forme pour laquelle SteamCMD doit télécharger des fichiers, même si ce n’est pas la plate-forme sur laquelle elle s’exécute actuellement. Cela se fait à l’aide de la variable. (Oui, ce sont deux « s » au début du nom de la variable.) Par exemple, pour télécharger le serveur dédié Windows CSGO sur Linux, vous pouvez exécuter la commande suivante : @sSteamCmdForcePlatformType
./steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit
ou utilisez le script suivant :
@ShutdownOnFailedCommand 1
@NoPromptForPassword 1
@sSteamCmdForcePlatformType windows
login anonymous
force_install_dir ../csgo_ds
app_update 740 validate
quit
Les valeurs prises en charge sont , et . windows
macos
linux
Logiciels/scripts Windows
condenseur
condenser est un programme d’amorçage pour l’installation, la configuration et le lancement d’applications serveur dédiées Steam.
Mise à jour automatique SteamCMD
Installer et mettre à jour automatiquement n’importe quel serveur de jeux
Référentiel GitHub : https://github.com/C0nw0nk/SteamCMD-AutoUpdate-Any-Gameserver
Interface graphique SteamCMD
Cet outil permet à l’utilisateur d’utiliser SteamCMD sur Windows sans lignes de commande et/ou fichiers de commandes.
Référentiel GitHub : https://github.com/DioJoestar/SteamCMD-GUI
SteamCMD Guardian 1.2
Voir et télécharger ici: http://pastebin.com/BRUbsGQh
SteamPS
SteamPS est un module PowerShell qui peut être utilisé pour mettre à jour les serveurs, récupérer des informations sur le serveur. Il présente également un flux de travail pour mettre à jour les serveurs de jeux.
Linux Scripts
LinuxGSM
LinuxGSM est l’outil de ligne de commande pour un déploiement et une gestion rapides et simples des serveurs de jeux dédiés Linux.
fonctionnalités
- installateur
- Updater
- moniteur
- Alertes
- Détails du serveur
- Sauvegardes
- consoler
Serveurs pris en charge
Il y a maintenant plus de 100 serveurs de jeux différents pris en charge et en hausse. Pour une liste complète, visitez le site Web.
Liens
Site Web : https://linuxgsm.com
Référentiel GitHub : https://github.com/GameServerManagers/LinuxGSM
SteamCMD Guardian 1.2
Le script suivant a été testé sur Debian Wheezy.
Voir et télécharger ici: http://pastebin.com/hcpMpmaZ
installation
Pour que ce script fonctionne, nous avons besoin d’un emplacement. De préférence, vous avez créé un utilisateur (par exemple steam) avec son propre répertoire de base (/ home / steam) et vous êtes connecté via SSH, tty ou en utilisant su.
- Créer le fichier.
nano updateserver.sh
- Coller dans le code
- Modifiez le code, ajoutez au moins 1 jeu aux lignes.
DL_SV*=
- Fermez le fichier avec Ctrl+o, suivi de ↵ Entrez et en concluant avec Ctrl+X.
- Accorder des droits d’exécution au fichier pour l’utilisateur
chmod u+x ./updateserver.sh
- Exécuter le fichier
./updateserver.sh
Le fichier téléchargera automatiquement SteamCMD, le mettra à jour et installera tous les jeux choisis (jusqu’à 4). Réexécutez le fichier pour mettre à jour les jeux.
Problèmes connus
erreur! Echec de l’installation de l’application ‘xxxxxx’ (pas d’abonnement)
Si vous obtenez l’erreur « Aucun abonnement », le jeu / serveur que vous essayez de télécharger nécessite une connexion ou que vous avez acheté le jeu. Vous devrez donc vous connecter avec un nom d’utilisateur et un mot de passe Steam – si cela ne vous aide pas, vous devrez peut-être d’abord acheter une copie du jeu sur Steam.

par exemple
steamcmd +login <username> <password>
Bibliothèques 32 bits sur les systèmes Linux 64 bits
Étant donné que SteamCMD est un binaire 32 bits, des bibliothèques 32 bits sont requises.
L’erreur suivante peut se produire :
steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
La résolution dépend de votre distribution:
Distributions basées sur Debian (Ubuntu, Mint, etc.)
sudo apt-get install lib32stdc++6

ia32-libs
ne sont pas requis pour installer SteamCMD ; suffit.lib32gcc1
Avec Debian 7 « Wheezy », vous pouvez rencontrer cette erreur :
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.
Pour résoudre ce problème, procédez comme suit :
dpkg --add-architecture i386
apt-get update
apt-get install lib32gcc1
Distributions basées sur Red Hat (RHEL, Fedora, CentOS, etc.)
yum install glibc.i686 libstdc++.i686
Arch Linux
N’oubliez pas d’activer d’abord le référentiel multilib.
pacman -S lib32-gcc-libs
Échec de la connexion : aucune connexion
Sur les serveurs Linux, vous pouvez rencontrer une erreur « Échec de connexion: aucune connexion ». Ceci est lié aux règles iptables manquantes. Vous voudrez quelque chose dans ce sens:
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
La liste des ports se trouve ici : https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=english
Sur les serveurs Windows, vous pouvez rencontrer « SteamUpdater: Erreur: Échec du téléchargement: erreur http 0 » et « SteamUpdater: Erreur: Steam doit être en ligne pour mettre à jour. Veuillez confirmer votre connexion réseau et réessayer. Ceci est généralement résolu en cochant « Détecter automatiquement les paramètres » dans IE (Internet Explorer) via les paramètres lan dans le menu d’options Internet.
- Ouvrez Internet Explorer (IE).
- Cliquez sur Outils → Options Internet
- Cliquez sur l’onglet Connexions
- En bas, vous devriez voir Paramètres du réseau local (LAN).
- Cochez la première case (Détecter automatiquement les paramètres)
- Appuyez sur OKet sur Appliquer. Essayez à nouveau d’exécuter SteamCMD ; si cela ne fonctionne toujours pas. essayez d’abaisser votre zone de niveau de sécurité Internet à moyen ou inférieur. Vous pouvez le trouver dans l’onglet Sécurité des Options Internet.
Erreurs de démarrage de SteamCMD
Impossible de localiser une instance en cours d’exécution de Steam
Vous pouvez obtenir l’erreur suivante lors du démarrage d’un serveur avec Linux:
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.
Résolvez le problème en créant une liaison vers le répertoire : steamclient.so
~/.steam/sdk32/steamclient.so
ln -s steamcmd/linux32/steamclient.so ~/.steam/sdk32/steamclient.so
Erreur de démarrage de Linux ulimit
Certains utilisateurs peuvent obtenir une erreur (aucune autorisation / impossible d’ouvrir le fichier) lors du démarrage du script. Cette erreur est due à un paramètre faible du paramètre (nombre de descripteurs de fichiers) de . SteamCMD utilise des commandes standard à l’intérieur du script shell d’initialisation pour modifier automatiquement le, mais certains serveurs peuvent interdire d’augmenter les valeurs après le démarrage (ou au-delà d’une limite définie par ). ulimit
-n
ulimit
ulimit
ulimit
root
Cela peut être corrigé en modifiant le numéro de descripteur de fichier ulimit:
ulimit -n 2048
Si une erreur apparaît(pas d’autorisation),vous devrez vous connecter en tant que root pour modifier le paramètre. Pour vérifier le paramètre actuel, tapez ulimit -a; le système répondra avec de nombreuses lignes, vous devez en trouver une:
open files (-n) 1024
Dans ce cas, 1024 est la valeur actuelle.
root
peut également modifier les limites dans le fichier. /etc/security/limits.conf
Dans la plupart des cas, vous recevrez simplement un message d’avertissement, mais cela n’empêchera pas SteamCMD de s’exécuter.
Obtention d’une steamclient.so Linux 64 bits sur une machine Windows
WSL ne joue pas bien avec les fichiers 32 bits. Si vous avez besoin du fichier steamclient.so 64 bits, vous pouvez simplement exécuter la commande suivante:
steamcmd.exe +@sSteamCmdForcePlatformType linux +login anonymous +app_update 1007 +quit
Vous trouverez alors le fichier ici:
.\steamapps\common\Steamworks SDK Redist\linux64
Seul le moteur HLDS est téléchargé
Lorsque vous essayez de télécharger un mod HL1 comme TFC, initialement, il ne télécharge que les fichiers du moteur du HLDS, mais pas le mod. Cela se produit à la fois avec la version régulière et la version bêta. Vous devrez peut-être essayer plusieurs fois jusqu’à ce que tous les fichiers requis soient téléchargés, mais une fois que cela est fait, les fichiers doivent être mis à jour correctement la prochaine fois.
Contourner ce problème ici : http://danielgibbs.co.uk/2017/10/hlds-steamcmd-workaround-appid-90-part-ii/
Il suffit de supprimer les fichiers appmanifest, sans télécharger les remplacements d’un tiers, peut fonctionner aussi bien! Vous obtiendrez une erreur au début, se plaignant que quelque chose s’est mal passé, ce qui est dû aux fichiers supprimés.
Merci de votez pour cet article :