---
title: "Como hospedar servidor de Garry's Mod em VPS Linux"
description: "Servidor dedicado de Garry's Mod na VPS Linux: SteamCMD, server.cfg, coleção da Workshop, ULX, porta 27015, systemd e backup do banco e dos addons."
url: "https://streethosting.com.br/guias/vps/hospedar-servidor-garrys-mod"
category: "vps"
slug: "hospedar-servidor-garrys-mod"
datePublished: "2026-09-28"
dateModified: "2026-09-28"
author: "Equipe StreetHosting"
difficulty: "intermediario"
language: "pt-BR"
keywords:
  - "hospedar servidor garrys mod"
  - "servidor gmod linux"
  - "srcds garrys mod vps"
  - "host_workshop_collection gmod"
  - "ulx servidor gmod"
---

# Servidor dedicado de Garry's Mod no Linux, com Workshop e ULX

O servidor de Garry's Mod roda nativo no Linux e é baixado de graça pelo SteamCMD. Veja quanto de VPS cada modo pede, como configurar, distribuir addons da Workshop, administrar com ULX e manter o banco salvo.

> **Resposta rápida**
>
> Para **hospedar um servidor de Garry's Mod**, instale o SteamCMD em uma VPS Linux, baixe o app 4020, configure a server.cfg e inicie o srcds_run com o modo, o mapa e a coleção da Workshop, dentro de um serviço systemd. Libere a porta 27015 em UDP. Um sandbox para amigos roda com 2 GB de RAM; DarkRP com 64 jogadores pede de 6 a 8 GB e CPU de clock alto.

## Quanto de VPS o GMod precisa

O servidor de Garry's Mod usa o motor Source, e quase toda a simulação, inclusive o código Lua dos addons, roda em um núcleo principal. Por isso o que mais pesa é o clock da CPU e a quantidade de addons, não o número de vCPU. O modo de jogo muda muito a conta: um sandbox entre amigos é leve, e um DarkRP cheio, com dezenas de addons e entidades espalhadas pelo mapa, é dos servidores mais exigentes da Source.

| Cenário | RAM | vCPU | Disco | Plano sugerido |
| --- | --- | --- | --- | --- |
| Até 12 jogadores, sandbox ou TTT, poucos addons | 2 GB | 2 | 20 GB | VPS Xeon R$ 23,00 |
| 16 a 32 jogadores, TTT ou Prop Hunt com Workshop | 4 GB | 2 | 40 GB | VPS Ryzen R$ 64,00 |
| DarkRP ou roleplay até 64 jogadores | 6 a 8 GB | 3 a 4 | 60 a 80 GB | VPS Ryzen R$ 89,00 ou R$ 114,00 |
| Dois ou três servidores na mesma VPS | 12 GB | 5 | 120 GB | VPS Ryzen R$ 164,00 |

Cada servidor usa basicamente um núcleo; as vCPU extras atendem o sistema, o banco de dados, o backup e outras instâncias. O disco cresce com a coleção da Workshop e com o conteúdo de Counter Strike: Source, que muitos modos exigem e ocupa alguns GB. O jogo aceita até 128 vagas, mas acima de 64 jogadores o limite real passa a ser a CPU e a otimização dos addons.

## Preparar a VPS e instalar

