← Blog

Como criar um servidor FiveM do zero

Par Benjamin D. · PDG

· Mis à jour le 14 Eost 2026 · Lecture 10 min

Sumário

Criar um servidor FiveM do zero em 2026 continua sendo um projeto acessível, desde que você entenda a ordem correta das etapas: artifacts, chave de licença, banco de dados, framework e otimização. Este tutorial cobre a instalação completa, a configuração do server.cfg, os recursos essenciais e os ajustes de performance que evitam lag com 64 slots ou mais.



O que é necessário antes de montar um servidor FiveM

Antes de digitar a primeira linha de comando, vale entender que o FiveM não é um simples "mundo aberto multiplayer". É uma plataforma de modding que roda sobre o GTA V, com um servidor dedicado (FXServer) que carrega resources em Lua, JavaScript ou C#. Cada script que você adiciona consome CPU, memória e banda. Um projeto roleplay sério normalmente roda entre 150 e 400 resources simultâneos.

Requisitos técnicos reais

Perfil do servidor Slots CPU RAM Disco
Testes / desenvolvimento 8-16 2 vCore alta frequência 4 GB 20 GB NVMe
Roleplay leve (ESX básico) 32 4 vCore Ryzen 8 GB 40 GB NVMe
Roleplay completo (QBCore + MLOs) 64 6-8 vCore Ryzen 12-16 GB 80 GB NVMe
Comunidade grande + streaming pesado 128+ 8+ vCore Ryzen 24-32 GB 150 GB NVMe

Dois pontos merecem atenção. Primeiro: o FXServer é fortemente dependente de frequência por núcleo, não de quantidade de threads. Um processador Ryzen de alta frequência entrega mais tick estável do que um Xeon antigo com muitos cores. Segundo: o streaming de assets (carros, roupas, MLOs) é lido do disco constantemente — SSD NVMe não é luxo, é requisito prático.

Hospedagem gerenciada ou VPS?

Existem dois caminhos legítimos:

  • Hospedagem dedicada ao jogo — o servidor já vem instalado, com painel Pterodactyl, console ao vivo, gerenciador de arquivos, backups automáticos e anti-DDoS incluso. É o caminho mais rápido para colocar um Serveur FiveM no ar sem administrar Linux.
  • VPS — você controla tudo: sistema, banco de dados, firewall, múltiplas instâncias. Exige conhecimento de administração. Um VPS Linux é a base clássica; um VPS Pterodactyl permite hospedar você mesmo vários servidores com painel.

Se a sua comunidade já existe e você quer previsibilidade, comece pela hospedagem gerenciada. Se você planeja rodar FiveM + site + banco externo + bot Discord na mesma máquina, o VPS faz mais sentido.

Chave de licença (obrigatória)

Nenhum servidor FiveM público sobe sem uma server key gerada no Keymaster oficial. Ela é gratuita, vinculada à sua conta Cfx.re, e você precisa informar o IP ou marcar como "IP dinâmico". Guarde essa chave: ela vai direto no server.cfg e nunca deve ser publicada em repositórios ou prints.



Instalação passo a passo de um servidor FiveM em VPS Linux

Vamos usar Debian 12 ou Ubuntu 22.04/24.04. O procedimento é praticamente idêntico. Se você optar por hospedagem com painel, pule para a seção do server.cfg — o painel já cuida das etapas 1 a 3.

1. Preparar o sistema e o usuário

Nunca rode o FXServer como root. Crie um usuário dedicado:

apt update && apt upgrade -y
apt install -y curl wget xz-utils git screen unzip

adduser --disabled-password --gecos "" fivem
usermod -aG sudo fivem
su - fivem
mkdir -p ~/server ~/server-data

2. Baixar os artifacts do FXServer

Os artifacts são as builds do servidor. Use sempre uma build recommended ou latest estável da branch Linux:

cd ~/server
wget https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/<BUILD>/fx.tar.xz
tar xf fx.tar.xz
rm fx.tar.xz
ls -l run.sh

Substitua <BUILD> pelo número da versão que você escolheu na página oficial de artifacts. Anote a build usada: quando um script quebrar, a primeira pergunta será sempre "qual artifact você está rodando?".

3. Clonar os recursos base (cfx-server-data)

cd ~
git clone https://github.com/citizenfx/cfx-server-data.git server-data
ls ~/server-data/resources

Esse repositório traz os resources oficiais mínimos: chat, spawnmanager, sessionmanager, mapmanager, hardcap, basic-gamemode. É o esqueleto sobre o qual você vai montar seu framework.

4. Instalar MariaDB (necessário para ESX/QBCore)

sudo apt install -y mariadb-server
sudo mysql_secure_installation

