O servidor dedicado do CS2 é instalado com o SteamCMD (app 730, cerca de 60 GB) e iniciado com cs2.sh. Conte com um VPS Ubuntu recente ou um PC Windows, meia hora de instalação e um token de servidor (GSLT) para aparecer online. Fontes consultadas: tutorial da Hetzner Community, guias de provedores e a wiki da Valve (inacessível na redação, confira).
Instalação passo a passo
Prepare a máquina: Ubuntu 24.04 (ou Windows), pelo menos 4 vCPU, 8 GB de RAM e 80 GB de disco para 10 a 32 jogadores.
Crie um usuário não root (steam) e instale o SteamCMD com as bibliotecas de 32 bits.
Crie um token GSLT para o AppID 730 em steamcommunity.com/dev/managegameservers (um token por servidor).
Baixe o servidor com app_update 730 validate (10 a 30 minutos).
Crie o link steamclient.so do SDK de 64 bits e inicie o servidor com ./cs2.sh a partir da pasta game/.
Coloque o server.cfg em game/csgo/cfg/ (veja a ferramenta «Gerador de server.cfg do CS2»).
Abra 27015 (UDP e TCP), 27005 (UDP) e 27020 (UDP) no ufw, no firewall do provedor e no roteador.
Conecte-se pelo CS2 com o console do jogo: connect IP:27015.
Crie um serviço systemd para início automático e agende backups e atualizações.
Pré-requisitos
- Sistema: Ubuntu 24.04 (usado no tutorial da Hetzner) ou Windows 10/11 e Windows Server.
- Recursos: 4 vCPU, 8 GB de RAM, 80 GB de disco para 10 a 32 jogadores (recomendação do tutorial da Hetzner); o download tem cerca de 60 GB.
- Contas: uma conta Steam para criar o token GSLT (AppID 730). Sem token, o servidor fica limitado à rede local.
- Atenção: o antigo servidor CS:GO usava o app 740; o CS2 usa o 730.
Instalação local no Windows
Baixe o SteamCMD da documentação oficial da Valve, descompacte em C:\steamcmd e instale o servidor. O caminho exato do cs2.exe no Windows não pôde ser confirmado em fonte oficial: localize-o na pasta game\bin após a instalação, execute com -dedicated -console e teste com connect 127.0.0.1 no jogo.
cd C:\steamcmd
steamcmd +force_install_dir C:\cs2-server +login anonymous +app_update 730 validate +quitVPS Linux: usuário e dependências
Comandos do tutorial da Hetzner Community (Ubuntu 24.04). A conta steam não precisa de sudo em produção: remova esse direito ao terminar a instalação.
sudo apt update && sudo apt upgrade -y
sudo adduser steam
sudo usermod -aG sudo steam
su - steam
sudo apt-get install lib32gcc-s1 -y
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update -y
sudo apt install steamcmd -yVPS Linux: download do servidor
O tutorial da Hetzner também recomenda entrar uma vez com uma conta Steam dedicada (steamcmd +login SUA_CONTA); a instalação anônima funciona em vários guias, teste o que funciona para você.
mkdir -p ~/cs2-server && cd ~/cs2-server
steamcmd +login anonymous +force_install_dir ~/cs2-server +app_update 730 validate +quit
# SDK 64 bits (ignorer si le lien existe déjà)
mkdir -p ~/.steam/sdk64
ln -s ~/.local/share/Steam/steamcmd/linux64/steamclient.so ~/.steam/sdk64/steamclient.soVPS Linux: primeira inicialização
Inicie sempre ./cs2.sh (não o binário diretamente) a partir da pasta game/. Substitua YOUR_GSLT_TOKEN. Modos: casual 0/0, competitive 0/1, deathmatch 1/2 (+game_type/+game_mode). O flag -insecure desativa o VAC: reserve-o a servidores privados. Para testes, use screen ou tmux (screen -S cs2).
cd ~/cs2-server/game
./cs2.sh -dedicated -port 27015 -maxplayers 10 \
+hostname "My CS2 Server" +map de_dust2 \
+game_type 0 +game_mode 1 \
+sv_setsteamaccount YOUR_GSLT_TOKENPortas a abrir e firewall Linux (ufw)
Para mudar a porta de jogo, adicione -port N à linha de inicialização (uma porta diferente por instância) e abra-a no lugar de 27015.
Abra apenas o necessário e teste de outra conexão (não do próprio servidor).
- 27015/udp: tráfego de jogo
- 27015/tcp: RCON e pings
- 27005/udp: comunicação do cliente
- 27020/udp: SourceTV (gravação de demos)
- Outras portas citadas no tutorial da Hetzner: 27036/tcp (Steam Remote Play), 3478/udp (NAT traversal), 4379-4380/udp (matchmaking), 22/tcp (SSH).
sudo ufw allow OpenSSH
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw allow 27005/udp
sudo ufw allow 27020/udp
sudo ufw enable
sudo ufw statusFirewall do Windows (netsh)
Em um prompt de comando de administrador, crie uma regra de entrada por porta (ou abra «Firewall do Windows Defender com Segurança Avançada»).
netsh advfirewall firewall add rule name="Counter-Strike 2 27015 UDP" dir=in action=allow protocol=UDP localport=27015
netsh advfirewall firewall add rule name="Counter-Strike 2 27015 TCP" dir=in action=allow protocol=TCP localport=27015
netsh advfirewall firewall add rule name="Counter-Strike 2 27005 UDP" dir=in action=allow protocol=UDP localport=27005
netsh advfirewall firewall add rule name="Counter-Strike 2 27020 UDP" dir=in action=allow protocol=UDP localport=27020Firewall do provedor e redirecionamento de portas (roteador)
Em um provedor (OVH, Hetzner, Scaleway…), abra também as mesmas portas no firewall ou «security group» do provedor: o ufw não basta se houver firewall externo. Em casa, crie no roteador um redirecionamento (NAT) de cada porta para o IP local da máquina (fixo ou reservado por DHCP).
Teste: de outra conexão, adicione o servidor como «IP:porta» no navegador de servidores de Counter-Strike 2 ou no console. Se falhar, verifique em ordem: serviço iniciado, firewall local, firewall do provedor, redirecionamento NAT.
Início automático: serviço systemd
Crie /etc/systemd/system/cs2.service (como root) e ative-o. Adapte o usuário e os caminhos; veja os logs com journalctl -u cs2 -f.
[Unit]
Description=Counter-Strike 2 dedicated server
After=network-online.target
Wants=network-online.target
[Service]
User=steam
WorkingDirectory=/home/steam/cs2-server/game
ExecStart=/home/steam/cs2-server/game/cs2.sh -dedicated -port 27015 -maxplayers 10 +game_type 0 +game_mode 1 +map de_dust2 +sv_setsteamaccount YOUR_GSLT_TOKEN
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
# then:
# sudo systemctl daemon-reload
# sudo systemctl enable --now cs2Windows: tarefa agendada na inicialização
No Windows, uma tarefa agendada executa seu script .bat na inicialização do sistema (execute o comando em um prompt de administrador).
schtasks /Create /TN "Counter-Strike 2 server" /TR "C:\cs2-server\start-cs2.bat" /SC ONSTART /RU SYSTEM /RL HIGHESTAtualizações, backups e reinícios agendados
Pare o serviço antes de atualizar (mesmo comando SteamCMD da instalação), faça backup regular dos arquivos de configuração e dados e agende um reinício diário se o servidor degradar com o tempo.
sudo systemctl stop cs2
steamcmd +force_install_dir /home/steam/cs2-server +login anonymous +app_update 730 validate +quit
sudo systemctl start cs2
# backup
tar czf ~/cs2-$(date +%F).tar.gz -C /home/steam/cs2-server game/csgo/cfg game/csgo/gamemodes_server.txt
# daily restart at 05:00 (root crontab: sudo crontab -e)
0 5 * * * systemctl restart cs2Cadastrar e encontrar seu servidor
Cadastre seu servidor em https://game-rank.com/jeux/counter-strike para que a comunidade o veja. No jogo, use o navegador de servidores ou conecte direto por IP:porta.
Solução de problemas: erros frequentes
- O servidor inicia em modo LAN ou invisível: token GSLT ausente, inválido ou reutilizado em outro servidor. Solução: crie um token próprio deste servidor para o AppID 730 e passe-o com +sv_setsteamaccount.
- O servidor trava ou não encontra o steamclient.so: link do SDK de 64 bits ausente. Solução: crie ~/.steam/sdk64/steamclient.so como indicado e execute ./cs2.sh a partir de game/.
- Servidor invisível de fora: o serviço roda mas ninguém conecta. Causa: porta fechada (ufw, firewall do provedor ou falta de NAT). Solução: abra as portas listadas nos três níveis e teste de outra conexão.
- Porta já em uso na inicialização: outra instância ocupa a porta. Solução: liste os processos com ss -lunp | grep 27015, pare a instância antiga ou dê uma porta diferente com -port a cada servidor.
- SteamCMD «Failed to install app» ou download travado: causa frequente, disco cheio ou permissões insuficientes na pasta. Solução: verifique df -h e o dono da pasta e repita o comando com validate (várias vezes se preciso).
Perguntas frequentes
- O CS2 ainda usa comandos e arquivos do CS:GO?
- Em parte: a pasta de config continua game/csgo/cfg/ e a maioria dos cvars mp_* existe, mas o servidor é outra aplicação (730) e algumas coisas (plugins SourceMod, API de Workshop do CS:GO) não se transferem como estão. Na dúvida, teste no seu build.
- Quantos jogadores e qual máquina para um servidor CS2?
- O tutorial da Hetzner mira 10 a 32 jogadores com 4 vCPU, 8 GB de RAM e 80 GB de disco; adicione -maxplayers à linha de inicialização para limitar os slots.
- Posso rodar o servidor como root?
- Não recomendado: crie um usuário dedicado (por exemplo steam) sem direitos de administrador e instale e execute o servidor com ele. Assim uma falha no servidor ou plugin não compromete toda a máquina.
- Meu servidor de Counter-Strike 2 não aparece na lista: o que verificar?
- Verifique primeiro se as portas estão abertas em todos os níveis, se o servidor não está em modo LAN (sv_lan 0) e, se o jogo exigir, se um token de servidor (GSLT) válido foi informado. A lista da Steam pode levar alguns minutos para atualizar; enquanto isso, conecte por IP:porta.
