Una guía sobre cómo descargar y ejecutar SteamCMD tanto en Linux como en Windows.
SteamCMD es una herramienta CLI que permite a los usuarios descargar aplicaciones desde Steam. Se utiliza a menudo para descargar archivos de servidor dedicado en juegos como Counter-Strike, Left 4 Dead 2, Garry's Mod, Rust, ¡y muchos más!
Descargando y ejecutando SteamCMD
Para empezar, necesitas descargar la herramienta SteamCMD. Existen varios métodos para lograr esto, incluyendo la descarga de paquetes directamente en tu sistema. Sin embargo, para tener un mejor control, vamos a descargar SteamCMD manualmente.
Windows
Las instrucciones para descargar y extraer SteamCMD en Windows se pueden encontrar aquí.
- Descarga el archivo
steamcmd.zipdesde aquí. - Crea una carpeta donde puedas almacenar y extraer el contenido del archivo
steamcmd.zip. En esta guía usaremosE:\apps\steamcmd. - Usa la herramienta ZIP de Windows para extraer el contenido de
steamcmd.zipen la carpeta recién creada. Alternativamente, puedes usar una herramienta como 7-Zip.
Ahora deberías ver un archivo ejecutable steamcmd.exe que puedes ejecutar.


Linux
Las instrucciones para descargar y extraer SteamCMD en Linux se pueden encontrar aquí.
Necesitarás descargar e instalar algunos paquetes del sistema que son necesarios para descargar, ejecutar y extraer SteamCMD, junto con ejecutar servidores si estás descargando archivos de servidor.
Basado en Debian/Ubuntu (Apt)
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl tar
NOTA - Si no tienes sudo instalado, deberás iniciar sesión como root mediante el comando su - y ejecutar los comandos de esta guía sin usar sudo al principio.

Aunque no es estrictamente necesario, también se recomienda crear un usuario separado para ejecutar SteamCMD y los servidores de juego que planees ejecutar, si es el caso.
Puedes usar los siguientes comandos en sistemas basados en Debian/Ubuntu para crear un nuevo usuario.
# Create apps group.
sudo groupadd apps
# Create apps user with home directory set to /home/apps and using /bin/bash as the shell.
sudo useradd -m -d /home/apps -g apps -s /bin/bash apps
# Login as apps.
sudo su apps -

A continuación, querrás crear un directorio para almacenar el contenido del archivo steamcmd_linux.tar.gz.
# Create a 'steamcmd/' directory inside the user's home directory.
mkdir ~/steamcmd
# Change directories to the created directory from above.
# Tip - You can also use 'cd $_' if you've just created the new directory.
cd ~/steamcmd

Ahora, querrás descargar el archivo steamcmd_linux.tar.gz y extraerlo. Recomiendo usar los comandos curl o wget para descargar el archivo y tar para extraerlo. En esta guía usaremos una línea única que utiliza curl y tar.
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
Si el comando anterior fue exitoso, deberías ver un nuevo archivo steamcmd.sh al listar los archivos en el nuevo directorio usando un comando como ls -l.

Ahora puedes ejecutar el nuevo programa steamcmd.sh usando el siguiente comando, que también actualizará la instalación de SteamCMD.
./steamcmd.sh

Descargando archivos de aplicación
Una vez que hayas iniciado SteamCMD, lo primero que deberás hacer es configurar el directorio donde instalar los archivos de la aplicación mediante el comando force_install_dir.
Por ejemplo, supongamos que estamos descargando los archivos del servidor de Left 4 Dead 2 y queremos instalarlos en /home/apps/l4d2 en Linux o E:\apps\l4d2 en Windows.
En Linux, el comando se verá como a continuación.
force_install_dir /home/apps/l4d2
En Windows, el comando se verá como a continuación.
force_install_dir E:\apps\l4d2
Después, querrás iniciar sesión en Steam usando el comando login <username>. Al descargar archivos de servidor dedicado para una aplicación, la mayoría de las veces se te permite iniciar sesión de forma anónima a través de SteamCMD. ¡Esto significa que no tienes que ingresar tu nombre de usuario o contraseña de Steam antes de descargar los archivos! En su lugar, puedes iniciar sesión de forma anónima usando el siguiente comando.
login anonymous
Si no estás descargando archivos de servidor, es posible que necesites especificar tu nombre de usuario de Steam, contraseña y posiblemente el código 2FA.
A continuación, querrás obtener el ID de la aplicación que deseas instalar. Si estás descargando archivos de servidor, te recomiendo consultar esta lista.
Aquí hay una lista de IDs de archivos de servidor comúnmente descargados para tu comodidad.
- Counter-Strike 2 -
730 - Counter-Strike: Source -
232330 - Left 4 Dead 2 -
222860 - Garry's Mod -
4020 - Team Fortress 2 -
232250 - Rust -
258550
Ahora, querrás usar el comando app_update <app ID> para descargar o actualizar los archivos de la aplicación. Además, puedes añadir validate al final del comando si quieres verificar que los archivos de la aplicación no estén corruptos. ¡Ten en cuenta que añadir validate al final del comando hará que este tarde más en terminar!
Por ejemplo, descargar los archivos del servidor de Left 4 Dead 2 sin validar la instalación puede hacerse con el siguiente comando.
app_update 222860
Aquí hay otro ejemplo de descarga de los archivos del servidor de Left 4 Dead 2 validando la instalación.
app_update 222860 validate
Tardará algún tiempo en descargar los archivos del servidor dependiendo de la velocidad de tu red y de tu disco.
Automatización con archivos de script
Para simplificar el proceso de crear o actualizar archivos de aplicaciones a través de SteamCMD, puedes utilizar archivos de script. Esto te permite ejecutar un solo script para descargar o actualizar los archivos de la aplicación automáticamente.
Crearemos un script con variables de entorno que te permita configurar fácilmente las ubicaciones de SteamCMD y de los archivos de tu aplicación, junto con el ID de la app a descargar, etc.
Sigue los siguientes pasos.
Windows
Crearemos un archivo Batch update-app.bat dentro de la carpeta donde se almacenan los archivos de la aplicación.
@echo off
set STEAM_CMD_LOC="E:\apps\steamcmd"
set STEAM_USER="anonymous"
set STEAM_PASS=""
set INSTALL_DIR="..\my-app"
set APP_ID="<APP ID>"
cd "%STEAM_CMD_LOC%"
start "" steamcmd.exe +force_install_dir "%INSTALL_DIR%" +login "%STEAM_USERNAME%" "%STEAM_PASSWORD%" +app_update %APP_ID% validate +quit
Linux
Crearemos un script Bash update-app.sh dentro del directorio donde se almacenan los archivos de la aplicación.
#!/bin/bash
STEAM_CMD_LOC=../steamcmd/
STEAM_USER="anonymous"
STEAM_PASS=""
INSTALL_DIR=../my-app
APP_ID=<APP ID>
$STEAM_CMD_LOC/steamcmd.sh +force_install_dir $INSTALL_DIR +login "$STEAM_USER" "$STEAM_PASS" +app_update $APP_ID validate +quit
Conclusión
¡Eso es todo! A estas alturas, ya deberías poder crear y actualizar aplicaciones automáticamente a través de SteamCMD usando archivos de script o ejecutando los comandos uno por uno.
Si tienes alguna pregunta o sugerencia sobre cómo mejorar esta guía, por favor responde al tema aquí! Esta guía se seguirá trabajando y mejorando con el tiempo.
¡Únete a nuestro servidor de Discord!