sudo mysql -u root -p
CREATE DATABASE fivem CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'fivem_user'@'localhost' IDENTIFIED BY 'SenhaLongaEAleatoria123!';
GRANT ALL PRIVILEGES ON fivem.* TO 'fivem_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Deixe o MariaDB escutando apenas em 127.0.0.1 se o banco estiver na mesma máquina do servidor FiveM. Expor a porta 3306 na internet é um dos erros mais comuns e mais caros.

5. Firewall e portas

O FiveM usa a porta 30120 em TCP e UDP por padrão. O txAdmin usa a 40120 em TCP.

sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw allow 40120/tcp
sudo ufw enable
sudo ufw status numbered

6. Primeiro boot com txAdmin

cd ~/server-data
screen -S fivem
bash ~/server/run.sh

No primeiro start, o txAdmin exibe uma URL com PIN de acesso (http://SEU_IP:40120). Ele guia a criação do admin, a importação do template de recipe (ESX, QBCore ou vanilla) e a colagem da chave de licença. É o caminho mais confiável para não errar caminhos de pasta.

7. Rodar como serviço systemd

Screen é bom para testes, ruim para produção. Crie um serviço:

sudo nano /etc/systemd/system/fivem.service
[Unit]
Description=FiveM FXServer
After=network.target mariadb.service

[Service]
Type=simple
User=fivem
WorkingDirectory=/home/fivem/server-data
ExecStart=/home/fivem/server/run.sh +exec server.cfg
Restart=on-failure
RestartSec=10
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now fivem
sudo systemctl status fivem
journalctl -u fivem -f


Configurar o server.cfg do seu servidor FiveM

O server.cfg fica na raiz do server-data. É ele que define endpoints, slots, recursos carregados, permissões e a chave de licença. Um exemplo funcional e comentado:

# --- Endpoints ---
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

# --- Identidade ---
sv_hostname "^2[BR] Cidade Alta ^7| Roleplay Sério"
sv_projectName "Cidade Alta RP"
sv_projectDesc "Servidor roleplay brasileiro, whitelist ativa"
sets tags "roleplay, brasil, esx, whitelist"
sets locale "pt-BR"
sv_maxclients 64

# --- Recursos base ---
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap
ensure rconlog

# --- Banco de dados ---
set mysql_connection_string "mysql://fivem_user:SenhaLongaEAleatoria123!@localhost/fivem?charset=utf8mb4"
ensure oxmysql

# --- Framework (exemplo) ---
ensure es_extended

# --- Segurança ---
sv_scriptHookAllowed 0
rcon_password "TrocarPorAlgoLongoEUnico"
sv_authMaxVariance 1
sv_authMinTrust 5

# --- OneSync (obrigatório acima de 32 slots) ---
set onesync on
set onesync_population true

# --- Licença ---
sv_licenseKey "sua_chave_do_keymaster"

# --- Admins ---
add_ace group.admin command allow
add_ace group.admin command.quit deny
add_principal identifier.fivem:1234567 group.admin

Detalhes que fazem diferença

  • ensure vs start: use ensure. Ele reinicia o resource caso já esteja rodando, evitando estados inconsistentes.
  • Ordem de carregamento: banco de dados (oxmysql) antes do framework; framework antes dos scripts que dependem dele.
  • OneSync: acima de 32 slots é obrigatório. Ele altera o modelo de sincronização de entidades e muda como scripts antigos se comportam — teste tudo depois de ativar.
  • sv_scriptHookAllowed 0: bloqueia menus de trapaça baseados em ScriptHook. Não é uma proteção completa, mas é o mínimo.
  • rcon_password: se você não usa RCON, deixe vazio ou remova a linha. Senha fraca de RCON é porta aberta para takeover do servidor.

Escolher o framework

Framework Perfil Curva de aprendizado
ESX (es_extended) Base histórica, enorme quantidade de scripts prontos em PT-BR Baixa a média
QBCore Estrutura mais moderna, código mais organizado, forte em RP Média
ox_core / standalone Performance e controle, para quem escreve os próprios scripts Alta

Não misture frameworks. Escolher ESX e depois "puxar um script QBCore" gera conflitos de eventos e de tabelas no banco que consomem semanas de debug.

Instalar um resource manualmente

cd ~/server-data/resources/[local]
git clone https://github.com/exemplo/meu_script.git
# importar o SQL do script
mysql -u fivem_user -p fivem < meu_script/meu_script.sql
# adicionar ao server.cfg
echo 'ensure meu_script' >> ~/server-data/server.cfg
sudo systemctl restart fivem

Pastas entre colchetes ([local], [esx], [voice]) funcionam como categorias. O FXServer varre recursivamente, então você organiza como quiser — mas mantenha consistência, porque quando o servidor tiver 300 resources, a organização é o que salva.



Performance, segurança e manutenção do servidor

Manter o tick estável

A métrica que importa no FiveM é o server thread hitch: quantos milissegundos o servidor demora para processar um tick. Acima de 50 ms, jogadores sentem rubber banding. Use o comando de profiling no console:

resmon 1
profiler record 500
profiler view

Ações concretas que reduzem hitches:

  • Eliminar loops while true do ... Wait(0) end em scripts server-side. Quase sempre podem virar eventos.
  • Substituir queries síncronas por chamadas assíncronas do oxmysql.
  • Colocar índices nas colunas mais consultadas (identifier, citizenid, owner).
  • Reduzir a quantidade de entidades persistentes (veículos abandonados, props em pé no mundo).
  • Compactar e otimizar YMAPs/MLOs pesados — streaming mal feito derruba FPS de todo mundo.

Streaming de assets

Cada carro adicionado é lido do disco quando um jogador entra em alcance. Com centenas de veículos, a latência de disco vira gargalo — por isso NVMe importa. Mantenha os arquivos .ytd em resoluções razoáveis (1024 ou 2048, não 4096 para tudo) e agrupe assets em resources dedicados, não misturados nos scripts de gameplay.

Segurança básica do VPS

# Chave SSH em vez de senha
ssh-keygen -t ed25519 -C "admin@meuservidor"
ssh-copy-id fivem@SEU_IP

sudo nano /etc/ssh/sshd_config
# PermitRootLogin no
# PasswordAuthentication no
sudo systemctl restart ssh

# Proteção contra brute force
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

A proteção anti-DDoS volumétrica já é tratada na infraestrutura quando você hospeda em uma oferta com mitigação inclusa — a sua responsabilidade é o resto: senhas fortes, RCON protegido, admins com ACE bem definidos, e nenhuma porta desnecessária aberta.

Backups: a regra que ninguém segue até perder tudo

Um servidor roleplay guarda meses de progressão de jogadores. Faça backup de duas coisas: a pasta server-data e o dump do banco.

#!/bin/bash
DATA=$(date +%F_%H%M)
mysqldump -u fivem_user -p'SENHA' fivem | gzip > /home/fivem/backups/db_$DATA.sql.gz
tar czf /home/fivem/backups/data_$DATA.tar.gz /home/fivem/server-data
find /home/fivem/backups -type f -mtime +7 -delete
chmod +x /home/fivem/backup.sh
crontab -e
0 5 * * * /home/fivem/backup.sh

Em hospedagem com painel, os backups automáticos cobrem os arquivos do servidor — ainda assim, mantenha uma cópia do banco fora da máquina. Testar a restauração uma vez por mês é o que separa backup real de backup imaginário.

Atualizações e rotina

  • Atualize o artifact do FXServer a cada ciclo estável, nunca durante um evento da comunidade.
  • Mantenha um servidor de teste separado (pode ser um segundo container no painel ou um VPS pequeno).
  • Versione seu server.cfg e seus resources próprios em Git privado.
  • Documente cada script adicionado: origem, versão, dependências.

Para quem administra várias comunidades, um VPS Pterodactyl permite isolar cada projeto em seu próprio container, com limites de CPU e RAM definidos. Já quem prefere ambiente gráfico para ferramentas de desenvolvimento pode optar por um VPS Windows. E se além do FiveM você mantém outros projetos, dá uma olhada em Tous nos serveurs de jeu ou nos guias do Blog Fly-Serv. A documentação oficial continua sendo a referência para parâmetros de convar e OneSync: Source.



Conclusão

Montar um servidor FiveM do zero é uma sequência lógica: hardware adequado, artifacts, licença, banco de dados, framework único e server.cfg limpo. O trabalho real começa depois, com profiling, otimização de resources e backups testados. Comece pequeno, meça o tick a cada script adicionado, e sua comunidade cresce sem quedas de performance.



FAQ

Quantos slots o meu servidor FiveM aguenta com 8 GB de RAM?

Com 8 GB e 4 vCore de alta frequência, um servidor ESX básico com 40 a 80 resources roda confortavelmente entre 32 e 48 slots. O limite raramente é a RAM: é o tempo de tick da CPU. Se o resmon mostrar hitches acima de 50 ms com poucos jogadores, o problema está nos scripts, não na memória. Otimize antes de escalar.

Preciso comprar o GTA V para hospedar um servidor FiveM?

Para hospedar, não: o FXServer roda sem cópia do jogo na máquina. Mas todo jogador que entrar precisa de uma cópia legítima do GTA V vinculada à conta Rockstar, e você precisa de uma chave de licença gratuita gerada no Keymaster do Cfx.re, colada em sv_licenseKey no server.cfg.

Meu servidor não aparece na lista pública. O que verificar?

Confira quatro pontos: a chave de licença é válida e corresponde ao IP; as portas 30120 TCP e UDP estão abertas no firewall e no provedor; sv_master1 não foi desativado no server.cfg; e o console não mostra erro de autenticação no boot. Rode journalctl -u fivem -f ou verifique o console do painel para ler a mensagem exata.