Os comandos valem para Ubuntu 24.04 e 22.04. Administre a VPS com um usuário que tem sudo, como mostra o guia de [criar um usuário com sudo na VPS Linux](https://streethosting.com.br/guias/vps/criar-usuario-sudo-vps-linux), e rode o jogo em um usuário próprio, sem privilégio de administrador. Se um addon malicioso ou uma falha do servidor for explorada, o estrago fica preso dentro desse usuário.

```
sudo useradd -m -s /bin/bash gmod
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd lib32gcc-s1 lib32stdc++6 tmux git sqlite3
```

O pacote `steamcmd` pede para aceitar a licença da Steam durante a instalação; aceite com as setas e Enter. O tmux mantém o console do servidor acessível, o git baixa o ULX e o sqlite3 serve para o backup do banco. Agora entre no usuário do jogo e baixe o servidor, com o diretório antes do login, senão o SteamCMD ignora o destino:

```
sudo -iu gmod
/usr/games/steamcmd +force_install_dir /home/gmod/server +login anonymous +app_update 4020 validate +quit
```

O download tem alguns GB. O branch padrão instala o servidor de 32 bits, iniciado pelo `srcds_run`. Existe também o branch `x86-64`, com o executável de 64 bits, mas módulos binários de alguns addons têm versões separadas para ele. Comece pelo padrão e só troque se todos os seus addons forem compatíveis.

## server.cfg, GSLT e script de início

As opções permanentes do servidor ficam em `~/server/garrysmod/cfg/server.cfg`, que você cria com o nano:

```
hostname "GMod Brasil | Sandbox"
sv_password ""
rcon_password "TroqueEstaSenha"
sv_region 2
sv_allowcslua 0
net_maxfilesize 64
```

- **hostname:** o nome na lista de servidores.
- **sv_password:** vazio deixa o servidor aberto; com um valor, só entra quem souber a senha.
- **rcon_password:** senha da administração remota. Use uma senha longa e única.
- **sv_region 2:** marca a região como América do Sul no filtro da lista.
- **sv_allowcslua 0:** impede que jogadores rodem Lua próprio no cliente, uma porta clássica para trapaça.

Para servidor público, gere um token GSLT na [página de servidores de jogo da Steam](https://steamcommunity.com/dev/managegameservers) informando o app 4000, que é o do Garry's Mod para jogadores. O token não é obrigatório para o servidor funcionar, mas vincula o servidor à sua conta e dá a ele uma identidade fixa na lista. Cada servidor deve ter o próprio token.

Modo, mapa, vagas e coleção são passados na linha de comando. Para não espalhar isso pelo serviço, crie o script `/home/gmod/iniciar.sh` e dê permissão com `chmod +x ~/iniciar.sh`:

```
#!/bin/bash
cd /home/gmod/server
MODO=sandbox
MAPA=gm_construct
VAGAS=16
COLECAO=0
TOKEN=SEU_TOKEN_GSLT
exec ./srcds_run -game garrysmod -console -norestart -port 27015 +maxplayers $VAGAS +gamemode $MODO +map $MAPA +host_workshop_collection $COLECAO +sv_setsteamaccount $TOKEN
```

O parâmetro `-norestart` desliga o reinício embutido do srcds_run, porque quem vai cuidar disso é o systemd. Para TTT, troque o modo para `terrortown`, que já vem no jogo, e use um mapa ttt da sua coleção. Rode o script uma vez à mão, confira no console se o mapa carregou sem erros e feche com o comando quit.

## Addons, Workshop e ULX

O jeito mais limpo de distribuir addons é uma coleção pública na Workshop. Crie a coleção na sua conta Steam, adicione os mapas, modelos e scripts, e coloque o número dela, que aparece no fim do endereço da página, na variável COLECAO do script. O servidor baixa tudo ao iniciar, e os jogadores recebem os itens ao entrar.

- **Item que não chega ao jogador:** crie um arquivo Lua em `garrysmod/lua/autorun/server/` com uma linha `resource.AddWorkshop("ID_DO_ITEM")` para cada item que precisa ser baixado.
- **Coleção que não baixa:** versões antigas do servidor exigiam uma chave da Web API da Steam no parâmetro authkey. Se a coleção não baixar e o log reclamar de autenticação, confira na wiki oficial do Garry's Mod se a sua versão ainda pede isso.
- **Addons fora da Workshop:** vão como pastas em `garrysmod/addons`, e modos de jogo inteiros, como o DarkRP, em `garrysmod/gamemodes`, seguindo as instruções de cada projeto.

Muitos mapas de TTT e DarkRP usam modelos e texturas de Counter Strike: Source. Sem esse conteúdo, aparecem os famosos ERRORs vermelhos e as texturas roxas. O servidor dedicado desse jogo também é gratuito, e o mount.cfg diz ao GMod onde ele está:

```
/usr/games/steamcmd +force_install_dir /home/gmod/css +login anonymous +app_update 232330 validate +quit
nano ~/server/garrysmod/cfg/mount.cfg

"mountcfg"
{
    "cstrike"    "/home/gmod/css/cstrike"
}
```

Para administração, o padrão da comunidade é o par ULib e ULX. Instale os dois direto dos repositórios oficiais na pasta de addons e reinicie o servidor:

```
cd ~/server/garrysmod/addons
git clone https://github.com/TeamUlysses/ulib.git
git clone https://github.com/TeamUlysses/ulx.git
```

Entre no servidor com a sua conta e, no console do servidor, dê a si mesmo o cargo máximo com `ulx adduser SeuNome superadmin`. A partir daí, o comando `!menu` no chat abre o painel gráfico do ULX, com expulsão, banimento, grupos e permissões, e comandos como `!kick` e `!ban` funcionam direto no chat. Para atualizar o ULX mais tarde, rode `git pull` dentro de cada pasta.

## Portas e firewall

| Porta | Protocolo | Função | Liberar? |
| --- | --- | --- | --- |
| 27015 | UDP | Jogo e consultas da lista de servidores | Sim |
| 27015 | TCP | RCON, administração remota | Só para o seu IP, ou fechada |
| 27005 | UDP | Porta de cliente, usada na saída | Não precisa |
| 22 | TCP | SSH para administrar a VPS | Sim, antes de ativar o UFW |

```
sudo ufw allow OpenSSH
sudo ufw allow 27015/udp
sudo ufw allow from SEU_IP to any port 27015 proto tcp
sudo ufw enable
```

Troque SEU_IP pelo IP de onde você administra, ou pule essa linha se não usa RCON: com o ULX, quase tudo se resolve de dentro do jogo. O guia de [firewall UFW na VPS Ubuntu](https://streethosting.com.br/guias/vps/firewall-ufw-vps-ubuntu) explica as regras em detalhe. Para um segundo servidor na mesma VPS, use 27016 no script dele e libere essa porta também.

Servidores da Source estão entre os alvos mais comuns de ataques de negação de serviço, principalmente em comunidades de roleplay com disputa entre grupos. O [guia de AntiDDoS para servidores de jogos](https://streethosting.com.br/guias/infraestrutura/antiddos-servidor-jogos-brasil) mostra o que a proteção de rede resolve e o que continua sendo tarefa sua. Se o servidor não aparece na lista, confira:

- **Regra UDP ausente:** `sudo ufw status` precisa mostrar 27015/udp. Liberar só TCP é o erro mais comum.
- **Filtros da lista:** a lista da Steam demora alguns minutos para mostrar um servidor novo. Teste antes pelo console do jogo com `connect IP:27015`.
- **Biblioteca faltando:** se o log reclamar de um arquivo .so ausente, instale a versão de 32 bits do pacote, com :i386 no nome. Mensagens sobre steamclient.so costumam se resolver com um link para ele na pasta ~/.steam/sdk32; localize o arquivo com `find ~ -name steamclient.so`.

## Serviço systemd e atualização

O servidor recebe comandos pelo console, então ele roda dentro de uma sessão tmux controlada pelo systemd. Assim sobe sozinho com a VPS, volta depois de uma queda e você continua podendo digitar comandos. Saia do usuário do jogo e crie `/etc/systemd/system/gmod.service`:

```
[Unit]
Description=Servidor Garry's Mod
After=network-online.target
Wants=network-online.target

[Service]
Type=forking
User=gmod
WorkingDirectory=/home/gmod/server
ExecStart=/usr/bin/tmux new-session -d -s gmod /home/gmod/iniciar.sh
ExecStop=/bin/sh -c '/usr/bin/tmux send-keys -t gmod "quit" Enter; while /usr/bin/tmux has-session -t gmod 2>/dev/null; do sleep 1; done'
TimeoutStopSec=60
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
```

```
sudo systemctl daemon-reload
sudo systemctl enable --now gmod
sudo -iu gmod tmux attach -t gmod
```

O último comando abre o console. Para sair sem desligar o servidor, aperte Ctrl+B e depois D. Para atualizar o jogo, pare o serviço, rode o SteamCMD de novo e suba outra vez:

```
sudo systemctl stop gmod
sudo -iu gmod /usr/games/steamcmd +force_install_dir /home/gmod/server +login anonymous +app_update 4020 validate +quit
sudo systemctl start gmod
```

> **Dica**
>
> O validate restaura os arquivos originais do jogo que tenham sido alterados. Suas pastas de addons, dados e a server.cfg ficam, mas rode o backup da próxima seção antes de cada atualização: é a garantia de voltar atrás se um addon quebrar com a versão nova.

## Backup do banco e dos addons

O que não pode se perder no GMod é o banco SQLite `garrysmod/sv.db`, onde modos como o DarkRP guardam dinheiro, propriedades e progresso dos jogadores, e a pasta data, onde muitos addons, incluindo o ULX, salvam grupos, permissões e configurações. O sqlite3 copia o banco de forma consistente mesmo com o servidor rodando. Crie como usuário gmod o script `/home/gmod/backup.sh`:

```
#!/bin/bash
DESTINO=/home/gmod/backups
BASE=/home/gmod/server/garrysmod
DATA=$(date +%F-%H%M)
mkdir -p "$DESTINO"
[ -f "$BASE/sv.db" ] && sqlite3 "$BASE/sv.db" ".backup '$DESTINO/sv-$DATA.db'"
tar -czf "$DESTINO/gmod-$DATA.tar.gz" -C "$BASE" data cfg addons -C /home/gmod iniciar.sh
find "$DESTINO" -name 'sv-*.db' -mtime +14 -delete
find "$DESTINO" -name 'gmod-*.tar.gz' -mtime +14 -delete
```

1. Permissão: `chmod +x ~/backup.sh`
2. Agendador: `crontab -e`
3. A cada três horas: `0 */3 * * * /home/gmod/backup.sh`

Os itens da coleção da Workshop não entram no backup porque o servidor baixa tudo de novo sozinho; basta guardar o número da coleção, que já está no iniciar.sh. Se o seu DarkRP usa MySQL em vez do SQLite, inclua um dump desse banco no script. Para mandar as cópias para fora da VPS, siga o guia de [backup automático com restic e cron](https://streethosting.com.br/guias/vps/automatizar-backup-vps-restic-cron).

> **Atenção**
>
> Para restaurar, pare o serviço antes de trocar o sv.db ou a pasta data. Com o servidor ligado, ele pode gravar por cima da cópia restaurada ao salvar o próximo jogador.

## Qual VPS escolher para Garry's Mod

Para um sandbox ou TTT entre amigos, com poucos addons, a [VPS Xeon](https://streethosting.com.br/vps/xeon) de R$ 23,00 por mês, com 2 vCPU, 2 GB e 20 GB NVMe, dá conta e é o jeito mais barato de ter o servidor sempre no ar.

Para comunidade aberta, a conta muda. Como o GMod roda quase tudo em um núcleo, um servidor cheio de addons Lua depende do clock para não engasgar, e aí a [VPS Ryzen 9 9950X](https://streethosting.com.br/vps/ryzen), com até 5,7 GHz e DDR5, é a escolha certa. TTT ou Prop Hunt com até 32 jogadores cabem no plano de R$ 64,00, com 2 vCPU, 4 GB e 40 GB. DarkRP com 64 jogadores fica entre R$ 89,00, com 3 vCPU, 6 GB e 60 GB, e R$ 114,00, com 4 vCPU, 8 GB e 80 GB. Uma rede com dois ou três servidores cabe no plano de R$ 164,00, com 5 vCPU e 12 GB.

Todos ficam em São Paulo, com AntiDDoS incluso e ativação em até 60 segundos, e o upgrade pelo painel cobra só a diferença proporcional ao ciclo, com uma reinicialização da VPS. Compare as linhas no [hub de VPS](https://streethosting.com.br/vps). Se o seu grupo também joga Unturned, o guia de [servidor de Unturned](https://streethosting.com.br/guias/vps/hospedar-servidor-unturned) segue o mesmo caminho com SteamCMD e cabe na mesma VPS se houver folga.

## Perguntas frequentes

### Quanta RAM precisa um servidor de Garry's Mod?

Um sandbox ou TTT com até 16 jogadores e poucos addons roda com 2 GB. Servidores de 24 a 32 jogadores com coleção grande da Workshop ficam bem com 4 GB, e DarkRP com 64 jogadores e muitos addons pede de 6 a 8 GB. O clock da CPU pesa tanto quanto a RAM.

### Qual porta o servidor de Garry's Mod usa?

A porta padrão é a 27015. Em UDP ela carrega o jogo e as consultas da lista de servidores, e precisa estar liberada. Em TCP ela atende o RCON, que deve ficar restrito ao seu IP ou fechado.

### Como fazer os jogadores baixarem os addons automaticamente?

Monte uma coleção pública na Workshop e passe o número dela no parâmetro host_workshop_collection. O servidor baixa os itens ao iniciar. Se algum item não chegar aos jogadores, registre o download dele com resource.AddWorkshop em um arquivo Lua do servidor.

### Por que aparecem ERRORs e texturas roxas no servidor?

Muitos mapas e modos, como TTT e DarkRP, usam conteúdo de Counter Strike: Source. Monte esse conteúdo no servidor pelo mount.cfg e avise os jogadores que eles também precisam dele para ver os modelos corretamente.

### O token GSLT é obrigatório no Garry's Mod?

O servidor funciona sem ele, mas o recomendado para servidor público é usar. O token é gerado na página de servidores de jogo da Steam com o app 4000 e vincula o servidor à sua conta, com uma identidade fixa na lista.

## Guias relacionados

- [Como hospedar servidor Unturned na VPS Linux](https://streethosting.com.br/guias/vps/hospedar-servidor-unturned.md)
- [Como hospedar servidor CS2 no Brasil com VPS](https://streethosting.com.br/guias/vps/hospedar-servidor-cs2-vps-brasil.md)
- [UFW na VPS Ubuntu: regras de firewall sem perder o SSH](https://streethosting.com.br/guias/vps/firewall-ufw-vps-ubuntu.md)
- [Como configurar backup automático da VPS com restic e cron](https://streethosting.com.br/guias/vps/automatizar-backup-vps-restic-cron.md)
- [AntiDDoS para servidor de jogos no Brasil: como proteção na borda funciona](https://streethosting.com.br/guias/infraestrutura/antiddos-servidor-jogos-brasil.md)

## Produtos citados

- https://streethosting.com.br/vps/ryzen
- https://streethosting.com.br/vps
- https://streethosting.com.br/vps/xeon

## Dados estruturados

```json
[
  {
    "@context": "https://schema.org",
    "@type": [
      "Article",
      "TechArticle"
    ],
    "headline": "Servidor dedicado de Garry's Mod no Linux, com Workshop e ULX",
    "name": "Como hospedar servidor de Garry's Mod em VPS Linux",
    "abstract": "O servidor de Garry's Mod roda nativo no Linux e é baixado de graça pelo SteamCMD. Veja quanto de VPS cada modo pede, como configurar, distribuir addons da Workshop, administrar com ULX e manter o banco salvo.",
    "description": "Servidor dedicado de Garry's Mod na VPS Linux: SteamCMD, server.cfg, coleção da Workshop, ULX, porta 27015, systemd e backup do banco e dos addons.",
    "datePublished": "2026-09-28",
    "dateModified": "2026-09-28",
    "author": {
      "@type": "Organization",
      "name": "Equipe StreetHosting"
    },
    "publisher": {
      "@type": "Organization",
      "name": "StreetHosting",
      "url": "https://streethosting.com.br"
    },
    "inLanguage": "pt-BR",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://streethosting.com.br/guias/vps/hospedar-servidor-garrys-mod"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Quanta RAM precisa um servidor de Garry's Mod?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Um sandbox ou TTT com até 16 jogadores e poucos addons roda com 2 GB. Servidores de 24 a 32 jogadores com coleção grande da Workshop ficam bem com 4 GB, e DarkRP com 64 jogadores e muitos addons pede de 6 a 8 GB. O clock da CPU pesa tanto quanto a RAM."
        }
      },
      {
        "@type": "Question",
        "name": "Qual porta o servidor de Garry's Mod usa?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "A porta padrão é a 27015. Em UDP ela carrega o jogo e as consultas da lista de servidores, e precisa estar liberada. Em TCP ela atende o RCON, que deve ficar restrito ao seu IP ou fechado."
        }
      },
      {
        "@type": "Question",
        "name": "Como fazer os jogadores baixarem os addons automaticamente?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Monte uma coleção pública na Workshop e passe o número dela no parâmetro host_workshop_collection. O servidor baixa os itens ao iniciar. Se algum item não chegar aos jogadores, registre o download dele com resource.AddWorkshop em um arquivo Lua do servidor."
        }
      },
      {
        "@type": "Question",
        "name": "Por que aparecem ERRORs e texturas roxas no servidor?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Muitos mapas e modos, como TTT e DarkRP, usam conteúdo de Counter Strike: Source. Monte esse conteúdo no servidor pelo mount.cfg e avise os jogadores que eles também precisam dele para ver os modelos corretamente."
        }
      },
      {
        "@type": "Question",
        "name": "O token GSLT é obrigatório no Garry's Mod?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "O servidor funciona sem ele, mas o recomendado para servidor público é usar. O token é gerado na página de servidores de jogo da Steam com o app 4000 e vincula o servidor à sua conta, com uma identidade fixa na lista."
        }
      }
    ]
  }
]
```
