Um guia sobre como baixar e executar o SteamCMD tanto no Linux quanto no Windows.
SteamCMD é uma ferramenta CLI que permite que os usuários baixem aplicações da Steam. Isso é frequentemente usado para baixar arquivos de servidores dedicados em jogos como Counter-Strike, Left 4 Dead 2, Garry's Mod, Rust, e muitos outros!
Baixando & Executando o SteamCMD
Para começar, você precisa baixar a ferramenta SteamCMD. Existem alguns métodos que você pode usar para isso, incluindo baixar pacotes diretamente no seu sistema. Porém, para ter mais controle, vamos baixar o SteamCMD manualmente.
Windows
Instruções sobre como baixar e extrair o SteamCMD no Windows podem ser encontradas aqui.
- Baixe o arquivo
steamcmd.zipaqui. - Crie uma pasta onde você possa armazenar e extrair o conteúdo do arquivo
steamcmd.zip. Neste guia, vamos usarE:\apps\steamcmd. - Use a ferramenta de ZIP do Windows para extrair o conteúdo de
steamcmd.zipna pasta recém-criada. Alternativamente, você pode usar uma ferramenta como o 7-Zip.
Agora você deve ver um arquivo executável steamcmd.exe que você pode executar.


Linux
Instruções sobre como baixar e extrair o SteamCMD no Linux podem ser encontradas aqui.
Você precisará baixar e instalar alguns pacotes de sistema necessários para baixar, executar e extrair o SteamCMD, além de executar servidores, caso esteja baixando arquivos de servidor.
Baseado em Debian/Ubuntu (Apt)
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl tar
OBSERVAÇÃO - Se você não tiver o sudo instalado, será necessário logar como root usando o comando su - e executar os comandos ao longo deste guia sem usar sudo no início.

Embora não seja necessariamente obrigatório, também é recomendado que você crie um usuário separado para executar o SteamCMD e os servidores de jogos que planeja executar, se houver algum.
Você pode usar os seguintes comandos em sistemas baseados em Debian/Ubuntu para criar um novo usuário.
# 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 seguir, você vai querer criar um diretório para armazenar o conteúdo do arquivo 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

Agora, você vai querer baixar o arquivo steamcmd_linux.tar.gz e extraí-lo. Recomendo usar os comandos curl ou wget para baixar o arquivo e tar para extraí-lo. Neste guia, vamos usar uma linha única que utiliza curl e tar.
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
Se o comando acima tiver funcionado, você deverá ver um novo arquivo steamcmd.sh ao listar os arquivos no novo diretório usando um comando como ls -l.

Agora você pode executar o novo programa steamcmd.sh usando o comando a seguir, que também atualizará a instalação do SteamCMD.
./steamcmd.sh

Baixando Arquivos de Aplicações
Depois de iniciar o SteamCMD, a primeira coisa que você precisa fazer é definir o diretório onde os arquivos da aplicação serão instalados usando o comando force_install_dir.
Por exemplo, digamos que estamos baixando os arquivos de servidor do Left 4 Dead 2 e queremos instalá-los em /home/apps/l4d2 no Linux ou E:\apps\l4d2 no Windows.
No Linux, o comando será parecido com o abaixo.
force_install_dir /home/apps/l4d2
No Windows, o comando será parecido com o abaixo.
force_install_dir E:\apps\l4d2
Depois disso, você vai querer fazer login na Steam usando o comando login <username>. Ao baixar arquivos de servidores dedicados para uma aplicação, na maioria das vezes você pode entrar anonimamente pelo SteamCMD. Isso significa que você não precisa informar seu nome de usuário ou senha da Steam antes de baixar os arquivos! Em vez disso, você pode entrar anonimamente usando o comando abaixo.
login anonymous
Se você não estiver baixando arquivos de servidor, talvez seja necessário informar seu nome de usuário, senha e possivelmente o código 2FA da Steam.
A seguir, você vai querer obter o ID da aplicação que deseja instalar. Se você estiver baixando arquivos de servidor, recomendo consultar esta lista.
Aqui está uma lista de IDs de arquivos de servidor comumente baixados, para sua conveniência.
- Counter-Strike 2 -
730 - Counter-Strike: Source -
232330 - Left 4 Dead 2 -
222860 - Garry's Mod -
4020 - Team Fortress 2 -
232250 - Rust -
258550
Agora, você vai querer usar o comando app_update <app ID> para baixar ou atualizar os arquivos da aplicação. Além disso, você pode adicionar validate ao final do comando se quiser verificar se os arquivos da aplicação não estão corrompidos. Tenha em mente que passar validate no final do comando fará com que ele demore mais para terminar!
Por exemplo, para baixar os arquivos de servidor do Left 4 Dead 2 sem validar a instalação, pode ser feito com o seguinte comando.
app_update 222860
Aqui está outro exemplo de como baixar os arquivos de servidor do Left 4 Dead 2 e validar a instalação.
app_update 222860 validate
Vai levar algum tempo para baixar os arquivos do servidor, dependendo da velocidade da sua rede e do seu disco.
Automação Com Arquivos de Script
Para simplificar o processo de criação ou atualização dos arquivos de aplicação através do SteamCMD, você pode utilizar arquivos de script. Isso permite executar um único script para baixar ou atualizar os arquivos de aplicação automaticamente.
Vamos criar um script com variáveis de ambiente que permite configurar facilmente os locais do SteamCMD e dos arquivos da sua aplicação, além de qual app ID baixar, etc.
Siga os passos abaixo.
Windows
Vamos criar um arquivo Batch update-app.bat dentro da pasta onde os arquivos da aplicação são armazenados.
@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
Vamos criar um script Bash update-app.sh dentro do diretório onde os arquivos da aplicação são armazenados.
#!/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
Conclusão
É isso! Agora você já deve ser capaz de criar e atualizar aplicações automaticamente através do SteamCMD usando arquivos de script ou executando comandos um por um.
Se você tiver alguma dúvida ou sugestão sobre como melhorar este guia, responda ao tópico aqui! Este guia será trabalhado e melhorado ao longo do tempo.
Junte-se ao nosso servidor no Discord!

