Denver Studio - Docs

Instalação

Passo a passo para instalar o FiveTrack no seu servidor FiveM

Instalação

Receber o pacote

Sua equipe FiveTrack entregará uma pasta fivetrack/ já configurada com sua API key e CfxId. A estrutura é:

fivetrack/
├── config.lua            (API key + CfxId + organizações)
├── fxmanifest.lua
└── server/
    ├── adapters/         (vrpex, nexus-base, creative-enchanted, etc.)
    ├── collectors/       (push_metrics, players, orgs, money, heatmap)
    └── main.lua

Copiar para a pasta resources

Coloque a pasta fivetrack/ dentro de resources/ do seu servidor FiveM.

Se você usa subpastas com colchetes (ex: resources/[scripts]/), pode colocar lá também — o FiveM detecta automaticamente.

Adicionar ao server.cfg

Inclua depois do vRP (porque o FiveTrack depende do vRP como interface via Proxy/Tunnel):

ensure vrp
# ... outros recursos do vrp ...
ensure fivetrack

Confirmar OneSync ativo

O coletor de mapa de calor (heatmap.lua) usa GetEntityCoords server-side, que requer OneSync.

set onesync on
# ou
set onesync legacy

Sem OneSync, todas as outras métricas funcionam normalmente, apenas o mapa de calor fica vazio.

Hooks no vRP base

Para que o FiveTrack receba eventos de novo jogador e banimento, você precisa adicionar 3 linhas no vrp/modules/core.lua. Veja a página Hooks no vRP.

A equipe FiveTrack normalmente já deixa esses hooks aplicados no pacote entregue. Verifique no seu vrp/modules/core.lua se as chamadas exports.fivetrack:registerNewPlayer() e exports.fivetrack:registerBan() estão presentes.

Iniciar e verificar

No console do FiveM:

restart fivetrack

Em ~60 segundos os dados começam a aparecer no painel em https://fivetrack.denverst.com.br/<seu-slug>/dashboard.

Para o coletor de mapa de calor, o primeiro snapshot acontece após 30 minutos.

Verificação pós-instalação

Use os comandos administrativos para forçar push imediato e validar a conexão:

push_metrics_now
push_money_now
push_orgs_now

Cada um envia um push manual ao backend. Veja Exports para detalhes.

Estrutura de pastas após instalação

resources/
├── vrp/                       ← vRP base com hooks aplicados
│   └── modules/
│       └── core.lua           ← 3 linhas adicionadas (novo player + ban + ban)
├── alerts/                    ← opcional: 1 linha adicionada para tickets
│   └── server.lua
└── fivetrack/                 ← este recurso
    ├── config.lua             ← preenchido pela equipe FiveTrack
    └── ...

Linhas inseridas em vrp/modules/core.lua (todas envoltas em pcall + check de resource state):

-- Após vRP.Query("accounts/NewAccount", ...)
if GetResourceState('fivetrack') == 'started' then
    pcall(function() exports.fivetrack:registerNewPlayer() end)
end

-- Após vRP.Query("accounts/InsertBanned", ...)  (2 ocorrências)
if GetResourceState('fivetrack') == 'started' then
    pcall(function() exports.fivetrack:registerBan() end)
end