Pt-br/SteamCMD: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (→‎Linux Game Server Managers: Unicodifying, replaced: [[Image: → [[File:)
m (Replaced content with "workshop_download_item 431960 3047489690")
Tag: Replaced
Line 1: Line 1:
{{lang|title=SteamCMD|SteamCMD}}
workshop_download_item 431960 3047489690
O '''Console do Cliente Steam''' ou '''SteamCMD''' é uma versão de linha de comando do cliente Steam. Seu principal uso é instalar e atualizar vários servidores dedicados disponíveis no Steam usando uma interface de linha de comando. Funciona com jogos que usam o sistema de conteúdo [[SteamPipe:pt-br|SteamPipe]]. Todos os jogos foram migrados da ferramente obsoleta [[HLDSUpdateTool:pt-br|HLDSUpdateTool]] para o SteamCMD.
 
== Baixando o SteamCMD ==
=== Windows ===
 
1. Crie uma pasta para o SteamCMD.
 
''Por exemplo''
 
C:\steamcmd
 
2. Faça o download do SteamCMD para Windows: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
 
3. Extraia o conteúdo do zip para a pasta.
 
=== Linux ===
 
Crie uma conta de usuário chamada ''steam'' tpara executar o SteamCMD com segurança, isolando-o do resto do sistema operacional. '''Não execute o steamcmd enquanto estiver operando como usuário root''' - isso é um '''risco de segurança'''.
 
1. Como usuário root, crie o usuário ''steam'':
 
useradd -m steam
 
2. Vá para sua pasta inicial:
cd /home/steam
 
==== Pacote de repositórios ====
1. É recomendado instalar o pacote SteamCMD a partir dos seus repositórios de distribuição, se disponível:
 
Ubuntu/Debian
sudo apt-get install steamcmd
 
RedHat/CentOS
yum install steamcmd
 
Para o Arch Linux: instale [https://aur.archlinux.org/packages/steamcmd/ steamcmd do AUR].
 
2. Vincule o executável do '''steamcmd''':
ln -s /usr/games/steamcmd steamcmd
 
==== Manualmente ====
1. Antes de começar, você deve primeiro instalar as dependências necessárias para executar o SteamCMD:
 
Ubuntu/Debian 64-Bit
 
sudo apt-get install lib32gcc1
 
RedHat/CentOS
 
yum install glibc libstdc++
 
RedHat/CentOS 64-Bit
 
yum install glibc.i686 libstdc++.i686
 
2. Como usuário root, escalonar para o usuário de ''steam'':
 
su - steam
 
Se você não estiver efetuando login como root e usar <code>sudo</code> a administração para escalonar para o usuário ''steam'' da seguinte maneira:
 
sudo -iu steam
 
3. Crie um diretório para o SteamCMD e mude para ele.
 
mkdir ~/Steam && cd ~/Steam
 
4. Faça o download e extraia o SteamCMD para Linux.
 
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
 
=== OS X ===
 
1. Abra o Terminal.app e crie um diretório para o SteamCMD.
 
mkdir ~/Steam && cd ~/Steam
 
2. Faça o download e extraia o SteamCMD para o OS X.
 
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_osx.tar.gz" | tar zxvf -
 
== Executando o SteamCMD ==
 
''Na primeira execução, o SteamCMD atualizará automaticamente e entrará em você em um prompt<code>Steam&gt;</code>. Digite <code>help</code> para mais informações.''
 
=== Windows ===
Abra um prompt de comando e inicie o SteamCMD.
 
cd C:\steamcmd
steamcmd
 
=== Linux/OS X ===
Abra um terminal e inicie o SteamCMD.
 
Se você instalou usando o pacote de repositórios:
 
cd ~
steamcmd
 
Se você instalou manualmente:
cd ~/Steam
./steamcmd.sh
 
== Login no SteamCMD ==
 
=== Anônimo ===
 
Para baixar a maioria dos servidores de jogos, você pode fazer o login anonimamente.
 
login anonymous
 
=== Com uma conta Steam ===
 
Alguns servidores exigem que você faça o login com uma conta Steam.
{{Note|Por razões de segurança, é recomendável que você crie uma nova conta Steam apenas para seus servidores dedicados.}}
{{Note|Um usuário só pode estar logado uma vez a qualquer momento (contando tanto o cliente gráfico como os logins do SteamCMD).).}}
 
login &lt;username&gt;
 
Em seguida, digite sua senha.
 
Se o Steam Guard estiver ativado na conta do usuário, verifique seu e-mail em busca de um código de acesso do Steam Guard e insira-o. Isto é requerido apenas na primeira vez que você efetua login (assim como quando você exclui os arquivos onde o SteamCMD armazena as informações de login).
 
Você deverá ver uma mensagem informando que fez login com sucesso em sua conta.
 
== Baixando um aplicativo ==
 
1. Inicie o SteamCMD e faça o login.
 
2. Defina seu diretório de instalação do aplicativo. (Nota: use barras para o Linux / OS X e barras invertidas para o Windows.)
 
force_install_dir &lt;path&gt;
 
por exemplo, um diretório chamado <code>cs_go</code> dentro do diretório atual:
 
force_install_dir ./cs_go/
 
'''Para Windows''': force_install_dir c:\cs_go\
 
3. Instale ou atualize o aplicativo usando o comando <code>app_update</code> (sfornecendo um [[Steam Application IDs|ID de aplicativo do Steam]]). Por favor, verifique aqui a lista de servidores dedicados: [[Dedicated_Servers_List:pt-br|Lista de servidores dedicados ]]. Para validar também o aplicativo, adicione o comando <code>validate</code>. Para baixar uma branch(ramificação) beta, use a opção <code>-beta &lt;betaname&gt;</code> &ndash; Por exemplo, a branch(ramificação) beta do HLDS é chamada <code>beta</code> e a branch(ramificação) do SrcDS é chamada de <code>prerelease</code>. Algumas branches(ramificações) são protegidas por senha; para poder fazer o download a partir delas, adicione também a opção <code>-betapassword &lt;password&gt;</code>.
 
app_update &lt;app_id&gt; [-beta &lt;betaname&gt;] [-betapassword &lt;senha&gt;] [validate]
 
O HLDS é um caso especial: o ID do aplicativo é sempre 90 e um <code>mod</code> deve ser escolhido primeiro. Isso é feito configurando a opção de configuração do aplicativo modpara o valor solicitado.
 
app_set_config &lt;app_id&gt; &lt;option_name&gt; &lt;option_value&gt;
 
: Exemplo: Instale e valide o servidor dedicado do Counter-Strike: Global Offensive:
app_update 740 validate
: Exemplo: Instale e valide o HLDS com o Team Fortress Classic:
app_set_config 90 mod tfc
app_update 90 validate
{{bug|HLDS (appid 90) requer atualmente várias execuções do comando <code>app_update<code> antes que todos os arquivos necessários sejam instalados com sucesso. Basta executar <code>app_update 90 validate</code>várias vezes até que não ocorram mais atualizações.}}
: Exemplo: Instale e valide a versão beta do HLDS (Half-Life):
app_update 90 -beta beta validate
: Exemplo: instale e valide a instalação do servidor dedicado do Counter-Strike: Source:
app_update 232330 -beta prerelease validate
: Exemplo: instalar e validar uma versão beta privada do servidor dedicado Natural Selection 2 (nome <code>alpha</code>, senha <code>natsel</code>):
:  [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. Uma vez terminado, digite <code>quit</code> para fazer logoff corretamente dos servidores Steam.
 
quit
 
=== Validar ===
validate
Validate é um comando que verificará todos os arquivos do servidor para garantir que correspondam aos arquivos do SteamCMD. Este comando é útil se você acha que os arquivos podem estar ausentes ou corrompidos.
 
{{Note|A validação substituirá todos os arquivos que foram alterados. Isso pode causar problemas com servidores personalizados. Por exemplo, se você personalizar <code>mapcycle.txt</code>, esse arquivo será substituído pelo padrão do servidor. Todos os arquivos que não fazem parte da instalação padrão não serão afetados.}}
 
É recomendado que você use este comando somente na instalação inicial e se houver problemas no servidor.
 
=== Servidores Suportados ===
 
Uma lista de servidores conhecidos que usam o SteamCMD para instalar está disponível na página [[Dedicated_Servers_List:pt-br|Lista de servidores dedicados ]]. Note que qualquer comando extra listado precisa ser executado antes da linha app_update.
 
== Automatizando o SteamCMD ==
 
Existem duas maneiras de automatizar o SteamCMD. (Substitua <code>steamcmd</code> por <code>./steamcmd.sh</code> no Linux/OS X.)
 
=== Linha de comando ===
 
{{Note|Ao usar a <code>-betaopção</code> na linha de comando, ela deve ser citada de maneira especial, como <code>+app_update "90 -beta beta"</code>.}}
{{Note|Se isso não funcionar, tente colocá-lo como em seu lugar <code>"+app_update 90 -beta beta"</code>.}}
 
Acrescente os comandos à linha de comando prefixados com mais caracteres, por exemplo:
steamcmd +login anonymous +force_install_dir ../csgo_ds +app_update 740 +quit
 
Para instalar um mod de jogo específico para HL1, como Counter-Strike: Condition Zero:
steamcmd +login anonymous +force_install_dir ../czero +app_set_config 90 mod czero +app_update 90 +quit
 
Para um jogo que requer logins, como Killing Floor:
steamcmd +login &lt;username&gt; &lt;password&gt; +force_install_dir c:\KFServer\ +app_update 215350 +quit
 
=== Criando um script ===
 
1. Coloque seus comandos do SteamCMD em um arquivo de texto. (Você pode adicionar comentários que começam com <code>//</code>.) Exemplo:
<syntaxhighlight>
// update_csgo_ds.txt
//
@ShutdownOnFailedCommand 1 //definido como 0 se atualizar vários servidores de uma só vez
@NoPromptForPassword 1
login <username> <password>
//para servidores que não precisam de login
//login anônimo 
force_install_dir ../csgo_ds
app_update 740 validate
quit
</syntaxhighlight>
 
2. Execute o SteamCMD com a <code>+runscriptopção</code>, referindo-se ao arquivo que você criou anteriormente. Exemplo:
 
steamcmd +runscript csgo_ds.txt
 
== Instalação entre plataformas ==
 
É possível escolher a plataforma para a qual o SteamCMD deve baixar arquivos, mesmo que não seja a plataforma em que está atualmente sendo executada. Isso é feito usando a variavel <code>@sSteamCmdForcePlatformType</code>. (Sim, esses são dois "s" no início do nome da variável.) For example, Por exemplo, para baixar o servidor dedicado do Windows CSGO no Linux, você pode executar o seguinte comando:
 
./steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit
 
ou use o seguinte script:
 
<syntaxhighlight>
@ShutdownOnFailedCommand 1
@NoPromptForPassword 1
@sSteamCmdForcePlatformType windows
login anonymous
force_install_dir ../csgo_ds
app_update 740 validate
quit
</syntaxhighlight>
 
Os valores são suportados são <code>windows</code>, <code>macos</code> e <code>linux</code>.
 
== Windows Software/Scripts ==
 
=== condenser ===
 
[https://github.com/sympatovit/condenser o condenser] é um bootstrapper para instalar, configurar e iniciar aplicativos de servidor dedicados do Steam.
=== SteamCMD AutoUpdater ===
Instalar e atualizar automaticamente qualquer servidor de jogo
 
GitHub Repo:
https://github.com/C0nw0nk/SteamCMD-AutoUpdate-Any-Gameserver
 
=== SteamCMD GUI ===
Esta ferramenta permite ao usuário usar o SteamCMD no Windows sem linhas de comando e / ou arquivos em lote.
 
GitHub Repo:
https://github.com/DioJoestar/SteamCMD-GUI
 
===SteamCMD Guardian 1.2===
Veja e faça o download aqui: http://pastebin.com/BRUbsGQh
 
== Linux Scripts ==
 
===Linux Game Server Managers===
[[File:LinuxGSM_Logo_White.png‎|right|thumb|370px|Linux Game Server Managers]]
O LinuxGSM é a ferramenta de linha de comando para implementação e gerenciamento rápidos e simples de servidores de jogos dedicados, usando o SteamCMD.
 
====Recursos====
* Cópia de segurança
* Console
* Detalhes
* Instalador (SteamCMD)
* Monitor
* Alertas (Email, Pushbullet)
* Atualização (SteamCMD)
* Iniciar / Parar / Reiniciar servidor
 
====Servidores Suportados====
Existem agora mais de 70 servidores de jogos diferentes suportados e em ascensão. Para uma lista completa, visite o site
 
====Links====
Website: https://gameservermanagers.com
 
GitHub Repo: https://github.com/GameServerManagers/LinuxGSM
 
===SteamCMD Guardian 1.2===
 
O seguinte script foi testado no Debian Wheezy.
 
Veja e faça o download aqui:
http://pastebin.com/hcpMpmaZ
 
 
'''Instalação'''
 
Para fazer este script funcionar, precisamos de um local. De preferência você criou um usuário (por exemplo, steam) com seu próprio diretório pessoal (/home/steam) e está logado como via SSH, tty ou usando su.
 
# Faça o arquivo.
#: <code>nano updateserver.sh</code>
# Cole o código
# Modifique o código, adicione '''pelo menos''' 1 jogo as linhas <code>DL_SV*=</code>.
# Feche o arquivo {{Key|Ctrl|O|}}, seguido por {{Key|enter}} e concluindo com {{Key|Ctrl|X}}.
# Give the file execute rights for the user
#: <code>chmod u+x ./updateserver.sh</code>
# Run the file
#: <code>./updateserver.sh</code>
 
O arquivo irá baixar automaticamente o SteamCMD, atualizá-lo e instalar todos os jogos escolhidos (até 4). Execute o arquivo novamente para atualizar os jogos.
 
== Problemas Conhecidos ==
===ERROR! Failed to install app 'xxxxxx' (No subscription)===
 
ISe você receber o erro 'No subscription',o jogo/servidor que você está tentando baixar requer um login ou que você compre o jogo. Você terá que fazer o login com um nome de usuário e senha Steam - se isso não ajudar, talvez seja necessário adquirir uma cópia do jogo no Steam primeiro Veja [[Dedicated_Servers_List:pt-br|Lista de servidores dedicados ]].
 
{{Note|Por razões de segurança, é recomendável que você crie uma nova conta Steam apenas para seus servidores dedicados.}}
 
Por exemplo
<syntaxhighlight>
steamcmd +login <username> <password>
</syntaxhighlight>
 
=== Bibliotecas de 32 bits em sistemas Linux de 64 bits ===
 
Como o SteamCMD é um binário de 32 bits, são necessárias bibliotecas de 32 bits.
 
O seguinte erro pode ocorrer:
 
steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
 
A resolução depende da sua distribuição:
 
==== Distribuições baseadas em Debian (Ubuntu, Mint, etc.) ====
 
sudo apt-get install lib32stdc++6
 
{{Note|<code>ia32-libs</code> não são necessários para instalar o SteamCMD; <code>lib32gcc1</code> basta.}}
 
Com o '''Debian 7 "Wheezy"''' você pode encontrar este erro:
 
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.
 
Para corrigir isso, faça o seguinte:
<syntaxhighlight>
dpkg --add-architecture i386
apt-get update
apt-get install lib32gcc1
</syntaxhighlight>
 
==== Distribuições baseadas no Red Hat (RHEL, Fedora, CentOS, etc.) ====
 
yum install glibc.i686 libstdc++.i686
 
==== Arch Linux ====
Não se esqueça de primeiro ativar o [https://wiki.archlinux.org/index.php/Multilibrepositório multilib].
 
pacman -S lib32-gcc-libs
 
=== Falha de login: sem conexão ===
 
Em servidores Linux, você pode enfrentar um erro "Falha de logon: sem conexão". Isso está relacionado a falta de regras do iptables. Você vai querer algo ao longo destas linhas:
<syntaxhighlight>
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
</syntaxhighlight>
A lista de portas encontra-se aqui: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=english
 
Em servidores Windows, você pode experimentar "SteamUpdater: Erro: Falha no download: erro HTTP http" e "SteamUpdater: Erro: o Steam precisa estar online para atualizar. Confirme sua conexão de rede e tente novamente." Isso geralmente é corrigido, verificando "Detectar automaticamente as configurações" no IE (Internet Explorer) através das configurações de lan no menu de opções da Internet.
 
# Abra o Internet Explorer (IE).
# Clique em ''Ferramentas'' → ''Opções da Internet''
# Clique na guia ''Conexões''
# Na parte inferior, você deve ver as configurações da ''rede local (LAN)''.
# Marque a primeira caixa (''Detectar automaticamente as configurações'')
# Clique em ''OK'' e em ''Aplicar''. Tente executar o SteamCMD novamente; se ainda não funcionar. tente reduzir sua ''zona de nível de segurança da Internet'' para médio ou baixo. Você pode encontrar isso na guia ''Segurança em Opções da Internet''.
 
=== Erros de inicialização do SteamCMD ===
==== Não é possível localizar uma instância em execução do Steam ====
Você pode obter o seguinte erro ao iniciar um servidor com o Linux:
 
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.
 
Resolva o problema ligando <code>steamclient.so</code> para o diretório <code>~/.steam/sdk32/steamclient.so</code>:
 
ln -s steamcmd/linux32/steamclient.so ~/.steam/sdk32/steamclient.so
 
==== ulimit erro de inicialização do Linux ====
Alguns usuários podem receber um erro <code>ulimit</code> (sem permissão / não é possível abrir o arquivo) enquanto o script está sendo iniciado. TEste erro causado por uma configuração baixa do parâmetro <code>-n</code> (número de descritores de arquivo) de <code>ulimit</code>. O SteamCMD usa comandos padrão dentro do script de shell de inicialização para alterar o <code>ulimit</code> automaticamente, mas alguns servidores podem proibir <code>ulimit</code> valores crescentes após a inicialização (ou além de um limite definido por <code>root</code>).
 
Isso pode ser corrigido alterando o número do descritor de arquivo ulimit:
 
ulimit -n 2048
 
Se aparecer um erro (''sem permissão''), você precisará fazer o login como root para alterar o parâmetro. Para verificar a configuração atual, digite '''ulimit -a''' ; o sistema irá responder com muitas linhas, você precisa encontrar um:
 
open files                      (-n) 1024
Nesse caso, ''1024'' é o valor atual.
 
<code>root</code> também pode modificar os limites no <code>/etc/security/limits.conf</code> arquivo.
 
Na maioria dos casos, você simplesmente receberá uma mensagem de aviso, mas não impedirá a execução do SteamCMD.
 
=== Apenas o mecanismo HLDS é baixado ===
 
Ao tentar baixar um mod HL1 como o TFC, inicialmente ele só baixa os arquivos de mecanismo do HLDS, mas não o mod. Isso acontece com a versão regular e a versão beta. Você pode ter que tentar várias vezes até que todos os arquivos necessários sejam baixados, mas uma vez feito isso, os arquivos devem atualizar corretamente na próxima vez.
 
Solução alternativa para este problema aqui: http://danielgibbs.co.uk/2017/10/hlds-steamcmd-workaround-appid-90-part-ii/
 
Apenas apagar os arquivos do appmanifest, sem baixar os substitutos de terceiros, pode funcionar também! Você vai ter um erro no início, porém, reclamando que algo deu errado, o que é devido aos arquivos excluídos.
 
Em uma nota lateral, por algum motivo, o CS também é instalado.
 
== Veja também ==
* [[Source Dedicated Server]]
* [[Half-Life Dedicated Server]]
* [[Dedicated_Servers_List:pt-br|Lista de servidores dedicados ]]
* [[SteamCMDui]]
 
[[Category:Steam]]
[[Category:Steam Applications]]
[[Category:Dedicated Server]]

Revision as of 10:36, 17 April 2024

workshop_download_item 431960 3047489690