Utilisation de SteamCMD : installation, commandes, automatisation et erreurs

Dernière mise à jour: 15/10/2025
Auteur: Isaac
  • SteamCMD gère l'installation et la mise à jour des serveurs dédiés avec SteamPipe et remplace l'ancien HLDSUpdateTool.
  • Permet l'authentification anonyme ou par compte, prend en charge les branches bêta et la validation des fichiers pour garantir l'intégrité.
  • Prend en charge l'automatisation CLI et script, ainsi que téléchargements croisé avec @sSteamCmdForcePlatformType.
  • Inclut des correctifs pour les bogues courants (bibliothèques 32 bits, connexion, ulimit) et des utilitaires comme LGSM et SteamCMD GUI.

Guide de l'utilisateur de SteamCMD et des serveurs dédiés

Si vous souhaitez configurer ou gérer des serveurs de jeu dédiés utilisant l'infrastructure de Valve, vous tomberez tôt ou tard sur SteamCMD. Cet utilitaire est la version en ligne de commandes du client de Steam et est devenu l'outil standard pour le téléchargement, l'installation et la mise à jour des serveurs. Depuis que SteamPipe a remplacé l'ancien HLDSUpdateTool, pratiquement tous les titres qui prennent en charge les serveurs dédiés passent par ici.

Dans ce guide complet, j'explique, en détail, comment télécharger SteamCMD en Windows, Linux et macOS, comment exécuter des commandes de base et avancées, se connecter (de manière anonyme ou avec un compte), installer et valider des serveurs, automatiser des tâches avec des scripts, forcer les téléchargements multiplateformes et comment résoudre les erreurs courantes. De plus, j'intègre un cas pratique avec Palworld et je passe en revue les utilitaires et scripts externes qui vous simplifient la vie.

Qu'est-ce que SteamCMD et à quoi sert-il ?

Qu'est-ce que SteamCMD

SteamCMD est la console cliente de Steam : une application sans interface graphique qui comprend les commandes textuelles. Sa fonction principale est d'installer et de mettre à jour les applications et les serveurs dédiés utilisant le système de distribution de contenu SteamPipe. Tous les jeux qui utilisaient auparavant HLDSUpdateTool ont migré vers SteamCMD, c'est donc le moyen officiel et pris en charge par Valve pour gérer les serveurs.

Téléchargez et installez SteamCMD

Le processus varie en fonction du système d’exploitation, mais il est toujours simple. Créez d’abord un répertoire spécifique pour SteamCMD et travailler à partir de là pour garder tout organisé.

Windows

Sous Windows, préparez simplement un dossier, téléchargez le ZIP officiel et extrayez-le. Un exemple de chemin pratique est C:\\steamcmd.

1) Crea la carpeta, por ejemplo: C:\steamcmd
2) Descarga: http://media.steampowered.com/installer/steamcmd.zip
3) Extrae el ZIP dentro de C:\steamcmd

Linux

Sous Linux, il est conseillé d'installer d'abord les bibliothèques 32 bits, car SteamCMD est un binaire 32 bits. Les packages spécifiques dépendent de la distribution..

Ubuntu/Debian 64-bit:
apt-get install lib32gcc1

RedHat/CentOS:
yum install glibc libstdc++

RedHat/CentOS 64-bit:
yum install glibc.i686 libstdc++.i686

Il est fortement recommandé de créer un utilisateur dédié (par exemple, « steam ») pour installer et exécuter les serveurs. Ne lancez pas SteamCMD comme racine; est inutile et peut entraîner des problèmes d'autorisation.

# Como root, crea un usuario y su home (o usa sudo)
useradd -m steam
su - steam

# Crea el directorio de trabajo y entra en él
mkdir ~/steamcmd
cd ~/steamcmd

# Descarga y extrae SteamCMD
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

macOS (OS X)

Sur macOS, le flux est similaire : dossier, télécharger et extraire depuis terminal. Utilisez curl pour afficher le programme d'installation.

mkdir ~/steamcmd
cd ~/steamcmd
curl -O http://media.steampowered.com/client/installer/steamcmd_osx.tar.gz
tar -xvzf steamcmd_osx.tar.gz

Comment exécuter SteamCMD

Au premier Botte L'outil se met à jour et vous laisse à l'invite Steam>. Tapez help pour voir les commandes disponibles et commencez à prendre vos repères.

