Como criar um servidor FiveM do zero no Ubuntu Linux
Guia técnico para subir um servidor FiveM em VPS Ubuntu 24.04: baixar artifacts, configurar server.cfg, gerar license key e abrir portas com UFW.
Subir um servidor FiveM no Linux é mais barato em recursos que no Windows e ganha estabilidade em uptimes longos, mas exige conhecer alguns detalhes específicos da plataforma: os artifacts oficiais são entregues como tarball, a CFX exige license key amarrada ao IP, e a porta padrão precisa estar liberada em TCP e UDP — esquecer um dos dois é a causa número um de “servidor não aparece na lista”.
Este tutorial cobre a instalação do zero numa VPS Ubuntu 24.04 LTS, do usuário dedicado até o servidor aceitando conexões. A persona é dono de servidor novo que vai migrar de host gerenciado para uma VPS Linux e precisa entender o que cada peça faz.
Tempo estimado: 20 a 30 minutos numa VPS razoável, contando download dos artifacts.
Pré-requisitos
Você precisa de uma VPS Ubuntu 24.04 LTS com acesso sudo, pelo menos 2 GB de RAM e ~5 GB livres em disco. Conexão SSH funcionando e o IP público da VPS em mãos (vai precisar para gerar a license key).
Antes de começar, anote os dados de acesso que você vai usar ao longo do tutorial. Em uma VPS Hostini recém-provisionada, eles vêm no e-mail de boas-vindas:
Ubuntu 24.04 LTS SSH como root ou sudo 30120 (TCP+UDP) recommended Confirme a versão do sistema antes de prosseguir:
lsb_release -a
A saída deve mostrar Description: Ubuntu 24.04 LTS ou similar. Se estiver em uma versão antiga (20.04, 22.04), o tutorial ainda funciona — só os comandos de pacote podem variar levemente.
Criar usuário dedicado para o servidor
Rodar o FiveM como root é prática insegura: qualquer falha em um resource mal escrito vira acesso administrativo total à máquina. Criar um usuário separado leva 30 segundos e isola o impacto.
Crie o usuário fivem com diretório home padrão:
sudo adduser --disabled-password --gecos "" fivemA flag --disabled-password impede login direto por senha (você acessa via sudo su - fivem a partir do seu usuário sudo). Isso reduz superfície de ataque por brute-force SSH no usuário do servidor.
Mude para o usuário recém-criado:
sudo su - fivemDaqui pra frente, todos os comandos que envolvem arquivos do servidor rodam dentro desta sessão. Você está em /home/fivem.
Instalar dependências do sistema
FiveM no Linux exige algumas libs do sistema que não vêm por padrão no Ubuntu Server. Faltar qualquer uma delas resulta em erro genérico “segmentation fault” no startup, que é difícil de diagnosticar.
Saia para o usuário sudo (exit) e atualize o índice de pacotes:
sudo apt update
sudo apt install -y xz-utils curl screen libssl3 ca-certificatesxz-utils extrai o tarball dos artifacts (formato .tar.xz), screen mantém o servidor rodando após você desconectar do SSH, e libssl3 é a runtime de TLS que o FiveM linka dinamicamente.
Para servidor em produção, systemd é superior a screen — reinicia sozinho após crash, integra com journalctl, sobrevive a reboot do host. A seção “Próximos passos” indica como migrar depois que você confirmar que o servidor sobe corretamente.
Baixar os artifacts oficiais
A CFX publica builds linux do servidor em runtime.fivem.net. Cada build tem um hash único e é incremental. Para produção, use sempre a branch recommended.
Volte para o usuário fivem e crie a estrutura de pastas:
sudo su - fivem
mkdir -p ~/server ~/server-data
cd ~/serverA separação entre server/ (artifacts) e server-data/ (sua configuração e resources) facilita upgrade: você baixa novos artifacts substituindo server/ sem tocar nos seus dados.
Baixe o tarball mais recente da branch recommended. O link muda a cada build — confira sempre https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/ no navegador para pegar a versão atual. Substitua a URL abaixo pela atual:
curl -sLo fx.tar.xz https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/15601-COMMIT_HASH/fx.tar.xz
tar xf fx.tar.xz
rm fx.tar.xzApós extrair, você terá o binário run.sh e as pastas alpine/ e opt/ dentro de ~/server/.
Builds com mais de 6 meses geralmente não conseguem mais conectar à master list da CFX porque os endpoints de licenciamento mudaram. Se você está retomando um servidor parado há muito tempo, baixe um build novo antes de tentar diagnosticar problemas de conexão.
Gerar a license key
Desde 2018 a CFX exige license key para qualquer servidor — sem ela o servidor sobe mas recusa todas as conexões com erro de autenticação. A key é gratuita e amarrada ao IP público da máquina.
Em um navegador, acesse keymaster.fivem.net, faça login com sua conta CFX e crie uma nova key. O painel pede:
- IP address: o IP público da sua VPS (o mesmo que você usa no SSH)
- Server type: VPS / Dedicated
A key gerada tem formato xxxxxxxxxxxxxxxxxxxx. Copie e guarde.
Se o IP da sua VPS mudar (migração, novo provedor, troca de plano), a key existente para de funcionar. Vá ao keymaster e atualize o IP — não precisa gerar uma nova, só edite a existente. Servidores Hostini têm IP estático, então isso só é problema se você migrar.
Configurar o server.cfg
O arquivo server.cfg define nome, slots, license key, recursos carregados e portas. Vamos partir do template oficial e ajustar o mínimo para o servidor subir.
Inicialize o server-data/ com o template oficial via git:
cd ~/server-data
git clone https://github.com/citizenfx/cfx-server-data.git .Isso traz um server.cfg de exemplo e a pasta resources/ com recursos básicos (mapmanager, chat, spawnmanager). Suficiente para o primeiro boot.
Edite o server.cfg:
nano server.cfgProcure pela linha sv_licenseKey changeme e substitua changeme pela key gerada no keymaster. Ajuste também:
sv_hostname "Meu Servidor FiveM"
sv_maxclients 32
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"0.0.0.0 faz o servidor escutar em todas as interfaces de rede. Use 127.0.0.1 apenas se você for fazer reverse proxy.
Abrir as portas no firewall
Ubuntu 24.04 vem com ufw instalado mas inativo. Antes de ativar o firewall, libere SSH para não se trancar fora, depois abra a porta do FiveM.
Libere as portas necessárias:
sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw enableConfirme com sudo ufw status — você deve ver as três regras ativas.
Se você esquecer o allow OpenSSH e ativar o firewall por uma sessão SSH, perde acesso imediatamente. Sempre confirme a regra de SSH antes de ufw enable. Se você ficar trancado, será necessário usar o console web da VPS para corrigir.
Subir o servidor
Com config pronta e firewall liberado, é hora do primeiro boot.
Volte para o usuário fivem e inicie o servidor dentro de um screen para que ele continue rodando após você desconectar:
sudo su - fivem
screen -S fivem
cd ~/server-data
bash ~/server/run.sh +exec server.cfgVocê verá o log do servidor rolar. Logs de sucesso incluem Authenticating server license key... seguido de Server license key authenticated. Depois, Server started, ready for connections.
Para destacar do screen sem matar o processo, pressione Ctrl+A seguido de D. Para reatachar depois: screen -r fivem.
Verificação
Confirme que o servidor está respondendo na porta e visível externamente.
Da própria VPS, teste localmente:
curl -s http://localhost:30120/info.json
A resposta deve ser um JSON com vars, enhancedHostSupport e resources. Se vier vazio ou der Connection refused, o servidor não terminou de subir ou crashou — volte ao screen e veja o log.
De outra máquina, abra o cliente FiveM e conecte por IP direto:
IP_DA_SUA_VPS:30120
Se conectar, o servidor está operacional e visível para a CFX. Em até 5 minutos ele também aparece na lista pública filtrando pelo nome.
Resolução de problemas
Servidor sobe mas não aparece na lista pública
Quase sempre é UDP bloqueado. Confirme com sudo ufw status que a regra 30120/udp está ativa. Em alguns provedores, há um firewall na borda da rede além do UFW da máquina — verifique o painel do provedor.
Erro “Server license key invalid”
A key está amarrada a um IP diferente do atual. Vá ao keymaster, edite a key existente e atualize o IP para o da VPS.
Servidor mata o processo após alguns minutos
Falta de RAM. Rode free -h e veja se a VPS está com swap esgotado. FiveM vanilla precisa de pelo menos 2 GB livres; com framework roleplay, planeje 8 GB.
Próximos passos
Com o servidor base operacional, considere:
- Migrar de
screenparasystemd: cria um service unit que reinicia o servidor após crash e sobrevive a reboot do host. - Configurar backup automatizado do
server-data/para um storage externo — perder a database do framework é caro. - Instalar framework (ESX, QBCore, vRP) por cima do servidor vanilla, dependendo do tipo de gameplay.
- Adicionar reverse proxy com nginx ou caddy para servir o painel de status do servidor em HTTPS.
- Monitorar CPU e RAM com ferramentas básicas como
htopou um agente de métricas dedicado.
Se você está colocando isso em produção, vale considerar uma VPS otimizada para servidores de jogos — máquinas com CPU de alto clock single-thread, IP estático e proteção contra ataques de saturação, que é o ponto fraco típico de servidores FiveM expostos.
Perguntas frequentes
Qual a diferença entre artifacts recommended e latest?
A branch `latest` recebe correções mais cedo, mas pode introduzir regressões. A `recommended` é validada pela CFX após alguns dias em testing e é a escolha padrão para servidores em produção. Só use `latest` se precisa de um fix específico ou está testando recursos novos.
Por que meu servidor aparece offline mesmo rodando?
Quase sempre é firewall bloqueando UDP 30120. FiveM usa TCP para HTTP de status e UDP para o tráfego de jogo — se o UDP não passa, o servidor não aparece na lista da CFX nem aceita conexões. Confirme com `sudo ufw status` e libere as duas portas.
Preciso de license key mesmo em servidor privado de testes?
Sim. Desde 2018 a CFX exige license key para qualquer servidor — incluindo localhost. A key é gratuita, gerada em keymaster.fivem.net e amarrada ao IP do servidor. Sem ela, o servidor inicializa mas recusa conexões com erro de autenticação.
Quanto de RAM um servidor FiveM básico consome?
Um servidor vanilla com 32 slots e poucos resources consome entre 1.5 e 3 GB de RAM. Servidores roleplay com framework (ESX/QBCore) e 64 slots facilmente passam de 6 GB. Para projetos sérios, planeje 8 GB como piso e CPU com bom single-thread, já que FiveM é predominantemente single-threaded.
Posso rodar o servidor como root?
Pode, mas não deveria. Rodar serviços de rede expostos como root é prática insegura — qualquer exploit no FiveM ou em resources mal escritos vira RCE com privilégio total. Crie um usuário dedicado (`adduser fivem`) e rode tudo a partir dele.
O servidor reinicia sozinho se a VPS reiniciar?
Não, a menos que você configure. Para resiliência real use `systemd` com um service unit dedicado ou `tmux`/`screen` com autostart no crontab `@reboot`. Sem isso, qualquer reboot do host derruba o servidor até intervenção manual.