Fr/SteamCMD: Difference between revisions

From Valve Developer Community
< Fr
Jump to navigation Jump to search
m (Page espagnol ajouté)
m (Windowss -> Windows)
Line 199: Line 199:
  steamcmd +runscript maj_css.txt
  steamcmd +runscript maj_css.txt


== Exemple en Batch pour Windowss ==
== Exemple en Batch pour Windows ==
<syntaxhighlight>
<syntaxhighlight>
::=======================::
::=======================::

Revision as of 13:04, 26 October 2015

Template:Otherlang2 Le client Steam console ou SteamCMD est le nouvel 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és sur le système de contenu SteamPipe . Tous les jeux Steam sont passés de HLDSUpdateTool à SteamCMD.

Téléchargement et lancement de SteamCMD

1. Télécharger l'outil SteamCMD

Si vous utilisez 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.pngNote:Ne pas extraire le contenu dans le même dossier que le client Steam ou HLDSUpdateTool.
  • Linux: tar -xvzf steamcmd_linux.tar.gz

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

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

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 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
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 ?]


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.

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 ?]

Template:Info

Server ID 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

Template:Astuce

Automatiser SteamCMD

Il y a deux façons d'automatiser SteamCMD. (remplacer steamcmd avec ./steamcmd.sh sous Linux)

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

1. Via des arguments en lancer steamcmd Pour CS:GO dans le dossier csgo/ du repertoire 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

Bibliothèques 32-bit sur distribution Linux 64-bit

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

Le message d'erreur correspond 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)

apt-get install ia32-libs

Si vous obtener le message suivant: 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.

entrer:

dpkg --add-architecture i386
apt-get update
apt-get install ia32-libs

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

yum install glibc.i686 libstdc++.i686

Arch Linux

N'oublier 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 trouver 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é 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ètr à 2048: ulimit -n 2048. Cette commande doit être exécuter 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 pour récupérer uniquement cette ligne d'entrer ulimit -a|grep "open files". "1024" est la valeur définis par le système.