Es/SteamCMD

El SteamCMD (también conocido como consola del cliente de Steam) es una versión de comandos del cliente de Steam. Su uso principal es instalar varios servidores dedciados con una interfaz de líneas de comando. Funciona con juegos que utilicen un sistema de contenido SteamPipe. Todos los juegos han migrado su antiguo sistema HLDSUpdateTool a SteamCMD.
== Descargar SteamCMD ==
=== Windows ===
1. Crea una carpeta para SteamCMD.
Por ejemplo
 C:\steamcmd
2. Descarga SteamCMD para Windows: http://media.steampowered.com/installer/steamcmd.zip
3. Extrae el archivo ZIP en una carpeta.
=== Linux ===
1. Primero instala las dependencias necesarias para ejecutar SteamCMD.
Ubuntu/Debian 64-Bit
 apt-get install lib32gcc1
RedHat/CentOS
 yum install glibc libstdc++
RedHat/CentOS 64-Bit
 yum install glibc.i686 libstdc++.i686
2. Como root, crea una carpeta para SteamCMD e indentifícate.
 useradd -m steam
 su - steam
(Si prefieres utilizar sudo, ejecuta lo anterior con el prefijo sudo.)
3. Crea un directorio para SteamCMD y cámbialo ahí.
 mkdir ~/steamcmd
 cd ~/steamcmd
3. Descarga SteamCMD para Linux.
 wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
4. Extrae el contenido al directorio.
 tar -xvzf steamcmd_linux.tar.gz
=== OS X ===
1. Abre Terminal.app y crea un directorio para SteamCMD.
 mkdir ~/steamcmd
 cd ~/steamcmd
2. Descarga SteamCMD para OS X.
 curl -O http://media.steampowered.com/client/installer/steamcmd_osx.tar.gz
3. Extrae el contenido en el directorio.
 tar -xvzf steamcmd_osx.tar.gz
== Ejecutar SteamCMD ==
La primera vez se actualizará automáticamente y enter you in to a Steam> prompt. Escribe help para más información.
=== Windows ===
Abre la consola de comandos e inicia SteamCMD.
 cd C:\steamcmd
 steamcmd
=== Linux/OS X ===
Abre un terminal e inicia SteamCMD.
 cd ~/steamcmd
 ./steamcmd.sh
== Identificación de SteamCMD ==
=== Anónimo ===
Para descargar la mayoría de servidores de juegos puede hacerlo anónimamente.
 login anonymous
=== Con tu cuenta de Steam ===
Algunos servidores necesitan una cuenta de Steam.
 login <username>
A continuación introduce tu contraseña.
If Steam Guard is activated on the user account, check your e-mail for a Steam Guard access code and enter it. This is only required the first time you log in (as well as when you delete the files where SteamCMD stores the login information).
You should see a message stating that you have successfully logged in with your account.
== Descargar una aplicación ==
1. Inicia SteamCMD e identifícate.
2. Establece tu directorio de aplicación. (Nota: use forward slashes for Linux/OS X and backslashes for Windows.)
 force_install_dir <path>
por ejemplo: un directorio llamado cs_go dentro del directorio actual:
 force_install_dir ./cs_go/
3. Install or update the app using the app_update command (supplying a Steam Application ID). To also validate the app, add validate to the command. To download a beta branch, use the -beta <betaname> option – for example, the HLDS beta branch is named beta and the SrcDS beta branch is named prerelease. Some beta branches are protected by a password; to be able to download from them, also add the -betapassword <password> option.
 app_update <app_id> [-beta <betaname>] [-betapassword <password>] [validate]
HLDS is a special case: the App ID is always 90 and a mod must be chosen first. This is done by setting the app config option mod to the requested value.
 app_set_config <app_id> <option_name> <option_value>
: Example: Install and validate the Counter Strike: Global Offensive dedicated server:
 app_update 740 validate
: Example: Install and validate HLDS with Team Fortress Classic:
 app_set_config 90 mod tfc
 app_update 90 validate
: Example: Install and validate beta version of HLDS (Half-Life):
 app_update 90 -beta beta validate
