Tutoriais de VPS
Montar um servidor dedicado de CS2 em uma VPS (2026): SteamCMD, GSLT, portas, configuração, backups e atualizações automáticas
Crie do zero um servidor dedicado de CS2 em uma VPS Ubuntu com SteamCMD, cobrindo App ID 730, GSLT, porta 27015, systemd, modo competitivo, backup de configuração, atualizações automáticas e solução de problemas comuns.

Se você quer treinar mira com os amigos, jogar 5v5, organizar um pequeno campeonato ou manter um servidor comunitário de longo prazo, um servidor dedicado próprio de Counter-Strike 2 (CS2) costuma ser mais controlável do que uma sala temporária: mapas, modos, senha, banimentos, logs, CSTV e horários de atualização ficam nas suas mãos. Os verdadeiros problemas não estão em baixar o jogo, mas em copiar literalmente o App ID, o caminho do binário e os parâmetros do antigo CS:GO, esquecer de configurar o GSLT, abrir o protocolo da porta errado ou não fazer backup da configuração antes de atualizar.
Este artigo usa Ubuntu 24.04 LTS, SteamCMD, os arquivos oficiais do servidor CS2 da Valve e systemd como exemplo, e percorre do zero a instalação, o GSLT, a porta 27015, o firewall, o modo competitivo, server.cfg, as atualizações automáticas, o backup da configuração e a solução de problemas. Os comandos do texto são voltados para uma única VPS Linux, não usam imagens de jogo de origem desconhecida e nunca gravam o GSLT ou a senha de administrador em arquivos públicos.
O servidor de CS2 não precisa de placa de vídeo dedicada, mas é sensível ao desempenho de um único núcleo da CPU, ao turbo sustentado, ao jitter de rede e à velocidade de atualização do disco. A Valve não publicou um conjunto de requisitos mínimos de VPS para servidores comunitários comuns que garanta a concorrência, então os valores abaixo são pontos de partida práticos para compra e teste de carga, não promessas oficiais de desempenho:
| Escala de uso | Ponto de partida sugerido da VPS | Disco | Cenário adequado |
|---|---|---|---|
| Servidor privado 5v5 | 4 vCPUs de alto desempenho, 8 GB de RAM | 80 GB NVMe | Competitivo original, treino, partidas com amigos |
| Servidor comunitário de 12 a 20 jogadores | 6 vCPUs de alto desempenho, 12 a 16 GB de RAM | 100 GB NVMe | Servidor público, logs, algumas extensões |
| Várias instâncias ou servidor de campeonato | 8 núcleos ou mais, 16 a 32 GB de RAM | 160 GB+ NVMe | Várias portas, CSTV, gravações e operação de campeonato |
O App ID 730 contém todo o conteúdo do jogo CS2, e downloads e atualizações vão consumir bastante disco e espaço temporário. Não compre um disco pequeno com base no tamanho do antigo servidor independente de CS:GO; reserve espaço separado para o sistema, o servidor, a margem de atualização, os logs e os backups.
O data center deve ficar próximo dos principais jogadores. Para um jogo de tiro, a baixa latência é apenas o primeiro passo; perda de pacotes no horário de pico, jitter, overselling de CPU e proteção UDP importam igualmente. Antes de comprar, confirme que o provedor permite servidores de jogos e entenda o tráfego, a mitigação DDoS, a política de bloqueio após ataques e o custo de troca de IP. Você pode consultar primeiro o guia de recomendações e configuração de VPS para servidores de jogos.
| Opção | Vantagens | Custo | Para quem |
|---|---|---|---|
| SteamCMD + systemd | Mais próximo dos comandos oficiais da Valve, diretório transparente, fácil de diagnosticar | Gerenciamento principalmente por SSH | Uma única VPS, uma única instância de CS2 |
| LinuxGSM | Envolve comandos de instalação, atualização, monitoramento e backup | Exige entender a camada de configuração do LinuxGSM | Manter vários tipos de servidores de jogos Linux ao mesmo tempo |
| Pterodactyl | Painel web, usuários, cotas e gerenciamento de várias instâncias | Manutenção extra de Panel, Wings, banco de dados e rede | Hospedar várias instâncias ou operação por várias pessoas |
Este artigo escolhe SteamCMD + systemd para deixar visíveis o App ID, o caminho do binário, os parâmetros de inicialização e os arquivos de configuração. Se você planeja rodar Minecraft, Rust, Palworld e CS2 ao mesmo tempo, pode usar Montar um painel de servidores de jogos Pterodactyl em uma VPS; para comparar outra forma de gerenciar servidores de jogos, veja o tutorial de servidor dedicado de Rust com LinuxGSM.
Esta é a diferença mais importante antes da implantação:
- A documentação técnica atual de campeonatos da Valve usa
app_update 730 validatepara obter o servidor de jogo de CS. - O Linux inicia o binário
cs2do Source 2 e adiciona-dedicated. - O App ID
740pertence aos tutoriais antigos de CS:GO Dedicated Server e não deve ser usado em implantações atuais de CS2. - O GSLT usado por servidores públicos também deve ser criado com o AppID de CS
730.
Quando você vir um tutorial que ainda pede para baixar 740, executar srcds_run ou entrar no antigo diretório de servidor csgo, confirme primeiro se ele fala de CS2 ou do processo de CS:GO já substituído.
Para uma única instância comum, implante primeiro com o conjunto mínimo de portas:
| Porta | Protocolo | Uso | Pública |
|---|---|---|---|
| 27015 | UDP + TCP | Conexões de jogadores, consultas e comunicação do servidor | Sim |
| 27020 | UDP | Porta de visualização do CSTV | Só abre quando o CSTV está habilitado |
| 22 | TCP | Gerenciamento SSH | Apenas IP do administrador, ou altere para a porta SSH real |
O exemplo de servidor de campeonato da Valve faz os jogadores se conectarem a IP:27015 e os espectadores do CSTV a IP:27020. Um servidor privado comum não precisa de CSTV, então não abra a 27020. Em implantações com várias instâncias, atribua a cada uma sua própria porta de jogo, porta CSTV e GSLT; várias instâncias não podem reutilizar a mesma porta de escuta nem o mesmo token.
Se você usar um domínio, por exemplo cs2.example.com, basta adicionar um registro A apontando para o IPv4 público da VPS. O proxy laranja comum da Cloudflare não encaminha o tráfego de jogo do CS2; use DNS only ou deixe os jogadores se conectarem diretamente ao IP público.
Primeiro use uma conta de administrador com privilégios sudo para atualizar o sistema e instalar as dependências básicas:
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl ca-certificates tar lib32gcc-s1 ufw
Crie uma conta de serviço cs2 que não seja usada para login diário e prepare o diretório de instalação:
sudo adduser --disabled-password --gecos "" cs2
sudo install -d -o cs2 -g cs2 /opt/steamcmd
sudo install -d -o cs2 -g cs2 /opt/cs2
sudo -iu cs2
Não execute o servidor de jogo como root. Um usuário dedicado reduz o escopo de privilégios caso o processo do serviço seja explorado e também evita que scripts de atualização gravem arquivos com proprietário root, o que impediria o SteamCMD de sobrescrevê-los depois.
Os comandos a seguir são executados como o usuário cs2. Baixe a versão Linux do SteamCMD do CDN da Steam da Valve:
cd /opt/steamcmd
curl -fsSL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz -o steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz
./steamcmd.sh +quit
A primeira execução se autoatualiza. Confirme que o arquivo de entrada existe:
test -x /opt/steamcmd/steamcmd.sh
Primeiro tente um login anônimo para baixar o App ID 730:
/opt/steamcmd/steamcmd.sh \
+force_install_dir /opt/cs2 \
+login anonymous \
+app_update 730 validate \
+quit
force_install_dir deve vir antes de login para evitar o aviso de ordem de caminhos do SteamCMD. validate é adequado para a primeira instalação ou para reparar arquivos corrompidos; atualizações diárias normalmente não precisam validar todos os arquivos toda vez.
Se o backend atual da Steam exigir login, não grave a senha da conta diretamente no script. Prepare para o servidor uma conta Steam separada que possua CS2, execute o SteamCMD de forma interativa e informe usuário, senha e verificação do Steam Guard. Não use sua conta principal pessoal nem salve credenciais no histórico do shell ou em um repositório público.
Após a instalação, verifique o binário Linux do Source 2:
test -x /opt/cs2/game/bin/linuxsteamrt64/cs2
ls -lh /opt/cs2/game/bin/linuxsteamrt64/cs2
du -sh /opt/cs2
Um servidor público de CS2 precisa de um Game Server Login Token. Faça login na página de gerenciamento de contas de servidores de jogo da Steam e crie um token com o App ID 730.
A página oficial da Steam exige que a conta:
- não tenha banimento ou bloqueio de comunidade;
- não seja uma conta limitada;
- tenha um telefone qualificado vinculado;
- possua o jogo correspondente;
- não distribua o GSLT a terceiros.
Cada instância usa um GSLT diferente. Se o token vazar, exclua-o imediatamente na página da Steam e crie outro; quando a senha da Steam é redefinida pelos canais de suporte, os tokens existentes também podem ser regenerados. Tokens que ficam muito tempo sem login podem expirar.
Saia do usuário cs2 e crie um arquivo de ambiente legível apenas pelo root:
exit
sudo install -d -m 700 -o root -g root /etc/cs2
sudo nano /etc/cs2/cs2.env
Grave uma linha, substituindo o exemplo pelo GSLT real:
CS2_GSLT=REPLACE_WITH_YOUR_APP_730_GSLT
Restrinja as permissões:
sudo chown root:root /etc/cs2/cs2.env
sudo chmod 600 /etc/cs2/cs2.env
Não grave o token diretamente na unit do systemd, em server.cfg, em capturas de tela, em tickets de log ou nos comandos deste artigo.
A configuração personalizada do servidor de CS2 fica em:
/opt/cs2/game/csgo/cfg/server.cfg
Crie o arquivo e garanta que a conta de serviço seja proprietária do diretório de configuração:
sudo install -d -o cs2 -g cs2 /opt/cs2/game/csgo/cfg
sudo -u cs2 nano /opt/cs2/game/csgo/cfg/server.cfg
Grave um ponto de partida conservador para um servidor competitivo privado:
hostname "My Private CS2 Server"
sv_password "REPLACE_WITH_PLAYER_PASSWORD"
sv_lan 0
sv_cheats 0
sv_hibernate_when_empty 0
log on
mp_autoteambalance 1
mp_limitteams 1
exec banned_user.cfg
exec banned_ip.cfg
writeid
writeip
Gere uma senha de jogador:
openssl rand -base64 24
Grave o resultado em sv_password e depois restrinja as permissões de leitura do arquivo:
sudo chown cs2:cs2 /opt/cs2/game/csgo/cfg/server.cfg
sudo chmod 600 /opt/cs2/game/csgo/cfg/server.cfg
Um servidor público pode definir sv_password como string vazia. Não habilite sv_cheats 1 em um servidor de produção nem modifique diretamente os arquivos de modo de jogo padrão que a Valve distribui com as atualizações; o conteúdo personalizado deve ir em server.cfg ou no gamemode_*_server.cfg correspondente.
Crie a unit:
sudo nano /etc/systemd/system/cs2.service
Grave:
[Unit]
Description=Counter-Strike 2 Dedicated Server
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=cs2
Group=cs2
WorkingDirectory=/opt/cs2/game/bin/linuxsteamrt64
EnvironmentFile=/etc/cs2/cs2.env
ExecStart=/opt/cs2/game/bin/linuxsteamrt64/cs2 -dedicated -console -usercon -port 27015 +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 +sv_setsteamaccount ${CS2_GSLT} +exec server.cfg
Restart=on-failure
RestartSec=10
KillSignal=SIGINT
TimeoutStopSec=90
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
Esse conjunto de parâmetros de modo representa o modo competitivo clássico: game_type 0, game_mode 1. O exemplo atual de servidor de campeonato da Valve também usa esses valores. Para rodar o modo casual, altere para game_type 0, game_mode 0, depois reinicie e confira os logs.
Carregue, inicie e verifique o status:
sudo systemctl daemon-reload
sudo systemctl enable --now cs2
sudo systemctl status cs2 --no-pager
sudo journalctl -u cs2 -n 150 --no-pager
Nos logs devem aparecer o carregamento do mapa, o login do servidor de jogo da Steam e as informações da porta de escuta. Se o login do GSLT falhar, não fique gerando tokens repetidamente para mascarar o problema; verifique o App ID, se o token foi excluído, as permissões do arquivo de ambiente e o status da conta Steam.
Mantenha a sessão SSH atual aberta e libere primeiro o SSH:
sudo ufw allow OpenSSH
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw status numbered
sudo ufw enable
Adicione isto apenas se habilitar o CSTV:
sudo ufw allow 27020/udp
O grupo de segurança do provedor de nuvem deve ser configurado com os mesmos protocolos. Depois verifique as portas de escuta reais:
sudo ss -lntup | grep -E ':27015|:27020'
Os erros mais comuns são abrir apenas TCP 27015, alterar apenas o UFW e esquecer o grupo de segurança da nuvem, ou abrir de uma vez uma faixa grande de portas não relacionadas. Para uma única instância comum, abra primeiro apenas as portas que você tem certeza de que precisa; se os logs mostrarem que a instância usa outra porta, investigue os parâmetros de inicialização e os processos em conflito.
Ative o console de desenvolvedor nas configurações do CS2, pressione ~ para abrir o console e digite:
connect 203.0.113.20:27015
Substitua o IP de exemplo pelo IPv4 público real da VPS. Se usar um domínio:
connect cs2.example.com:27015
Se o servidor tiver senha definida, o cliente vai pedi-la. Se a conexão falhar, use primeiro o IP público para descartar problemas de DNS e depois verifique o systemd, as portas de escuta, o UFW, o grupo de segurança da nuvem e a versão do servidor.
Habilite o CSTV apenas quando realmente precisar de espectadores, narração ou gravação. Adicione isto ao final do ExecStart do systemd:
+tv_enable 1 +tv_port 27020
Recarregue e reinicie:
sudo systemctl daemon-reload
sudo systemctl restart cs2
sudo journalctl -u cs2 -n 150 --no-pager
sudo ss -lunp | grep ':27020'
Os espectadores se conectam:
connect 203.0.113.20:27020
O processo oficial de testes de campeonato da Valve também usa a porta de jogadores 27015 e a porta CSTV 27020. Um 5v5 privado que não precisa de CSTV deve mantê-lo desativado para reduzir largura de banda, armazenamento e superfície exposta.
Os mapas padrão podem ser baixados novamente pelo SteamCMD; o que realmente precisa de proteção é a configuração personalizada, as listas de banimento, as configurações de partida, os logs, as gravações e os dados de plugins. Primeiro crie o diretório de backup:
sudo install -d -m 750 -o root -g cs2 /var/backups/cs2
Pare o servidor em uma janela de manutenção e compacte o diretório de configuração:
sudo systemctl stop cs2
sudo tar -C /opt/cs2 -czf \
"/var/backups/cs2/cs2-config-$(date -u +%Y%m%dT%H%M%SZ).tar.gz" \
game/csgo/cfg
sudo systemctl start cs2
sudo systemctl is-active cs2
Verifique o arquivo compactado:
sudo ls -lh /var/backups/cs2
sudo tar -tzf /var/backups/cs2/cs2-config-YYYYMMDDTHHMMSSZ.tar.gz | head -n 50
Substitua o nome de arquivo de exemplo pelo arquivo realmente gerado. Se as gravações de partidas, os plugins e o conteúdo de Workshop estiverem em outros diretórios, adicione-os à lista de backup pelos caminhos reais. Sincronize pelo menos uma cópia para outra máquina ou armazenamento de objetos e faça simulações de restauração com regularidade. Para um plano completo de backup fora da máquina, consulte o guia de backup e simulação de recuperação em VPS.
Antes de restaurar, pare o serviço e preserve a configuração atual:
sudo systemctl stop cs2
sudo tar -tzf /var/backups/cs2/cs2-config-YYYYMMDDTHHMMSSZ.tar.gz | head -n 50
sudo mv /opt/cs2/game/csgo/cfg \
"/opt/cs2/game/csgo/cfg.before-restore-$(date -u +%Y%m%dT%H%M%SZ)"
sudo tar -C /opt/cs2 -xzf \
/var/backups/cs2/cs2-config-YYYYMMDDTHHMMSSZ.tar.gz
sudo chown -R cs2:cs2 /opt/cs2/game/csgo/cfg
sudo systemctl start cs2
Verifique o status, o carregamento da configuração e as conexões de jogadores:
sudo systemctl status cs2 --no-pager
sudo journalctl -u cs2 -n 200 --no-pager
sudo ss -lntup | grep ':27015'
A recuperação só termina quando você confirma que o nome do servidor, a senha, o modo, a lista de banimentos e as conexões estão normais. Mantenha cfg.before-restore-* até a aceitação e não exclua imediatamente a única cópia de fallback.
Quando as versões de cliente e servidor não coincidem, os jogadores encontram versão desatualizada ou falhas de conexão. Crie um script de manutenção executado pelo root:
sudo nano /usr/local/sbin/update-cs2-server
Grave:
#!/usr/bin/env bash
set -euo pipefail
backup_dir=/var/backups/cs2
stamp=$(date -u +%Y%m%dT%H%M%SZ)
was_active=0
install -d -m 750 -o root -g cs2 "$backup_dir"
if systemctl is-active --quiet cs2; then
was_active=1
systemctl stop cs2
fi
restart_service() {
if [ "$was_active" -eq 1 ]; then
systemctl start cs2
fi
}
trap restart_service EXIT
tar -C /opt/cs2 -czf \
"$backup_dir/cs2-before-update-$stamp.tar.gz" \
game/csgo/cfg
sudo -u cs2 /opt/steamcmd/steamcmd.sh \
+force_install_dir /opt/cs2 \
+login anonymous \
+app_update 730 \
+quit
Depois de salvar, ajuste as permissões e teste manualmente:
sudo chown root:root /usr/local/sbin/update-cs2-server
sudo chmod 750 /usr/local/sbin/update-cs2-server
sudo /usr/local/sbin/update-cs2-server
sudo systemctl is-active cs2
sudo journalctl -u cs2 -n 150 --no-pager
O script para o servidor e faz backup da configuração antes de atualizar; mesmo se o SteamCMD falhar, o manipulador de saída tentará restaurar o estado original do serviço. Se o seu SteamCMD exigir login interativo, não habilite atualizações desassistidas; execute-as manualmente em uma janela de manutenção.
Atualizações automáticas interrompem partidas em andamento, então só são adequadas para servidores com uma janela de manutenção fixa em horário de baixo movimento e um SteamCMD anônimo já verificado. Crie o service:
sudo nano /etc/systemd/system/cs2-update.service
[Unit]
Description=Update Counter-Strike 2 Dedicated Server
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/update-cs2-server
Crie o timer:
sudo nano /etc/systemd/system/cs2-update.timer
[Unit]
Description=Daily CS2 update maintenance window
[Timer]
OnCalendar=*-*-* 05:30:00
RandomizedDelaySec=10m
Persistent=true
[Install]
WantedBy=timers.target
Carregue e confira o próximo horário de execução:
sudo systemctl daemon-reload
sudo systemctl enable --now cs2-update.timer
systemctl list-timers cs2-update.timer
Servidores comunitários públicos fazem melhor em monitorar primeiro as atualizações da Valve e depois avisar os jogadores com antecedência e disparar a atualização manualmente. Não deixe o timer forçar a parada no meio de uma partida.
Primeiro registre uma semana de dados reais de pico:
free -h
df -h /opt/cs2 /var/backups/cs2
uptime
ps -C cs2 -o pid,%cpu,%mem,rss,etime,cmd
sudo journalctl -u cs2 --since "30 minutes ago" --no-pager
Fique atento a:
- Um único núcleo constantemente saturado, picos de latência em confrontos com vários jogadores: migre para um nó com núcleo único mais forte e menos overselling.
- A memória cresce sem parar ou ocorre OOM: primeiro desative plugins não verificados e depois amplie a memória.
- As atualizações falham com frequência por falta de disco: amplie o NVMe e reserve espaço extra para downloads de novas versões e backups.
- Perda de pacotes e jitter evidentes no horário de pico: mude para uma rota mais próxima dos jogadores e com qualidade UDP estável.
- Gravações do CSTV e logs crescem rápido: defina um período de retenção separado e não deixe a partição raiz encher.
Não acredite cegamente em "mais vCPUs". Para uma única instância 5v5, um núcleo único estável e a qualidade da rede costumam importar mais do que um monte de núcleos lentos. Antes de ampliar, reproduza o problema com partidas reais e descarte plugins, logs e espaço em disco.
Verifique se o comando de instalação usa o App ID 730 e se o binário existe:
test -x /opt/cs2/game/bin/linuxsteamrt64/cs2
grep -n '"appid"' /opt/cs2/steamapps/appmanifest_730.acf | head
Se um tutorial pede o App ID 740 e srcds_run, ele não está descrevendo o processo atual do servidor CS2.
Verifique a unit e os logs completos:
sudo systemctl status cs2 --no-pager
sudo journalctl -u cs2 -n 250 --no-pager
sudo systemctl cat cs2
Confira principalmente o caminho do binário, o usuário de execução, o diretório de trabalho, as bibliotecas de 32 bits ausentes e o arquivo de ambiente. Não coloque um bash -c desnecessário na unit para mascarar o código de saída real.
Confirme que o token foi criado com o App ID 730, não foi excluído nem expirou, e que cada instância usa um GSLT separado:
sudo test -s /etc/cs2/cs2.env
sudo stat -c '%a %U:%G %n' /etc/cs2/cs2.env
sudo journalctl -u cs2 -n 250 --no-pager | grep -iE 'steam|token|login|auth'
Não copie o token real para a saída do terminal, chats ou tickets. Se suspeitar de vazamento, exclua e recrie diretamente na página de gerenciamento da Steam.
Verifique em ordem o processo, as portas, o firewall local e o grupo de segurança da nuvem:
sudo systemctl is-active cs2
sudo ss -lntup | grep ':27015'
sudo ufw status numbered
sudo journalctl -u cs2 -n 200 --no-pager
Use conexão direta pelo IP público para descartar problemas de DNS. Confirme que existem regras UDP e TCP e verifique se os parâmetros reais de inicialização do systemd não mudaram para outra porta.
Primeiro avise os jogadores e execute uma atualização de manutenção:
sudo /usr/local/sbin/update-cs2-server
sudo systemctl is-active cs2
sudo journalctl -u cs2 -n 200 --no-pager
Se ainda falhar, valide com app_update 730 validate; não exclua todo o diretório de instalação e muito menos os backups de configuração.
Confirme que o arquivo está em:
/opt/cs2/game/csgo/cfg/server.cfg
E verifique se o comando de inicialização inclui explicitamente +exec server.cfg. Se um parâmetro também estiver definido no ExecStart do systemd, o valor da linha de comando pode sobrescrever o arquivo de configuração. Depois de modificar a unit, execute systemctl daemon-reload; depois de modificar a configuração, no mínimo reinicie o serviço e revise os logs.
- O SteamCMD usa o App ID 730 e o binário do servidor é
linuxsteamrt64/cs2. - O serviço roda com um usuário
cs2dedicado, não com root. - O GSLT foi criado com o AppID de CS 730, é separado por instância e não é público.
-
/etc/cs2/cs2.envtem permissões 600 e proprietário root. -
systemctl is-active cs2retornaactive. - A 27015 TCP/UDP está corretamente liberada tanto no UFW quanto no grupo de segurança da nuvem.
- A 27020 não está aberta quando o CSTV não é usado; após habilitá-lo, a conexão de espectadores foi verificada.
- O cliente Steam consegue entrar pelo IP público ou por um domínio DNS only.
-
server.cfgfaz efeito esv_cheatspermanece desativado. - A configuração é copiada antes das atualizações, com pelo menos uma cópia mantida fora da máquina.
- Uma restauração de configuração foi realmente feita, e o nome do servidor, o modo e a lista de banimentos foram verificados.
- As atualizações agendadas rodam apenas em uma janela de manutenção clara e não interrompem partidas.
Rodar um servidor dedicado de CS2 de forma estável em uma VPS não é copiar um comando de inicialização, mas usar o App ID 730 atual e o binário cs2 do Source 2, guardar com segurança um GSLT separado por instância, abrir corretamente a 27015 TCP/UDP e cuidar em conjunto do backup da configuração, da supervisão com systemd e das janelas de manutenção de atualização.
Um 5v5 privado pode começar com 4 vCPUs de alto desempenho, 8 GB de RAM e 80 GB NVMe, enquanto um servidor público deve ser ampliado aos poucos conforme os picos reais de CPU, o jitter de rede, os logs e o espaço do CSTV. Fazer um teste real de conexão, atualização de versão e recuperação antes de publicar reduz mais as interrupções de partidas do que adicionar cegamente portas, plugins ou automação.