Fr/SteamCMD: Difference between revisions

From Valve Developer Community
< Fr
Jump to navigation Jump to search
(Mise à jour de la traduction)
(Rewrite Template:Lang to Template:LanguageBar. This action was performed by a bot.)
 
(19 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{otherlang2
{{LanguageBar|title=SteamCMD|SteamCMD}}
|en=SteamCMD
Le '''client Steam console''' ou '''SteamCMD''' est l'outil de Valve permettant d'installer et de mettre à jour les serveurs dédiés en ligne de commande. C'est la manière la plus fiable et flexible de créer un serveur dédié, sous Windows ou Linux, mais elle nécessite quelques connaissances.
|nl=SteamCMD:nl
|pl=SteamCMD:pl
|ru=SteamCMD:ru
}}
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 ==
=Utilisation=
==Installation==


1. Télécharger l'outil SteamCMD
1. Télécharger l'outil SteamCMD
:* [http://media.steampowered.com/client/steamcmd_win32.zip Fichier .zip pour Windows]
:* Windows : https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
:* Linux: <code>wget http://media.steampowered.com/client/steamcmd_linux.tar.gz</code>
:* Linux : <code>wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz</code>
:: Si vous utilisé une distribution 64-bit, vous aurez à installer les bibliothéques 32-bit. Voir [[#32-bit libraries on 64-bit Linux systems|ici]] pour les installer.
:: Il est recommandé d'utiliser un utilisateur dédié à cet usage sous Linux. Des paquets sont à installer, voir https://developer.valvesoftware.com/wiki/SteamCMD#Linux .
2. Extraire le contenu dans un repertoire.
2. Extraire le contenu dans un repertoire dédié.
: {{Note|Ne pas extraire le contenu dans le même dossier que le client Steam ou HLDSUpdateTool.}}
:* Windows : Copier/coller le contenu depuis explorer, ou utiliser un extracteur comme 7zip.  
:* Linux: <code>tar -xvzf steamcmd_linux.tar.gz</code>
:* Linux : <code>tar -xvzf steamcmd_linux.tar.gz</code>
3. Lancer SteamCMD pour la première fois
3. Lancer SteamCMD pour la première fois
: Ouvrer une invite de commande dans ce répertoire et lancer SteamCMD
: Ouvrez une invite de commande dans ce répertoire et lancez SteamCMD
:* Windows: <code>steamcmd</code>
:* Windows: <code>steamcmd</code>
:* Linux: <code>./steamcmd.sh</code>
:* Linux: <code>./steamcmd.sh</code>
:: Il peut être nécessaire de rendre le script exécutable : <code>chmod +x steamcmd.sh</code>
''Le programme se mettra à jour et entrera dans une invite <code>Steam></code>. Entrer <code>help</code> pour obtenir les commandes et informations.''
''Le programme se mettra à jour et entrera dans une invite <code>Steam></code>. Entrer <code>help</code> pour obtenir les commandes et informations.''
4. Quitter SteamCMD (pour info)
: Entrez : <code>quit</code>


Pour la plus part des serveurs, vous aurez simplement besoin de vous connecter en anonyme
==Télécharger un serveur==
 
Il vous faut d'abord connaître l'APPID du serveur.
 
1. Connexion à Steam
Pour la plupart des serveurs, vous aurez simplement besoin de vous connecter en anonyme
  login anonymous
  login anonymous


Si la connexion en anonyme de fonctionne pas pour un jeu, vous aurez à vous connecter avec un compte Steam
Si la connexion en anonyme ne fonctionne pas pour un jeu, vous aurez à vous connecter avec un compte Steam
{{Note|Vous devez vous déconnecter du client Steam pour pouvoir vous connecter avec SteamCMD.}}
{{Note|Vous devez vous déconnecter du client Steam pour pouvoir vous connecter avec SteamCMD.}}
  login <username>
  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).
Entrer votre mot de passe. Vérifier ensuite vos mail pour votre code d'accès Steam Guard (Ou votre téléphone pour le 2FA) et entrez-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é.
Vous aurez ensuite un message vous indiquant que la connexion a été validée.


== Télécharger une application ==
2. Démarrez SteamCMD et définissez le répertoire d'installation de l'application. {{Note| Utilisez des slash sous Linux et des anti-slash sous Windows}}
 
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>
  force_install_dir <répertoire>
: Exemple: dossier <code>cs_go</code> dans le répertoire courant:
: Exemple: Dossier <code>cs_go</code> dans le répertoire courant:
  force_install_dir ./cs_go/
  force_install_dir ./cs_go/


2. Installer ou mettre à jour une application. L'<app_id> est l'[[Steam Application IDs|identifiant Steam Application]]. Pour valider le contenu de l'application, il suffit d'ajouter <code>validate</code> dans la commande. Pour participer au beta HLDS, ajouter <code>-beta beta</code> dans la commande. Pour participer au beta SRCDS, ajouter <code>-beta prerelease</code> dans la commande.
3. Installer ou mettre à jour une application. L'<app_id> est l'[[Steam Application IDs|identifiant Steam Application]]. Pour valider le contenu de l'application, il suffit d'ajouter <code>validate</code> dans la commande. Pour participer au beta HLDS, ajouter <code>-beta beta</code> dans la commande. Pour participer au beta SRCDS, ajouter <code>-beta prerelease</code> dans la commande.
  app_update <app_id>
  app_update <app_id>
: Exemple: installer et valider CS:GO:
: Exemple: installer et valider CS:GO:
Line 53: Line 55:
{{bug|Les mods HLDS requièrent l'installation de l'application 90, soit le serveur HLDS, pour pouvoir s'installer.}}
{{bug|Les mods HLDS requièrent l'installation de l'application 90, soit le serveur HLDS, pour pouvoir s'installer.}}


4. Une fois terminé, entrez <code>quit</code> pour vous déconnecter des serveurs Steam. Ne fermez jamais l'invite sans utiliser cette commande.


3. Une fois finit, entrer <code>quit</code> pour se déconnecter des serveurs Steam.
= Serveurs supportés =


=== Serveurs supporté ===
La liste la plus à jour [https://developer.valvesoftware.com/wiki/Dedicated_Servers_List est disponible ici].<br />
 
Voici une liste (non à jour) de serveurs compatible avec SteamCMD. Chaque commande listée dans la colonne <code>extra</code> est nécessaire avant la ligne <code>app_update</code>.
Ici est la liste des serveurs connus compatible avec steamCMD. Toutes command lister dans la colonne <code>extra</code> est nécessaire avant la ligne <code>app_update</code>.


{{bug|Les mods HLDS requièrent l'installation de l'application 90, soit le serveur HLDS, pour pouvoir s'installer.}}
{{bug|Les mods HLDS requièrent l'installation de l'application 90, soit le serveur HLDS, pour pouvoir s'installer.}}
Les extras sont nécessaires à ajouter lors de l'installation des serveurs de jeu où ils sont indiqués.


{|
{|
|-
|-
! Server
! Server
! scope="col" style="width: 7em" | ID
! scope="col" style="width: 7em" | APPID
! Extra
! Extra
|-
|-
| HLDS pour [[Half-Life]] '''et''' [[Counter-Strike]]
| HLDS pour [[Half-Life]]
| 90
|-
| [[Counter-Strike 1.6]] dedicated server
| 90
| 90
| +app_set_config "90 mod cstrike"
|-
|-
| [[Counter-Strike: Condition Zero]] dedicated server
| [[Counter-Strike: Condition Zero]] ''Beta'' dedicated server
| 90
| 90
| +app_set_config 90 mod czero
| +app_set_config "90 mod czero"
|-
|-
| [[Deathmatch Classic]] dedicated server
| [[Deathmatch Classic]] ''Beta'' dedicated server
| 90
| 90
| +app_set_config 90 mod dmc
| +app_set_config "90 mod dmc"
|-
|-
| [[Day of Defeat]] dedicated server
| [[Day of Defeat]] dedicated server
| 90
| 90
| +app_set_config 90 mod dod
| +app_set_config "90 mod dod"
|-
|-
| [[Half-Life: Opposing Force]] dedicated server
| [[Half-Life: Opposing Force]] ''Beta'' dedicated server
| 90
| 90
| +app_set_config 90 mod gearbox
| +app_set_config "90 mod gearbox"
|-
|-
| [[Ricochet]] dedicated server
| [[Ricochet]] ''Beta'' dedicated server
| 90
| 90
| +app_set_config 90 mod ricochet
| +app_set_config "90 mod ricochet"
|-
|-
| [[Team Fortress Classic]] dedicated server
| [[Team Fortress Classic]] ''Beta'' dedicated server
| 90
| 90
| +app_set_config 90 mod tfc
| +app_set_config "90 mod tfc"
|-
|-
| [[Counter-Strike: Global Offensive]] dedicated server
| [[Counter-Strike: Global Offensive]] dedicated server
| 740
| 740
|-
| [[The Ship]] dedicated server
| 2403
|-
|-
| [[Garry's Mod]] dedicated server
| [[Garry's Mod]] dedicated server
| 4020
| 4020
|-
| [[Natural Selection 2]] dedicated server
| 4940
|-
| [[Natural Selection 2]] ''Beta'' dedicated server
| 4940
| -beta beta
|-
| [[Serious Sam 3]] dedicated server
| 41080
|-
|-
| [[Nuclear Dawn]] dedicated server
| [[Nuclear Dawn]] dedicated server
| 111710
| 111710
|-
|-
| [[Red Orchestra: Ostfront 41-45]] dedicated server
| [[Red Orchestra: Ostfront 41-45]] Windows dedicated server
| 223240
| 223240
|-
|-
| [[Red Orchestra 2: Heroes of Stalingrad]] and [[Rising Storm]] dedicated server
| [[Red Orchestra: Ostfront 41-45]] Linux dedicated server
| 223250
|-
| [[Red Orchestra 2: Heroes of Stalingrad]] and [[Rising Storm]] Windows dedicated server
| 212542
| 212542
|-
|-
Line 115: Line 138:
| [[Killing Floor]] Linux dedicated server
| [[Killing Floor]] Linux dedicated server
| 215360
| 215360
|-
| [[Left 4 Dead 2]] dedicated server
| 222860
|-
|-
| [[Team Fortress 2]] dedicated server
| [[Team Fortress 2]] dedicated server
Line 128: Line 154:
| 232370
| 232370
|-
|-
| [[The Ship]] dedicated server
| [[Blade Symphony]] ''Beta'' dedicated server
| 2403
| 228780
|-
|-
| [[Serious Sam 3]] dedicated server
| Source SDK Base 2013 MP dedicated server
| 41080
| 244310
|}
|}


{{Astuce|Pour installer plusieurs mods, séparer les noms avec des <code>virgules</code>.
Astuce : Pour installer plusieurs mods, séparer les noms avec des <code>virgules</code>.
  <code>+app_set_config 90 mod czero,dod</code>.}}
  <code>+app_set_config 90 mod czero,dod</code>.
 
=Scripter SteamCMD=
== Généralités ==
 
L'idée est de créer un script automatisant les fonctions d'installation, de mise à jour, et de validation du serveur.
Pour ce faire, vous utiliserez le Batch sous Windows (.bat), ou le BASH sous Linux.
Vous pouvez simplement exécuter plusieurs commandes vues précédemment. Pour ce-faire, vous exécuterez SteamCMD (./steamcmd sous Linux, ou steamcmd sous Windows) avec cette syntaxe (en remplaçant ce qui se trouve entre crochets) :
+login anonymous +force_install_dir <dossier_cible> +app_update <APPID> validate +quit
 
Pour les serveurs nécessitant la possession du jeu, vous au lieu de "+login anonymous", la syntaxe est la suivante :
+login <username> <password>
 
Pour les beta, il faudra ajouter <code>"-beta beta"</code>. Example :
<code> +login anonymous +force_install_dir /home/hl1server/serverfiles +app_update "90 -beta beta validate +quit</code>
 
==Scripts communautaires==
===Linux Game Server Managers===
 
Linux est gâté avec [http://gameservermanagers.com/ Linux Game Server Managers] ! Il s'agit d'un outil en lignes de commande puissant, permettant une installation automatisée et simplifiée, ainsi que la gestion de vos serveurs de jeu. De nombreux jeux sont supportés. Il vous faudra néanmoins comprendre un minimum l'anglais.
 
'''Fonctionnalités'''
*Installeur (SteamCMD)
*De nombreux paramètres de démarrage (dont le support du workshop)
*Start/Stop/Restart du serveur
*Console
*Monitoring du serveur
*Mise à jour du serveur (SteamCMD)
*Backup
*Et bien d'autres...
 
[[File:Lgsm.png‎|right|thumb|170px|Linux Game Server Manager]]
 
'''Serveurs supportés'''
*ARMA 3
*BrainBread 2
*Black Mesa: Deathmatch
*Blade Symphony
*Codename CURE
*Counter Strike
*Counter Strike: Condition Zero
*Counter Strike: Global Offensive
*Counter Strike: Source
*Double Action: Boogaloo
*Deathmatch Classic
*Day of Defeat
*Day of Defeat: Source
*Don't Starve Together
*Fistful of Frags
*Garry's Mod
*Half-Life 2: Deathmatch
*Half-Life: Deathmatch Classic
*Half-Life Deathmatch: Source
*Hurtworld
*Insurgency
*Just Cause 2
*Killing Floor
*Left 4 Dead
*Left 4 Dead 2
*No More Room in Hell
*Natural Selection 2
*Opposing Force
*Red Orchestra: Ostfront 41-45
*Team Fortress Classic
*Team Fortress 2
*Team Fortress Classic
*7 Days to Die
* Et bien d'autres encore, et d'autres à venir...


== Automatiser SteamCMD ==
Liste complète et instructions :
http://gameservermanagers.com


There are two ways to automate SteamCMD. (replace <code>steamcmd</code> with <code>./steamcmd.sh</code> on Linux)
GitHub :
https://github.com/dgibbs64/linuxgsm


{{Note|When using beta on the command line, it must be quoted in a special way, such as +app_update "90 -beta beta"}}
Wiki :
https://github.com/dgibbs64/linuxgsm/wiki


1. Add commands to the command line. Examples:
Support :  
steamcmd +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit
https://steamcommunity.com/groups/linuxgsm/discussions


To install a specific game mod for HL1, such as Counter-Strike: Condition Zero:
==Windows==
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
===Créer son script===
steamcmd +login <username> <password> +force_install_dir c:\KFServer\ +app_update 215350 validate +quit


2. Create a script.
Il y a deux façons d'automatiser SteamCMD.
: a. Put your SteamCMD commands in a text file. Example:
 
{{Note|Pour les beta, il faut utiliser des guillemet
+app_update "90 -beta beta"}}
 
1. Avec les arguments de lancement de SteamCMD
Pour CS:GO dans le dossier csgo/ du répertoire courant (anonyme):
steamcmd +login anonymous +force_install_dir csgo/ +app_update 740 validate +quit
 
Pour installer un mod spécifique de HL1, comme Counter-Strike: Condition Zero:
steamcmd +login anonymous +force_install_dir czero/ +app_set_config 90 mod czero +app_update 90 validate +quit
 
Pour un jeu qui demande une authentification, comme Killing Floor:
steamcmd +login <username> <password> +force_install_dir KF/ +app_update 215350 validate +quit
 
2. Créer un script.
: a. Création des commandes dans un fichier texte. Exemple:
<syntaxhighlight>
<syntaxhighlight>
// update_csgo_ds.txt
// maj_css.txt
//
//
@ShutdownOnFailedCommand 1 //set to 0 if updating multiple servers at once
@ShutdownOnFailedCommand 1 //mettre à 0 si mise à jour de plusieurs serveurs
@NoPromptForPassword 1
@NoPromptForPassword 1
login <username> <password>
//login <username> <password>
//for servers which don't need a login
//for servers which don't need a login
//login anonymous  
login anonymous  
force_install_dir ../csgo_ds
force_install_dir css/
app_update 740 validate
app_update 232330 validate
quit
quit
</syntaxhighlight>
</syntaxhighlight>


: b. Run SteamCMD with the <code>+runscript</code> option. Example:
: b. Lancer SteamCMD avec l'argument <code>+runscript</code> . Exemple:
  steamcmd +runscript csgo_ds.txt
  steamcmd +runscript maj_css.txt


== Example Batch Code for Windows ==
===Exemple en Batch pour Windows===
<syntaxhighlight>
<syntaxhighlight>
::=======================::
::=======================::
Line 266: Line 375:
</syntaxhighlight>
</syntaxhighlight>


= Known issues =
= Problèmes connus =
== 32-bit libraries on 64-bit Linux systems ==
== Paquets manquants ==


Since steamcmd is a 32-bit program, a few 32-bit libraries are required, even if you already have their 64-bit versions installed.
SteamCMD étant un programme 32-bit, des bibliothèques 32-bit sont requises pour les système 64-bit, même si l'équivalent 64-bit est installé.


The related error message looks like this:<br/>
Le message d'erreur associé ressemble à celui-ci:<br/>
<code>steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory</code>
<code>steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory</code>


The remedies are distribution-specific:
Les solutions correspondantes pour chacune des distributions:
 
=== Debian and derivatives (Ubuntu, Mint) ===
 
apt-get install ia32-libs


If you get this error message:
=== Debian et dérivées (Ubuntu, Mint, etc) ===
<code>The following packages have unmet dependencies: ia32-libs : Depends: ia32-libs-multiarch but it is not installable<br/>E: Unable to correct problems, you have held broken packages.</code>


do the following:
En root, exécutez :
  dpkg --add-architecture i386
  dpkg --add-architecture i386
  apt-get update
  apt-get update
  apt-get install ia32-libs
  apt-get install lib32gcc1 libstdc++6 libstdc++6:i386


=== Red Hat and derivatives (RHEL, Fedora, CentOS) ===
=== Red Hat et dérivées (RHEL, Fedora, CentOS) ===


  yum install glibc.i686 libstdc++.i686
En root, exécutez :
  yum install glibc.i686 libstdc++ libstdc++.i686


=== Arch Linux ===
=== Arch Linux ===
Don't forget to first enable the [https://wiki.archlinux.org/index.php/Multilib multilib repository].
N'oubliez pas d'activer le [https://wiki.archlinux.org/index.php/Multilib dépôt multilib ].


  pacman -S lib32-gcc-libs
  pacman -S lib32-gcc-libs
Line 299: Line 404:
== Login Failure: No Connection ==
== 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:
Sur les serveurs Linux, il est possible d'obtenir l'erreur "Login Failure: No Connection". Cela peut être dû à un problème dans les règles iptables. Il est possible d'utiliser ces commandes pour permettre la connexion:
<syntaxhighlight>
<syntaxhighlight>
iptables -A INPUT -p udp -m udp --sport 27000:27030 --dport 1025:65355 -j ACCEPT
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
iptables -A INPUT -p udp -m udp --sport 4380 --dport 1025:65355 -j ACCEPT
</syntaxhighlight>
</syntaxhighlight>
The port list is found here: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=english
La liste des ports peut être trouvée ici: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=french


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.
Sur les serveurs Windows, il est possible d'obtenir "SteamUpdater: Error: Download failed: http error 0". Une solution possible est de cocher "Détecter les paramètres automatiquement" dans les options internet local.


== SteamCmd startup errors ==
== SteamCmd startup errors ==
=== Ulimit linux startup error ===
=== 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).
Certains utilisateurs peuvent obtenir une erreur ulimit (no permission/can not open file) quand le script démarre. Cette erreur est causée par l'argument '''-n''' trop bas d'ulimit. SteamCMD utilise des commandes standard de shell-script pour changer ulimit automatiquement, mais certains serveurs peuvent être protégé sur ce point (par l'administrateur/root).
It fixes only with changing ulimit parameter up to 2048: <code>ulimit -n 2048</code>. It may cause error (no permission), so you may need ask root-user to change parameter setting.
Il est possible de corriger cela en définissant ce paramètre à 2048: <code>ulimit -n 2048</code>. Cette commande doit être exécutée en administrateur/root.
To check your setting: type '''ulimit -a''', system will reply with many rows, you need to find one:
Pour vérifier ce paramètre, il est possible d'entrer '''ulimit -a''', le système répondra alors avec plusieurs lignes dont une:
  open files                      (-n) 1024
  open files                      (-n) 1024
"1024" is the value of setting in system.
Il est aussi possible de récupérer uniquement cette ligne en utilisant '''ulimit -a|grep "open files"'''.
"1024" est la valeur définie par le système.
 
{{Uncategorized|date=January 2024}}

Latest revision as of 17:54, 18 July 2025

English (en)Deutsch (de)Español (es)Français (fr)한국어 (ko)Nederlands (nl)Polski (pl)Português do Brasil (pt-br)Русский (ru)Türkçe (tr)中文 (zh)Translate (Translate)

Le client Steam console ou SteamCMD est l'outil de Valve permettant d'installer et de mettre à jour les serveurs dédiés en ligne de commande. C'est la manière la plus fiable et flexible de créer un serveur dédié, sous Windows ou Linux, mais elle nécessite quelques connaissances.

Utilisation

Installation

1. Télécharger l'outil SteamCMD

Il est recommandé d'utiliser un utilisateur dédié à cet usage sous Linux. Des paquets sont à installer, voir https://developer.valvesoftware.com/wiki/SteamCMD#Linux .

2. Extraire le contenu dans un repertoire dédié.

  • Windows : Copier/coller le contenu depuis explorer, ou utiliser un extracteur comme 7zip.
  • Linux : tar -xvzf steamcmd_linux.tar.gz

3. Lancer SteamCMD pour la première fois

Ouvrez une invite de commande dans ce répertoire et lancez SteamCMD
  • Windows: steamcmd
  • Linux: ./steamcmd.sh
Il peut être nécessaire de rendre le script exécutable : chmod +x steamcmd.sh

Le programme se mettra à jour et entrera dans une invite Steam>. Entrer help pour obtenir les commandes et informations. 4. Quitter SteamCMD (pour info)

Entrez : quit

Télécharger un serveur

Il vous faut d'abord connaître l'APPID du serveur.

1. Connexion à Steam Pour la plupart des serveurs, vous aurez simplement besoin de vous connecter en anonyme

login anonymous

Si la connexion en anonyme ne fonctionne pas pour un jeu, vous aurez à vous connecter avec un compte Steam

Note.pngNote:Vous devez vous déconnecter du client Steam pour pouvoir vous connecter avec SteamCMD.
login <username>

Entrer votre mot de passe. Vérifier ensuite vos mail pour votre code d'accès Steam Guard (Ou votre téléphone pour le 2FA) et entrez-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 a été validée.

2. Démarrez SteamCMD et définissez le répertoire d'installation de l'application.

Note.pngNote: Utilisez 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/

3. 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
Icon-Bug.pngTemplate:Dictionary/Bug/fr:Les mods HLDS requièrent l'installation de l'application 90, soit le serveur HLDS, pour pouvoir s'installer.  [todo tested in ?]

4. Une fois terminé, entrez quit pour vous déconnecter des serveurs Steam. Ne fermez jamais l'invite sans utiliser cette commande.

Serveurs supportés

La liste la plus à jour est disponible ici.
Voici une liste (non à jour) de serveurs compatible avec SteamCMD. Chaque commande listée dans la colonne extra est nécessaire avant la ligne app_update.

Icon-Bug.pngTemplate:Dictionary/Bug/fr:Les mods HLDS requièrent l'installation de l'application 90, soit le serveur HLDS, pour pouvoir s'installer.  [todo tested in ?]

Les extras sont nécessaires à ajouter lors de l'installation des serveurs de jeu où ils sont indiqués.

Server APPID Extra
HLDS pour Half-Life 90
Counter-Strike 1.6 dedicated server 90 +app_set_config "90 mod cstrike"
Counter-Strike: Condition Zero Beta dedicated server 90 +app_set_config "90 mod czero"
Deathmatch Classic Beta 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 Beta dedicated server 90 +app_set_config "90 mod gearbox"
Ricochet Beta dedicated server 90 +app_set_config "90 mod ricochet"
Team Fortress Classic Beta dedicated server 90 +app_set_config "90 mod tfc"
Counter-Strike: Global Offensive dedicated server 740
The Ship dedicated server 2403
Garry's Mod dedicated server 4020
Natural Selection 2 dedicated server 4940
Natural Selection 2 Beta dedicated server 4940 -beta beta
Serious Sam 3 dedicated server 41080
Nuclear Dawn dedicated server 111710
Red Orchestra: Ostfront 41-45 Windows dedicated server 223240
Red Orchestra: Ostfront 41-45 Linux dedicated server 223250
Red Orchestra 2: Heroes of Stalingrad and Rising Storm Windows dedicated server 212542
Killing Floor Windows dedicated server 215350
Killing Floor Linux dedicated server 215360
Left 4 Dead 2 dedicated server 222860
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
Blade Symphony Beta dedicated server 228780
Source SDK Base 2013 MP dedicated server 244310

Astuce : Pour installer plusieurs mods, séparer les noms avec des virgules.

+app_set_config 90 mod czero,dod.

Scripter SteamCMD

Généralités

L'idée est de créer un script automatisant les fonctions d'installation, de mise à jour, et de validation du serveur. Pour ce faire, vous utiliserez le Batch sous Windows (.bat), ou le BASH sous Linux. Vous pouvez simplement exécuter plusieurs commandes vues précédemment. Pour ce-faire, vous exécuterez SteamCMD (./steamcmd sous Linux, ou steamcmd sous Windows) avec cette syntaxe (en remplaçant ce qui se trouve entre crochets) :

+login anonymous +force_install_dir <dossier_cible> +app_update <APPID> validate +quit

Pour les serveurs nécessitant la possession du jeu, vous au lieu de "+login anonymous", la syntaxe est la suivante :

+login <username> <password>

Pour les beta, il faudra ajouter "-beta beta". Example : +login anonymous +force_install_dir /home/hl1server/serverfiles +app_update "90 -beta beta validate +quit

Scripts communautaires

Linux Game Server Managers

Linux est gâté avec Linux Game Server Managers ! Il s'agit d'un outil en lignes de commande puissant, permettant une installation automatisée et simplifiée, ainsi que la gestion de vos serveurs de jeu. De nombreux jeux sont supportés. Il vous faudra néanmoins comprendre un minimum l'anglais.

Fonctionnalités

  • Installeur (SteamCMD)
  • De nombreux paramètres de démarrage (dont le support du workshop)
  • Start/Stop/Restart du serveur
  • Console
  • Monitoring du serveur
  • Mise à jour du serveur (SteamCMD)
  • Backup
  • Et bien d'autres...
Linux Game Server Manager

Serveurs supportés

  • ARMA 3
  • BrainBread 2
  • Black Mesa: Deathmatch
  • Blade Symphony
  • Codename CURE
  • Counter Strike
  • Counter Strike: Condition Zero
  • Counter Strike: Global Offensive
  • Counter Strike: Source
  • Double Action: Boogaloo
  • Deathmatch Classic
  • Day of Defeat
  • Day of Defeat: Source
  • Don't Starve Together
  • Fistful of Frags
  • Garry's Mod
  • Half-Life 2: Deathmatch
  • Half-Life: Deathmatch Classic
  • Half-Life Deathmatch: Source
  • Hurtworld
  • Insurgency
  • Just Cause 2
  • Killing Floor
  • Left 4 Dead
  • Left 4 Dead 2
  • No More Room in Hell
  • Natural Selection 2
  • Opposing Force
  • Red Orchestra: Ostfront 41-45
  • Team Fortress Classic
  • Team Fortress 2
  • Team Fortress Classic
  • 7 Days to Die
  • Et bien d'autres encore, et d'autres à venir...

Liste complète et instructions : http://gameservermanagers.com

GitHub : https://github.com/dgibbs64/linuxgsm

Wiki : https://github.com/dgibbs64/linuxgsm/wiki

Support : https://steamcommunity.com/groups/linuxgsm/discussions

Windows

Créer son script

Il y a deux façons d'automatiser SteamCMD.

Note.pngNote:Pour les beta, il faut utiliser des guillemet +app_update "90 -beta beta"

1. Avec les arguments de lancement de SteamCMD Pour CS:GO dans le dossier csgo/ du répertoire courant (anonyme):

steamcmd +login anonymous +force_install_dir csgo/ +app_update 740 validate +quit

Pour installer un mod spécifique de HL1, comme Counter-Strike: Condition Zero:

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

Pour un jeu qui demande une authentification, comme Killing Floor:

steamcmd +login <username> <password> +force_install_dir KF/ +app_update 215350 validate +quit

2. Créer un script.

a. Création des commandes dans un fichier texte. Exemple:
// maj_css.txt
//
@ShutdownOnFailedCommand 1 //mettre à 0 si mise à jour de plusieurs serveurs
@NoPromptForPassword 1
//login <username> <password>
//for servers which don't need a login
login anonymous 
force_install_dir css/
app_update 232330 validate
quit
b. Lancer SteamCMD avec l'argument +runscript . Exemple:
steamcmd +runscript maj_css.txt

Exemple en Batch pour 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

Problèmes connus

Paquets manquants

SteamCMD étant un programme 32-bit, des bibliothèques 32-bit sont requises pour les système 64-bit, même si l'équivalent 64-bit est installé.

Le message d'erreur associé ressemble à celui-ci:
steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Les solutions correspondantes pour chacune des distributions:

Debian et dérivées (Ubuntu, Mint, etc)

En root, exécutez :

dpkg --add-architecture i386
apt-get update
apt-get install lib32gcc1 libstdc++6 libstdc++6:i386

Red Hat et dérivées (RHEL, Fedora, CentOS)

En root, exécutez :

yum install glibc.i686 libstdc++ libstdc++.i686

Arch Linux

N'oubliez pas d'activer le dépôt multilib .

pacman -S lib32-gcc-libs

Login Failure: No Connection

Sur les serveurs Linux, il est possible d'obtenir l'erreur "Login Failure: No Connection". Cela peut être dû à un problème dans les règles iptables. Il est possible d'utiliser ces commandes pour permettre la connexion:

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 peut être trouvée ici: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=french

Sur les serveurs Windows, il est possible d'obtenir "SteamUpdater: Error: Download failed: http error 0". Une solution possible est de cocher "Détecter les paramètres automatiquement" dans les options internet local.

SteamCmd startup errors

Ulimit linux startup error

Certains utilisateurs peuvent obtenir une erreur ulimit (no permission/can not open file) quand le script démarre. Cette erreur est causée par l'argument -n trop bas d'ulimit. SteamCMD utilise des commandes standard de shell-script pour changer ulimit automatiquement, mais certains serveurs peuvent être protégé sur ce point (par l'administrateur/root). Il est possible de corriger cela en définissant ce paramètre à 2048: ulimit -n 2048. Cette commande doit être exécutée en administrateur/root. Pour vérifier ce paramètre, il est possible d'entrer ulimit -a, le système répondra alors avec plusieurs lignes dont une:

open files                      (-n) 1024

Il est aussi possible de récupérer uniquement cette ligne en utilisant ulimit -a|grep "open files". "1024" est la valeur définie par le système.

Wikipedia - Letter.png
This article has not been added to any content Wikipedia icon categories. Please help out by Wikipedia icon adding categories.
January 2024