: Example: install and validate beta version of the Counter Strike: Source dedicated server:
 app_update 232330 -beta prerelease validate
: Example: install and validate a private beta version of the Natural Selection 2 dedicated server (name alpha, password natsel):
: [beta name] is the name of the private beta branch
: [beta code] is the password for the private beta branch
 app_update 4940 -beta alpha -betapassword natsel validate
3. Once finished, type quit to properly log off of the Steam servers.
 quit
=== Validación ===
 validate
Validate is a command that will check all the server files to make sure they match the SteamCMD files. This command is useful if you think that files may be missing or corrupted.
It is recommended you use this command only on initial installation and if there are server issues.
=== Servidores compatibles ===
A list of known servers that use SteamCMD to install is available on the Dedicated Servers List page. Note that any extra commands listed need to be executed before the app_update line.
== Automatización de SteamCMD ==
There are two ways to automate SteamCMD. (Replace steamcmd with ./steamcmd.sh on Linux/OS X.)
=== Línea de comandos ===
Append the commands to the command line prefixed with plus characters, e.g.:
 steamcmd +login anonymous +force_install_dir ../csgo_ds +app_update 740 +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 +quit
For a game that requires logins, like Killing Floor:
 steamcmd +login <username> <password> +force_install_dir c:\KFServer\ +app_update 215350 +quit
