Este guia genérico prepara uma máquina Linux (Ubuntu ou Debian) ou Windows Server para hospedar qualquer servidor de jogo: escolha do provedor, usuário não root, chaves SSH, firewall, fail2ban, SteamCMD, Docker, serviço systemd, monitoramento e backups. Reserve 1 a 2 horas; depois siga o guia de instalação do seu jogo.
Instalação passo a passo
Escolha provedor e plano (veja «Escolher um provedor») e contrate um VPS ou dedicado com Ubuntu LTS ou Debian estável.
Conecte-se por SSH com a conta root fornecida e atualize o sistema.
Crie um usuário não root com sudo; nunca execute um servidor de jogo como root.
Instale sua chave SSH pública e desative o login root e por senha.
Ative o firewall ufw: negar toda a entrada, permitir SSH e depois as portas do jogo.
Instale o fail2ban para bloquear tentativas repetidas de login SSH.
Instale o SteamCMD (jogos Steam) ou Docker (imagens da comunidade) conforme o jogo.
Instale o servidor do jogo com o guia do seu jogo e abra suas portas (ferramenta «Verificador de portas»).
Crie um serviço systemd (ou sessão tmux) para iniciar e reiniciar o servidor automaticamente.
Configure monitoramento (logs, recursos) e backups agendados e testados.
Escolher provedor e plano
- VPS (a partir de alguns euros por mês): suficiente para um servidor pequeno; verifique se a CPU não é muito compartilhada, pois a maioria dos jogos depende de um núcleo rápido.
- Dedicado: para vários servidores ou muitos slots; escolha SSD/NVMe e boa frequência de CPU.
- Critérios: localização próxima dos jogadores (latência), proteção anti-DDoS incluída, tráfego ilimitado ou cota suficiente, firewall de rede («security group»), snapshots, suporte. Estime recursos com a «Calculadora de recursos do servidor».
Primeiro login e usuário não root
Substitua 203.0.113.10 pelo IP do seu servidor e gameadmin pelo nome que preferir:
ssh [email protected]
apt update && apt upgrade -y
adduser gameadmin
usermod -aG sudo gameadminChaves SSH e endurecimento do sshd
No seu computador: ssh-keygen -t ed25519 e depois ssh-copy-id [email protected]. Teste o login por chave em um segundo terminal ANTES de desativar as senhas e crie /etc/ssh/sshd_config.d/99-hardening.conf (Ubuntu 22.04+, Debian 12):
# /etc/ssh/sshd_config.d/99-hardening.conf
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
# Apply: sudo sshd -t && sudo systemctl reload sshFirewall ufw
Permita o SSH antes de ativar o ufw para não ficar de fora. Depois adicione as portas do seu jogo (exemplo FiveM: 30120 TCP e UDP; as portas de cada jogo estão no Verificador de portas; a ferramenta «Regras de firewall» gera os comandos). Replique-as no firewall de rede do provedor (OVH, Hetzner, Scaleway…: «security group»).
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw enable
sudo ufw status verbosefail2ban
O fail2ban bane temporariamente endereços que falham várias vezes no login. Crie /etc/fail2ban/jail.local (não edite o jail.conf):
# sudo apt install fail2ban
# /etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h
# sudo systemctl enable --now fail2ban
# sudo fail2ban-client status sshdSteamCMD (jogos Steam)
Instalação manual a partir do arquivo oficial da Valve (como gameadmin, não root). Substitua APPID pelo ID do servidor dedicado do seu jogo (veja SteamDB ou o guia do jogo). Alguns servidores exigem uma conta Steam em vez de «anonymous»: consulte a documentação do jogo.
sudo apt install -y lib32gcc-s1 curl ca-certificates
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
./steamcmd.sh +force_install_dir ~/server +login anonymous +app_update APPID validate +quitDocker (imagens da comunidade)
O script de conveniência do Docker serve para testes; em produção siga a instalação por repositório apt em docs.docker.com. É preciso sair e entrar de novo após entrar no grupo docker. Contêineres publicados com -p contornam o ufw: restrinja-os também no firewall do provedor.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker gameadmin
# log out, log back in, then:
docker run --rm hello-worldServiço systemd
Crie /etc/systemd/system/gameserver.service (adapte User, WorkingDirectory e ExecStart ao script de inicialização do seu jogo) e execute: sudo systemctl daemon-reload && sudo systemctl enable --now gameserver. Logs: journalctl -u gameserver -f.
[Unit]
Description=Game server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=gameadmin
WorkingDirectory=/home/gameadmin/server
ExecStart=/home/gameadmin/server/start.sh
Restart=on-failure
RestartSec=10
LimitNOFILE=65536
[Install]
WantedBy=multi-user.targetAlternativa: tmux
O tmux mantém o servidor ativo após desconectar o SSH e dá acesso ao console (útil para comandos). Desanexe com Ctrl+B e depois D. Ele não reinicia o servidor após falha ou reboot: prefira systemd em produção.
sudo apt install -y tmux
tmux new -s game
# inside tmux: run ./start.sh, then press Ctrl+B then D
tmux attach -t gameVariante Windows Server
Conecte-se por Área de Trabalho Remota (limite a porta 3389 ao seu IP ou use VPN), instale o SteamCMD ou o servidor do jogo em C:\gameserver, abra as portas no PowerShell (administrador) e inicie o servidor no boot com uma tarefa agendada. Agende as reinicializações do Windows Update para evitar quedas inesperadas.
New-NetFirewallRule -DisplayName "Game UDP 27015" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow
New-NetFirewallRule -DisplayName "Game TCP 27015" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow
schtasks /Create /TN "GameServer" /TR "C:\gameserver\start.bat" /SC ONSTART /RU SYSTEM /RL HIGHEST /FHospedagem em casa: redirecionamento de portas
- Dê um IP local fixo à máquina (reserva DHCP no roteador).
- No roteador, redirecione (NAT) cada porta do jogo, com o protocolo certo, para esse IP local.
- Abra também o firewall da máquina. Teste de fora (4G/5G), não da rede local.
- Se sua operadora usa CGNAT (sem IP público dedicado), o redirecionamento é impossível: peça um IP público ou use um VPS ou túnel.
- Expor seu IP pessoal traz riscos (DDoS direcionado): um VPS protegido é mais seguro para um servidor público.
Notas sobre ataques DDoS
- O firewall da máquina não basta contra um ataque volumétrico: a proteção deve ocorrer a montante, no provedor.
- Verifique o que o anti-DDoS do plano cobre (protocolos UDP/jogo, modo «gaming»): não é igual em todos os provedores.
- Não divulgue o IP de origem se usar proxy ou túnel; não exponha RCON nem consoles web.
Monitoramento
Comandos úteis: logs do serviço, portas realmente em escuta (compare com o firewall), carga de CPU/RAM e espaço em disco. Para monitoramento contínuo, adicione uma ferramenta como Netdata ou Prometheus, com alertas de RAM e disco.
journalctl -u gameserver -f
sudo ss -lntup
htop
free -h
df -hBackups
Faça backup do mundo e da configuração diariamente, mantenha várias versões e copie-as para fora do servidor. A ferramenta «Gerador de script de backup» produz um script completo com retenção; exemplo mínimo (crontab):
30 4 * * * tar -czf /backups/gameserver-$(date +\%Y\%m\%d).tar.gz -C /home/gameadmin server && find /backups -name 'gameserver-*.tar.gz' -mtime +7 -deleteSolução de problemas
- Jogadores não conseguem conectar: verifique o protocolo (UDP vs TCP), ufw, o firewall do provedor e se o servidor está realmente escutando (sudo ss -lntup).
- «Permission denied (publickey)»: a chave não está em ~/.ssh/authorized_keys do usuário ou as permissões estão abertas demais (chmod 700 ~/.ssh, chmod 600 ~/.ssh/authorized_keys).
- O servidor é encerrado («Killed», OOM): memória insuficiente; verifique «dmesg | grep -i oom», adicione RAM ou reduza slots e mods. Um arquivo swap limita travamentos, mas deixa mais lento.
- O serviço reinicia em loop: leia «journalctl -u gameserver -n 100»; verifique caminhos, permissões (o servidor deve pertencer ao gameadmin) e bibliotecas de 32 bits ausentes para o SteamCMD.
- O servidor não aparece na lista: a porta de consulta (query) está bloqueada ou o servidor não está registrado; adicione-o em game-rank.com/jeux para ser listado.
Perguntas frequentes
- VPS ou servidor dedicado para um servidor de jogo?
- Um VPS basta para um servidor pequeno ou para testes. Passe a um dedicado para vários servidores, muitos slots ou desempenho estável (sem vizinhos barulhentos).
- Ubuntu ou Debian?
- Ambos servem e os comandos são quase idênticos. Escolha uma versão com suporte (Ubuntu LTS ou Debian estável) e verifique a compatibilidade indicada pelo editor do jogo.
- Preciso mesmo desativar o login root e por senha?
- É fortemente recomendado: servidores expostos recebem milhares de tentativas por dia. Uma chave SSH e um usuário não root eliminam a maior parte do risco; mantenha um console de recuperação no provedor.
- Docker ou instalação direta?
- A instalação direta com SteamCMD e systemd é a mais simples e a melhor documentada pelos editores. O Docker isola e facilita vários servidores em uma máquina, mas adiciona uma camada a entender (rede, volumes, firewall).