Windows

Depuis la console Windows, accédez au dossier dans lequel vous l’avez décompressé et exécutez-le. Les commandes de base sont simples:

cd C:\steamcmd
steamcmd

Linux et macOS

Dans les systèmes de types Unix, entrez dans le répertoire de travail et lancez le scénario. N'oubliez pas d'utiliser ./ devant l'exécutable:

cd ~/steamcmd
./steamcmd.sh

Connexion SteamCMD

SteamCMD vous permet de vous connecter de deux manières : de manière anonyme ou avec les identifiants Steam. Beaucoup applications depuis le serveur sont téléchargés en mode anonyme, Mais pas tout.

accès anonyme

Pour les serveurs qui le permettent, le plus rapide est : connexion anonyme.

login anonymous

Connectez-vous avec votre compte Steam

Certains serveurs nécessitent une authentification et, parfois, un achat de jeu. Dans ces cas, connectez-vous avec votre nom d'utilisateur. Pour des raisons de sécurité, il est recommandé de créer un compte secondaire uniquement pour les serveurs. et évitez d'utiliser votre compte personnel pour des jeux.

login <tu_usuario>

Saisissez votre mot de passe lorsque vous y êtes invité. Si vous utilisez Steam Guard, vous recevrez un code par e-mail et devrez le saisir la première fois (ou si vous supprimez les fichiers où SteamCMD enregistre vos informations de connexion). Veuillez noter qu'un compte ne peut être connecté qu'à un seul endroit à la fois., soit dans le client graphique, soit dans SteamCMD.

  Activision inclut la possibilité de désactiver le jeu croisé dans Call of Duty pour les consoles

Installation et mise à jour des serveurs avec SteamCMD

Le flux typique est le suivant : connectez-vous, choisissez le dossier d’installation et utilisez app_update avec l’ID de l’application. Vous pouvez également valider les fichiers et choisir des branches bêta. s'ils sont disponibles.

Tout d’abord, définissez le répertoire de destination (barre oblique normale sous Linux/macOS et barre oblique inverse sous Windows) : force_install_dir

# Ejemplo: subcarpeta "cs_go" en el directorio actual
force_install_dir ./cs_go/

Exécutez ensuite l'installation ou la mise à jour avec app_update. Vous pouvez ajouter validate pour vérifier l'intégrité, et -beta avec -betapassword si vous avez besoin d'une branche protégée. La syntaxe générale est la suivante:

app_update <app_id> [-beta <rama_beta>] [-betapassword <clave>] [validate]

HLDS est un cas particulier : son App ID est toujours 90 et vous devez sélectionner le mod avec app_set_config avant la mise à jour. Le paramètre à définir est mod:

app_set_config <app_id> <opcion> <valor>

Quelques exemples pratiques largement utilisés. CS:GO dédié:

app_update 740 validate

HLDS avec Team Fortress Classic:

app_set_config 90 mod tfc
app_update 90 validate

Veuillez noter que HLDS (appid 90) peut nécessiter l'exécution de app_update plusieurs fois jusqu'à ce qu'il télécharge tous les fichiers nécessaires. Répétez app_update 90 validate jusqu'à ce qu'il n'y ait plus de mises à jour..

HLDS (Half-Life) en version bêta:

app_update 90 -beta beta validate

Counter-Strike : Source dédiée (branche de pré-version):

app_update 232330 -beta prerelease validate

Natural Selection 2 dédié en bêta privée (branche « alpha », code « natsel »):

app_update 4940 -beta alpha -betapassword natsel validate

Lorsque vous avez terminé, déconnectez-vous correctement avec : quitter.

quit

validation de fichier

Le commutateur de validation force une vérification que tous les fichiers correspondent aux fichiers officiels. C'est utile si vous soupçonnez qu'il y a fichiers corrompus o faltantes après un échec.

Remarque : la validation écrase les fichiers modifiés par rapport à l'état par défaut. Si vous avez personnalisé, par exemple, mapcycle.txtLa version originale sera restaurée. Les fichiers ne faisant pas partie de l'installation par défaut ne seront pas modifiés.

Automatiser SteamCMD

Vous pouvez automatiser des tâches en concaténant des commandes sur la ligne de commande ou via des scripts avec +runscript. Sous Linux et macOS, remplacez steamcmd par ./steamcmd.sh dans les exemples.