=== Creación de un script ===
1. Put your SteamCMD commands in a text file. (You may add comments which start with //.) 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
2. Run SteamCMD with the +runscript option, referring to the file you created previously. Example:
 steamcmd +runscript csgo_ds.txt
== Instalación entre plataformas ==
It is possible to choose the platform for which SteamCMD should download files, even if it isn't the platform it is currently running on. This is done using the @sSteamCmdForcePlatformType variable. (Yes, those are two "s"es at the beginning of the variable name.) For example, to download the Windows CSGO dedicated server on Linux, you can run the following command:
 ./steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit
or use the following script:
@ShutdownOnFailedCommand 1
@NoPromptForPassword 1
@sSteamCmdForcePlatformType windows
login anonymous
force_install_dir ../csgo_ds
app_update 740 validate
quit
The supported values are windows, macos and linux.
== Software de Windows y scripts ==
=== condenser ===
condenser is a bootstrapper for installing, configuring, & launching Steam dedicated server apps.
=== SteamCMD GUI ===
This tool allows the user to use SteamCMD on Windows without command lines and/or batch files.
GitHub Repo:
https://github.com/DioJoestar/SteamCMD-GUI
===SteamCMD Guardian 1.2===
View and download here: http://pastebin.com/BRUbsGQh
== Linux Scripts ==
===Linux Game Server Managers===
right|thumb|170px|Linux Game Server Manager
The Linux Game Server Managers are command line tools for quick, simple deployment and management of various dedicated game servers using SteamCMD.
Características
*Server installer (SteamCMD)
*Start/Stop/Restart server
*Server update (SteamCMD)
*Server monitor (including email notification)
*Server backup
*Server console
Servidores compatibles
*ARMA 3
*Blade Symphony
*Counter Strike
*Counter Strike: Condition Zero
*Counter Strike: Global Offensive
*Counter Strike: Source
*Day of Defeat
*Day of Defeat: Source
*Fistful of Frags
*Garry's Mod
*Half-Life: Deathmatch Classic
*Half-Life 2: Deathmatch
*Insurgency
*Just Cause 2
*Killing Floor
*Left 4 Dead
*Left 4 Dead 2
*No More Room in Hell
*Natural Selection 2
*Red Orchestra: Ostfront 41-45
*Team Fortress Classic
*Team Fortress 2
*Team Fortress Classic
Lista completa e instrucciones:
http://danielgibbs.co.uk/lgsm
GitHub:
https://github.com/dgibbs64/linuxgameservers
===SteamCMD Guardian 1.2===
The following script was tested on Debian Wheezy.
Ver y descargar aquí:
http://pastebin.com/hcpMpmaZ
Instalación 
To make this script work, we need a location. Preferrably you created a user (e.g. steam) with it's own home directory (/home/steam) and are logged in as it via SSH, tty or using su.
# Make the file.
#: nano updateserver.sh
# Paste in the code
# Modify the code, add at least 1 game to the DL_SV*= rows.
# Close the file with , followed by and concluding with .
# Give the file execute rights for the user
#: chmod u+x ./updateserver.sh
# Run the file
#: ./updateserver.sh
The file will auto-download SteamCMD, update it and install all chosen games (up to 4). Run the file again to update the games.
== Errores conocidos ==
===ERROR! Failed to install app 'xxxxxx' (No subscription)===
If you get the 'No subscription' error, the game/server you are trying to download either requires a login or that you have purchased the game. You will therefore have to log in with a Steam username and password – if that doesn't help, you may need to purchase a copy of the game on Steam first. See Dedicated Servers List.
For example
steamcmd +login <username> <password>
=== 32-bit libraries on 64-bit Linux systems ===
Since SteamCMD is a 32-bit binary, 32-bit libraries are required.
The following error may occur:
 steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
The resolution depends on your distro:
==== Debian based Distros (Ubuntu, Mint, etc.) ====
 apt-get install lib32gcc1
With Debian 7 "Wheezy" you may encounter this error:
 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.
To fix this, do the following:
 dpkg --add-architecture i386
 apt-get update
 apt-get install lib32gcc1
==== Red Hat based Distros (RHEL, Fedora, CentOS, etc.) ====
 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" error. 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" and "SteamUpdater: Error: Steam needs to be online to update. Please confirm your network connection and try again.". This is usually fixed by checking "Automatically detect settings" in IE (Internet Explorer) through the lan settings in the Internet option menu.
# Open Internet Explorer (IE).
# Click on Tools → Internet Options
# Click on the Connections tab
# At the bottom, you should see Local Area Network (LAN) Settings.
# Check the first box (Automatically detect settings)
# Hit OK, and Apply. Try running the SteamCMD again; if it still doesn't work. try lowering your Internet Security level zone to medium or lower. You can find that in the Security tab in Internet Options.
=== SteamCMD startup errors ===
==== Unable to locate a running instance of Steam ====
You may get the following error when starting a server with Linux:
 [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.
Resolve the issue by linking steamclient.so to the ~/.steam/sdk32/steamclient.so directory:
 ln -s steamcmd/linux32/steamclient.so ~/.steam/sdk32/steamclient.so
==== ulimit Linux startup error ====
Some users may get a ulimit error (no permission/cannot open file) while script is starting up. This error caused by a low setting of the -n parameter (number of file descriptors) of ulimit. SteamCMD uses standard commands inside of the initialization shell script to change the ulimit automatically, but some servers may forbid increasing ulimit values after startup (or beyond a limit set by root).
This can be fixed by changing the file descriptor number ulimit:
 ulimit -n 2048
If an error appears (no permission), you will have to log in as root to change the parameter. To check the current setting, type ulimit -a; the system will reply with many rows, you need to find one:
 open files (-n) 1024
In this case, 1024 is the current value.
root can also modify the limits in the /etc/security/limits.conf file.
In most instances you will simply get a warning message however it will not stop SteamCMD from running.
=== Only the HLDS engine is downloaded ===
When trying to download a HL1 mod like TFC, initially it only downloads the engine files of the HLDS, but not the mod. This happens with both the regular version and the beta. You may have to try multiple times until all the required files are downloaded, but once this is done, the files should update correctly next time.
Work-around for this issue here: http://danielgibbs.co.uk/2013/11/hlds-steamcmd-workaround-appid-90/
Just deleting the appmanifest files, without downloading replacements from a third party, may work as well! You will get an error at first though, complaining that something went wrong, which is due to the deleted files.
On a side note, for some reason CS is always installed as well.
== Véase también ==
* Servidor Source dedicado
* Servidor de Half-Life dedicado
* Lista de servidores dedicados
Category:Steam:es
Category:Steam Applications:es
Category:Dedicated Server:es