O servidor dedicado do Garry's Mod é instalado com o SteamCMD (app 4020, login anônimo) e iniciado com srcds_run (Linux) ou srcds.exe (Windows). Conte com cerca de 30 minutos, um VPS ou PC e um token de servidor GSLT, obrigatório segundo a wiki da Facepunch. Fonte principal: wiki.facepunch.com/gmod.
Instalação passo a passo
Escolha a máquina: VPS Linux (Ubuntu/Debian) ou PC Windows; a carga depende principalmente dos addons e do modo de jogo.
Crie um usuário não root (steam) e instale o SteamCMD e as bibliotecas de 32 bits.
Baixe o servidor: app_update 4020 validate com login anônimo.
Crie um token GSLT (AppID 4000) em steamcommunity.com/dev/managegameservers.
Gere a linha de inicialização com a ferramenta «Comando de inicialização do Garry's Mod» e execute srcds_run.
Configure garrysmod/cfg/server.cfg com a ferramenta «Gerador de server.cfg do Garry's Mod».
Adicione seus addons com uma coleção Workshop (+host_workshop_collection).
Abra as portas (27015 UDP/TCP no mínimo) no ufw, no provedor e no roteador.
Teste localmente (connect 127.0.0.1 no console do jogo) e depois de outra conexão.
Crie um serviço systemd e agende atualizações e backups.
Pré-requisitos
- Sistema: Linux (Ubuntu/Debian) ou Windows. A wiki da Facepunch traz comandos para Windows e Linux.
- Recursos: a wiki não define mínimo. Comece com 2 vCPU, 4 GB de RAM e vários GB de disco e ajuste conforme addons e jogadores (não documentado oficialmente).
- Contas: uma conta Steam para o token GSLT (AppID 4000); o servidor em si é instalado com login anônimo.
Instalação local no Windows
Depois de descompactar o SteamCMD em C:\steamcmd, instale o servidor e execute srcds.exe (exemplo da wiki da Facepunch). Depois teste com connect 127.0.0.1 no console do jogo.
cd C:\steamcmd
steamcmd +force_install_dir C:\gmodds +login anonymous +app_update 4020 validate +quit
cd C:\gmodds
srcds.exe -console -game garrysmod +maxplayers 20 +gamemode sandbox +map gm_construct +sv_setsteamaccount YOUR_GSLT_TOKENVPS Linux: usuário e dependências
O servidor Source é um programa de 32 bits: ative a arquitetura i386 e instale as bibliotecas de 32 bits. Os pacotes vêm da wiki do Team Fortress (mesmo motor); os nomes podem variar conforme a distribuição.
sudo adduser steam
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 lib32z1 steamcmd
su - steamVPS Linux: instalação e primeira inicialização
Comando de instalação Linux da wiki da Facepunch e depois início com srcds_run. A página não detalha as portas nem o local exato do server.cfg; valem os padrões do Source (veja abaixo).
steamcmd +login anonymous +force_install_dir /home/steam/gmodds +app_update 4020 validate +quit
cd /home/steam/gmodds
./srcds_run -game garrysmod -console +maxplayers 32 +gamemode sandbox +map gm_construct +sv_setsteamaccount YOUR_GSLT_TOKENWorkshop e token GSLT
Segundo a wiki da Facepunch, +sv_setsteamaccount é obrigatório (sem ele o ranking do servidor é penalizado) e +host_workshop_collection adiciona os addons de uma coleção pública ou não listada, incluindo subcoleções. host_workshop_autoupdate 0 interrompe atualizações automáticas mas pode impedir a entrada de jogadores se a versão do mapa estiver desatualizada. A wiki também cita um novo formato cfg/srcds_workshop_ids.txt (versão 2026.09.22 ou posterior): veja a página «Workshop for Dedicated Servers». Para downloads dos jogadores, veja a ferramenta «Gerenciador de coleção Workshop».
./srcds_run -game garrysmod -console +maxplayers 32 +gamemode sandbox +map gm_construct \
+host_workshop_collection 123456789 \
+sv_setsteamaccount YOUR_GSLT_TOKENPortas a abrir e firewall Linux (ufw)
Estas portas são os valores padrão dos servidores Source (a página consultada da wiki da Facepunch não as lista). Para mudar a porta de jogo, use -port N na linha de inicialização. Addons Workshop são baixados via Steam: nenhuma porta extra do jogador está documentada.
Abra apenas o necessário e teste de outra conexão (não do próprio servidor).
- 27015/udp: jogo (porta Source padrão)
- 27015/tcp: RCON
- 27005/udp: comunicação do cliente
- 27020/udp: SourceTV (opcional)
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="Garry's Mod 27015 UDP" dir=in action=allow protocol=UDP localport=27015
netsh advfirewall firewall add rule name="Garry's Mod 27015 TCP" dir=in action=allow protocol=TCP localport=27015
netsh advfirewall firewall add rule name="Garry's Mod 27005 UDP" dir=in action=allow protocol=UDP localport=27005
netsh advfirewall firewall add rule name="Garry's Mod 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 Garry's Mod 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/gmod.service (como root) e ative-o. Adapte o usuário e os caminhos; veja os logs com journalctl -u gmod -f.
[Unit]
Description=Garry's Mod dedicated server
After=network-online.target
Wants=network-online.target
[Service]
User=steam
WorkingDirectory=/home/steam/gmodds
ExecStart=/home/steam/gmodds/srcds_run -game garrysmod -console -norestart +maxplayers 32 +gamemode sandbox +map gm_construct +sv_setsteamaccount YOUR_GSLT_TOKEN
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
# then:
# sudo systemctl daemon-reload
# sudo systemctl enable --now gmodWindows: 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 "Garry's Mod server" /TR "C:\gmodds\start-gmod.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 gmod
steamcmd +force_install_dir /home/steam/gmodds +login anonymous +app_update 4020 validate +quit
sudo systemctl start gmod
# backup
tar czf ~/gmod-$(date +%F).tar.gz -C /home/steam/gmodds garrysmod/cfg garrysmod/data garrysmod/addons
# daily restart at 05:00 (root crontab: sudo crontab -e)
0 5 * * * systemctl restart gmodCadastrar e encontrar seu servidor
Cadastre seu servidor em https://game-rank.com/jeux/garrys-mod 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
- Clientes presos no carregamento ou «missing content»: addons não fornecidos aos jogadores. Solução: adicione os IDs em workshop.lua (resource.AddWorkshop) ou defina sv_downloadurl (FastDL) e verifique se a coleção é pública.
- 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).
- srcds_run: «No such file or directory» ou biblioteca de 32 bits ausente: o servidor Source é de 32 bits. Solução: ative a arquitetura i386 (dpkg --add-architecture i386) e instale lib32gcc-s1 e lib32stdc++6.
Perguntas frequentes
- O token GSLT é obrigatório?
- A wiki da Facepunch indica que +sv_setsteamaccount é obrigatório e que omiti-lo penaliza o ranking do servidor. Use o AppID 4000 para criar o token.
- Como troco o modo de jogo (DarkRP, TTT…)?
- Com +gamemode <pasta> na linha de inicialização, onde a pasta fica em garrysmod/gamemodes/ ou na pasta gamemodes/ de um addon. Também dá para mudar a variável gamemode e depois trocar de mapa.
- 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 Garry's Mod 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.