Depuis la ligne de commande

Pour enchaîner plusieurs actions, précédez chaque instruction d'un +. Les branches bêta de la CLI présentent une particularité : doit être placé entre guillemets spéciaux si transmis dans app_update.

Exemple pour CS:GO dédié avec chemin d'installation personnalisé : avec connexion anonyme

steamcmd +login anonymous +force_install_dir ../csgo_ds +app_update 740 +quit

Pour installer un mod HL1 comme Condition Zero, n'oubliez pas d'épingler le mod au préalable : utiliser app_set_config 90 mod czero

steamcmd +login anonymous +force_install_dir ../czero +app_set_config 90 mod czero +app_update 90 +quit

Si le jeu nécessite une connexion, transmettez le nom d'utilisateur et le mot de passe dans l'ordre : exemple avec Killing Floor

steamcmd +login <usuario> <contraseña> +force_install_dir c:\KFServer\ +app_update 215350 +quit

Sur les branches bêta de la CLI, essayez des formats tels que : +app_update « 90 -bêta bêta » ou bien « +app_update 90 -beta bêta » si le premier ne fonctionne pas.

  Comment télécharger Angry Birds 2 en toute sécurité et facilement

Avec un script

Placez vos commandes SteamCMD dans un fichier texte et exécutez-les avec +runscript. Vous pouvez ajouter des commentaires avec // dans le script lui-même.

steamcmd +runscript csgo_ds.txt

Téléchargement multiplateforme

SteamCMD vous permet de forcer la plateforme cible avec la variable @sSteamCmdForcePlatformType. Les valeurs prises en charge incluent Windows, macOS et Linux. Oui, la variable commence par deux lettres s : @sSteamCmd…

# Ejemplo: descargar el servidor dedicado de CS:GO para Windows desde Linux
./steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit

Logiciels et utilitaires pour Windows

Il existe des outils qui agissent comme un pont ou une interface sur SteamCMD. Certains des plus utilisés dans Windows sont:

  • condenseur:bootstrapper pour l'installation, la configuration et le lancement de serveurs Steam dédiés.
  • Interface graphique SteamCMDInterface graphique pour utiliser SteamCMD sans commandes. Dépôt : https://github.com/DioJoestar/SteamCMD-GUI
  • SteamCMD Guardian 1.2: utilitaires et scripts ; télécharger sur : http://pastebin.com/BRUbsGQh

Scripts utiles pour Linux

Si vous travaillez sous Linux, il existe des projets qui automatisent la gestion des serveurs. Points forts des gestionnaires de serveurs de jeux Linux (LGSM), un ensemble de scripts CLI permettant de déployer et de gérer rapidement des serveurs.

Parmi ses fonctions : Installateur SteamCMD, démarrer/arrêter/redémarrer, mettre à jour, surveiller avec alertes par e-mail, sauvegardes et console serveur.

LGSM prend en charge une grande variété de jeux, tels que ARMA 3, Blade Symphony, Counter-Strike (diverses éditions), Day of Defeat, Fistful of Frags, Garry's Mod, Half-Life DM Classic, HL2 DM, Insurgency, Just Cause 2, Killing Floor, Left 4 Dead (1 et 2), No More Room in Hell, Natural Selection 2, Red Orchestra: Ostfront 41-45, Team Fortress (diverses éditions), entre autres.

Plus d'informations et liste complète : http://danielgibbs.co.uk/lgsm — dépôt sur GitHub : https://github.com/dgibbs64/linuxgameservers

Il existe également un script appelé SteamCMD Guardian 1.2Testé sur Debian Wheezy. Vous pouvez le consulter et le télécharger à l'adresse : http://pastebin.com/hcpMpmaZ

Installation typique (session sous un utilisateur dédié, par exemple steam) : créer le fichier et le modifier

  1. Créer le fichier: nano updateserver.sh
  2. Collez le code fourni.
  3. Ajustez le contenu et ajoutez au moins un jeu dans les lignes DL_SV*=.
  4. Économisez avec Ctrl + A, presser Entrer et sortir avec Ctrl + X.
  5. Accorder les autorisations d'exécution : chmod u+x ./updateserver.sh
  6. Courir: ./updateserver.sh

