Como criar servidor FiveM RP com QBCore em VPS Windows
Tutorial passo a passo para montar servidor FiveM com framework QBCore em VPS Windows: txAdmin, MySQL, artifacts e configuração inicial do RP.
Pré-requisitos
Antes de começar, confirme que você tem o ambiente correto. Sem isso, o servidor não vai subir ou vai travar nos primeiros minutos.
VPS Windows Server 2019 ou 2022 com no mínimo 4 vCPU, 8 GB de RAM e 40 GB de SSD. Acesso Administrator via RDP. Conta gratuita em keymaster.fivem.net para gerar a chave de licença. Conexão de internet do servidor liberada nas portas 30120 (TCP/UDP) e 40120 (TCP, txAdmin).
30120 TCP/UDP 40120 TCP 8 GB Server 2019/2022 QBCore atual exige MySQL 5.7+ ou MariaDB 10.4+, e os artifacts recentes do FiveM precisam do Visual C++ Redistributable 2019 instalado — vamos cobrir esses pré-requisitos nos passos.
Preparando o ambiente Windows
O Windows Server vem com algumas restrições de segurança que atrapalham o download de binários e a abertura de portas. Vamos resolver isso antes de tocar no FiveM.
Conecte na VPS via RDP usando o IP e credenciais fornecidos. No primeiro login, abra o Server Manager → Local Server e desative a opção IE Enhanced Security Configuration para Administrators. Sem isso, baixar arquivos pelo navegador vira um inferno de confirmações.
Instale o Visual C++ Redistributable 2019 (x64). Abra o PowerShell como Administrator e execute:
Invoke-WebRequest -Uri "https://aka.ms/vs/17/release/vc_redist.x64.exe" -OutFile "$env:TEMP\vc_redist.x64.exe"
Start-Process "$env:TEMP\vc_redist.x64.exe" -ArgumentList "/install /quiet /norestart" -WaitEsse pacote contém as bibliotecas C++ que o FXServer.exe carrega em runtime. Se você pular este passo, o servidor abre o console e fecha imediatamente sem mensagem útil.
Libere as portas no firewall do Windows. Ainda no PowerShell:
New-NetFirewallRule -DisplayName "FiveM Server" -Direction Inbound -Protocol TCP -LocalPort 30120 -Action Allow
New-NetFirewallRule -DisplayName "FiveM Server UDP" -Direction Inbound -Protocol UDP -LocalPort 30120 -Action Allow
New-NetFirewallRule -DisplayName "txAdmin" -Direction Inbound -Protocol TCP -LocalPort 40120 -Action AllowInstalando o MySQL (MariaDB)
O QBCore não funciona sem banco de dados — toda a persistência (personagens, dinheiro, inventário, veículos) vive no MySQL. Vamos usar MariaDB porque o instalador é mais simples no Windows e é 100% compatível com o oxmysql, o conector que o QBCore usa.
Baixe o instalador do MariaDB:
Invoke-WebRequest -Uri "https://archive.mariadb.org/mariadb-10.11.6/winx64-packages/mariadb-10.11.6-winx64.msi" -OutFile "$env:TEMP\mariadb.msi"
Start-Process msiexec.exe -ArgumentList "/i $env:TEMP\mariadb.msi /quiet PASSWORD=SuaSenhaForte123 SERVICENAME=MariaDB PORT=3306" -WaitTroque SuaSenhaForte123 por uma senha real — você vai usar ela na string de conexão do server.cfg. Anote em algum lugar seguro.
Verifique se o serviço subiu corretamente:
Get-Service -Name MariaDBO status deve aparecer como Running. Se estiver Stopped, rode Start-Service MariaDB e confirme novamente.
Crie o banco qbcore que vai receber o esquema do framework. Abra o HeidiSQL (vem junto com o MariaDB) → conecte em 127.0.0.1:3306 com user root e a senha definida acima. No menu, clique com o botão direito na conexão → Create new → Database → nome qbcore, collation utf8mb4_general_ci.
Baixando os artifacts do FiveM
O FiveM publica binários compilados (chamados artifacts) em um servidor próprio. Sempre use a versão latest recommended da branch master — versões “optional” e “bleeding edge” são instáveis.
Crie a estrutura de pastas e baixe o artifact mais recente:
New-Item -ItemType Directory -Path "C:\FXServer\server" -Force
New-Item -ItemType Directory -Path "C:\FXServer\server-data" -Force
cd C:\FXServer\server
# Pegue o link mais recente em https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/
$artifactUrl = "https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/12913-abc.../server.7z"
Invoke-WebRequest -Uri $artifactUrl -OutFile "server.7z"O número do build muda toda semana — abra a URL no navegador da VPS, copie o link do build marcado como recommended e substitua acima.
Instale o 7-Zip para extrair o artifact e descompacte:
winget install --id 7zip.7zip --silent
& "C:\Program Files\7-Zip\7z.exe" x server.7z -oC:\FXServer\serverDepois de extrair, você deve ter C:\FXServer\server\FXServer.exe — esse é o executável principal.
Clonando o QBCore e configurando o server.cfg
Agora vem a parte do framework. O QBCore é distribuído via GitHub e mantido pela QBCore Framework org.
Instale o Git e clone o template oficial dentro de server-data:
winget install --id Git.Git --silent
# Feche e reabra o PowerShell pra atualizar o PATH
cd C:\FXServer\server-data
git clone https://github.com/qbcore-framework/txAdminRecipe.git .O txAdminRecipe é o blueprint oficial — ele inclui o QBCore core, oxmysql, scripts essenciais e o esquema SQL.
Gere sua chave de licença em https://keymaster.fivem.net/. Faça login com Cfx.re, clique em New → escolha Server hosted by yourself, informe o IP da VPS e copie a chave gerada (formato cfxk_...).
Vamos usar o txAdmin para finalizar a configuração — ele cuida do server.cfg, importa o SQL automaticamente e fornece interface web. Inicie o FXServer pela primeira vez:
cd C:\FXServer\server
.\FXServer.exe +set serverProfile defaultNa primeira execução, o console imprime uma URL tipo http://IP-DA-VPS:40120/addMaster/PIN. Abra essa URL no seu navegador local.
Na interface do txAdmin: crie a conta admin → escolha Use recipe → cole a URL https://raw.githubusercontent.com/Qbox-project/txAdminRecipe/main/recipe.yaml (ou use o recipe do QBCore puro). O txAdmin baixa todos os scripts, cria o banco e gera o server.cfg.
Quando pedir credenciais MySQL, informe:
host: localhost
user: root
password: SuaSenhaForte123
database: qbcoreAinda no txAdmin, abra Settings → CFX Re License e cole a chave gerada no keymaster. Em Server Name coloque o nome que vai aparecer no servidor list do FiveM. Clique Save & Start.
O txAdmin é a porta de entrada do seu servidor — qualquer pessoa com acesso pode parar o servidor, ver logs e executar comandos. Use senha de no mínimo 16 caracteres e nunca compartilhe a URL /addMaster/ após o setup inicial.
Verificação
Com o servidor rodando, valide três coisas: console limpo, conexão direta via FiveM e persistência no banco.
No console do FXServer, você deve ver linhas como:
Resource qb-core started.
Resource oxmysql started.
Authenticating with Cfx.re... done.
Server started.
Abra o cliente FiveM no seu PC, pressione F8 e digite:
connect IP-DA-VPS:30120
Você deve cair na tela de seleção de personagem do QBCore. Crie um personagem, saia, entre de novo — se ele persistir, o banco está conectado corretamente.
No HeidiSQL, abra o banco qbcore → tabela players. Sua entrada deve estar lá com o citizenid gerado.
Resolução de problemas comuns
Servidor fecha sozinho ao iniciar
Na maioria dos casos é o Visual C++ Redistributable ausente ou versão antiga. Reinstale com o comando do Passo 02 e confirme que está usando a versão x64.
Erro “Could not connect to database”
Verifique no C:\FXServer\server-data\server.cfg a linha set mysql_connection_string. Ela deve estar no formato:
set mysql_connection_string "mysql://root:SuaSenhaForte123@localhost/qbcore?charset=utf8mb4"
Senhas com caracteres especiais (@, :, /) precisam ser URL-encoded — @ vira %40, por exemplo.
Jogadores não conseguem conectar de fora
Confirme três coisas: porta 30120 aberta no firewall do Windows (Passo 03), porta 30120 não bloqueada pelo provedor, e sv_endpoints no server.cfg apontando para 0.0.0.0:30120 (não 127.0.0.1).
QBCore vanilla aguenta 32 jogadores tranquilamente em VPS com 4 vCPU. A partir de 48 slots, monitore uso de CPU do processo FXServer.exe — se passar de 70% sustentado, considere otimizar scripts pesados (especialmente HUD e proximidade de voz) antes de fazer upgrade de hardware.
Próximos passos
Com o QBCore rodando, os caminhos típicos de evolução são:
- Adicionar jobs customizados: a pasta
[qb]aceita resources extras comoqb-policejob,qb-mechanicjob, etc. - Configurar whitelist: ative
qb-adminmenue bloqueie conexões anônimas peloserver.cfgcomsv_scriptHookAllowed 0. - Backup automático do banco: agende
mysqldumpdiário no Task Scheduler do Windows. - Voz proximity: instale
pma-voiceno lugar do mumble nativo para qualidade melhor. - Anti-cheat: integre
txAdmin Anticheatou soluções pagas como Wasabi/FAXES.
Se você está saindo do estágio de testes e quer rodar com mais de 32 jogadores estáveis, uma VPS Windows da Hostini com NVMe dedicado reduz drasticamente o desync causado por I/O lento no banco — gargalo comum quando o RP cresce em scripts persistentes.
Perguntas frequentes
Quanto de RAM o QBCore consome com 32 jogadores?
Em uma instalação limpa do QBCore com os scripts base do txAdminRecipe, o consumo fica entre 3 e 4 GB de RAM com 32 jogadores ativos. Cada script adicional (jobs, MLOs, anti-cheat) adiciona 50-200 MB. Para 32 slots estáveis, 8 GB é o mínimo confortável considerando MariaDB e o próprio Windows Server.
Posso rodar FiveM em VPS Linux ao invés de Windows?
Sim, o FXServer tem build oficial para Linux e é tecnicamente mais leve. Porém, a maioria dos tutoriais QBCore, MLOs e ferramentas comunitárias assume Windows — troubleshooting fica mais complicado para iniciantes. Recomendado migrar para Linux apenas depois que você já domina o stack.
Por que meu servidor não aparece na lista pública do FiveM?
Verifique se a chave de licença está válida e vinculada ao IP atual da VPS no keymaster.fivem.net. Servidores também só aparecem na lista pública após alguns minutos online e com pelo menos 1 jogador conectado em algumas regiões. Confirme também que `sv_master1` no server.cfg não está comentado.
Qual a diferença entre QBCore e ESX?
Ambos são frameworks RP, mas o QBCore foi reescrito do zero com código mais limpo, usa oxmysql nativamente e tem documentação melhor. ESX é mais antigo e tem ecossistema maior de scripts legados, mas com muito código deprecated. Para projetos novos em 2024+, QBCore é a escolha padrão da comunidade.
Como faço backup do banco MySQL do QBCore?
Use `mysqldump` via Task Scheduler do Windows: `mysqldump -u root -pSENHA qbcore > C:\backups\qbcore_%date%.sql`. Faça backup pelo menos diariamente, e antes de qualquer atualização de scripts. Mantenha as últimas 7 cópias rotacionadas e idealmente envie uma cópia para storage externo (S3, FTP) para não perder em caso de falha do disco.
O txAdmin é obrigatório ou posso iniciar o FXServer direto?
Não é obrigatório — você pode iniciar com `FXServer.exe +exec server.cfg` direto. Porém, o txAdmin oferece interface web para reiniciar, ver logs, gerenciar players e fazer deploy de scripts sem RDP, o que economiza muito tempo. Em produção é praticamente padrão da comunidade.