Ce script téléchargera SteamCMD s'il ne l'est pas déjà, le mettra à jour et installera les serveurs choisis (jusqu'à 4 à la fois). Lorsqu'il est relancé, il met à jour les jeux déjà installés. automatiquement

Erreurs courantes et comment les corriger

Comme pour tout outil, il existe des incidents typiques qu’il convient de noter. Voici les plus courants et leurs solutions.

ERREUR ! Échec de l'installation de l'application « xxxxxx » (pas d'abonnement)

Ce message indique que le serveur que vous essayez de télécharger nécessite une connexion ou que vous avez acheté le jeu. Essayez de vous connecter avec un compte Steam et, si cela ne fonctionne pas, achetez le jeu. Pour plus de sécurité, créez un compte spécifique pour les serveurs dédiés et évitez d'utiliser le personnel.

Bibliothèques 32 bits sur Linux 64 bits

SteamCMD étant 32 bits, il nécessite des bibliothèques équivalentes. L'erreur typique est : libstdc++.so.6 : impossible d'ouvrir le fichier objet partagé. Installez les packages appropriés à votre distribution.

Debian/Ubuntu (y derivadas):
apt-get install lib32gcc1
# Nota: no hace falta ia32-libs; lib32gcc1 basta.
# En Debian 7 "Wheezy" puedes toparte con dependencias no satisfechas para ia32-libs.

Red Hat/Fedora/CentOS:
yum install glibc.i686 libstdc++.i686

Arch Linux (activa multilib primero):
pacman -S lib32-gcc-libs

Échec de la connexion : aucune connexion

Sous Linux, certains serveurs nécessitent des règles iptables appropriées pour que la connexion fonctionne. Vérifiez les ports à l'adresse suivante : https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=english et ajoute les règles nécessaires.

Sous Windows, si vous voyez des erreurs telles que « SteamUpdater : Erreur : Échec du téléchargement : erreur http 0 » ou « Steam doit être en ligne pour effectuer la mise à jour », cela peut généralement être corrigé en activant la détection automatique dans Internet Explorer (Options Internet > Connexions > Paramètres LAN). Mesures:

  1. Ouvrez Internet Explorer.
  2. Outils → Options Internet.
  3. Onglet Connexions.
  4. Sous Paramètres du réseau local (LAN), appuyez sur Paramètres.
  5. Marque "Détecter automatiquement les paramètres«.
  6. Acceptez et appliquez. Si le problème persiste, réduisez le niveau de sécurité à moyen ou inférieur.
  Réparation d'erreurs et boucle d'analyse dans Battle.Net

Erreurs de démarrage de SteamCMD

Sous Linux, vous pouvez voir : [S_API FAIL] SteamAPI_Init() a échoué ; impossible de localiser une instance en cours d'exécution de Steam ou un fichier steamclient.dll local. Solution : liez steamclient.so à ~/.steam/sdk32/steamclient.so.

ln -s steamcmd/linux32/steamclient.so ~/.steam/sdk32/steamclient.so

Certains scripts affichent une erreur avec ulimit au démarrage (pas d'autorisation/impossible d'ouvrir le fichier), causée par une limite de descripteur de fichier faible (-n). Augmentez-le à une valeur raisonnable:

ulimit -n 2048
# Comprueba con: ulimit -a  (busca: open files (-n) 1024)

Si vous n'avez pas les autorisations, connectez-vous en tant que root pour le modifier ou l'éditer /etc/security/limits.confDans de nombreux cas, vous ne verrez qu'un avertissement et SteamCMD continuera de fonctionner.

Seul le moteur HLDS est téléchargé

Lorsque vous essayez de télécharger un mod HL1 (comme TFC), il est normal que seuls les fichiers du moteur apparaissent d'abord. Exécutez app_update plusieurs fois jusqu'à ce que tout soit téléchargé. Il existe une solution de contournement documentée ici: http://danielgibbs.co.uk/2013/11/hlds-steamcmd-workaround-appid-90/

Une autre option consiste à supprimer l'appmanifest et à laisser SteamCMD le régénérer. Vous verrez d'abord une erreur, mais elle disparaît généralement. Veuillez noter que CS est parfois également installé. même si tu ne le demandes pas.

Étude de cas : serveur dédié Palworld sous Windows

Sur une machine Windows, vous pouvez déployer le serveur Palworld avec SteamCMD assez simplement. Cela fonctionne en se connectant de manière anonyme et en utilisant l'ID d'application approprié.

Installation de base : exécutez SteamCMD.exe (laissez le répertoire par défaut pour plus de simplicité ; il installera les propres applications Steam de SteamCMD) et collez cette commande : téléchargera et validera PalServer

login anonymous +app_update 2394010 validate +quit

Les fichiers seront stockés à : …/SteamCMD/steamapps/common/PalServerVous avez là PalServer.exe ; vous pouvez l'exécuter tel quel, mais sans configuration, vous ne pourrez pas vous connecter. Démarrez-le une fois pour générer la configuration et fermez-le.

Accédez à Pal > Enregistré > Configuration > Serveur Windows et ouvrez le fichier PalWorldSettings.ini. S'il n'existe pas, créez-le après avoir exécuté le serveur une fois. Collez la ligne suivante sur une seule ligne (sans sauts ni espaces supplémentaires) et remplacez les valeurs marquées par les vôtres :

[/Script/Pal.PalGameWorldSettings]OptionSettings=(Difficulty=None,DayTimeSpeedRate=1.000000,NightTimeSpeedRate=1.000000,ExpRate=1.000000,PalCaptureRate=1.000000,PalSpawnNumRate=1.000000,PalDamageRateAttack=1.000000,PalDamageRateDefense=1.000000,PlayerDamageRateAttack=1.000000,PlayerDamageRateDefense=1.000000,PlayerStomachDecreaceRate=1.000000,PlayerStaminaDecreaceRate=1.000000,PlayerAutoHPRegeneRate=1.000000,PlayerAutoHpRegeneRateInSleep=1.000000,PalStomachDecreaceRate=1.000000,PalStaminaDecreaceRate=1.000000,PalAutoHPRegeneRate=1.000000,PalAutoHpRegeneRateInSleep=1.000000,BuildObjectDamageRate=1.000000,BuildObjectDeteriorationDamageRate=1.000000,CollectionDropRate=1.000000,CollectionObjectHpRate=1.000000,CollectionObjectRespawnSpeedRate=1.000000,EnemyDropItemRate=1.000000,DeathPenalty=All,bEnablePlayerToPlayerDamage=False,bEnableFriendlyFire=False,bEnableInvaderEnemy=True,bActiveUNKO=False,bEnableAimAssistPad=True,bEnableAimAssistKeyboard=False,DropItemMaxNum=3000,DropItemMaxNum_UNKO=100,BaseCampMaxNum=128,BaseCampWorkerMaxNum=15,DropItemAliveMaxHours=1.000000,bAutoResetGuildNoOnlinePlayers=False,AutoResetGuildTimeNoOnlinePlayers=72.000000,GuildPlayerMaxNum=20,PalEggDefaultHatchingTime=72.000000,WorkSpeedRate=1.000000,bIsMultiplay=False,bIsPvP=False,bCanPickupOtherGuildDeathPenaltyDrop=False,bEnableNonLoginPenalty=True,bEnableFastTravel=True,bIsStartLocationSelectByMap=True,bExistPlayerAfterLogout=False,bEnableDefenseOtherGuildPlayer=False,CoopPlayerMaxNum=4,ServerPlayerMaxNum=32,ServerName="xxxx",ServerDescription="",AdminPassword="",ServerPassword="",PublicPort=8211,PublicIP="xx.xxx.xxx.xxx",RCONEnabled=False,RCONPort=25575,Region="",bUseAuth=True,BanListURL="https://api.palworldgame.com/api/banlist.txt")

Personnaliser: Nom du serveur (nom visible), IP publique (votre IPv4 publique : recherchez-la dans Google avec « Quelle est mon adresse IP ? » et les mots de passe si vous le souhaitez. Conservez le port 8211, sauf si vous avez une raison de le modifier. Ouvrir et rediriger dans votre toupie ports 8211 et 27015.

Si votre routeur demande un hôte interne, utilisez votre IP privée (ipconfig dans CMD, prend IPv4). Assurez-vous d'enregistrer le fichier INI avec le serveur arrêté. Démarrez PalServer.exe et connectez-vous en utilisant votre IP publique avec le port sur le client : format xxx.xxx.xxx.xxx:8211.

Cette procédure a fonctionné pour la personne qui l'a partagée et devrait être valable pour d'autres environnements. N'oubliez pas de vérifier le pare-feu du système et du routeur. si vous ne pouvez pas le rendre visible de l'extérieur.