Denver Studio - Docs

Exports

Lista completa de exports do FiveTrack disponíveis para outros recursos

Exports

Todos os exports são server-side. Use exports.fivetrack:<nomeDoExport>(args) de qualquer outro recurso server.

Todos os exports são fire-and-forget — não retornam Promise nem bloqueiam. Se o backend estiver fora ou a API key inválida, o erro é logado mas o seu fluxo continua.

Contadores rápidos (push_metrics)

Aumentam contadores que serão enviados no próximo push (a cada Config.IntervalSec).

registerEntry

exports.fivetrack:registerEntry()

Incrementa contador de entradas (jogadores que entraram no servidor). Chamado automaticamente pelo adapter em vRP:playerSpawn / Connect.

registerExit

exports.fivetrack:registerExit()

Incrementa contador de saídas. Chamado automaticamente em vRP:playerLeave / Disconnect.

registerNewPlayer

exports.fivetrack:registerNewPlayer()

Incrementa contador de novos jogadores (primeira conexão). Deve ser chamado manualmente no fluxo do framework, logo após o INSERT de novo account.

Veja Hooks no vRP.

registerBan

exports.fivetrack:registerBan()

Incrementa contador de banimentos. Deve ser chamado manualmente após cada ban aplicado.

Veja Hooks no vRP.


Tickets de Staff

registerTicket

exports.fivetrack:registerTicket({
    staffId       = '123',          -- passport do staff (obrigatório)
    staffName     = 'João',         -- primeiro nome (obrigatório)
    staffLastName = 'Silva',        -- sobrenome (opcional)
    staffRole     = 'Admin',        -- nome da permissão/cargo (opcional)
})

Registra que um staff atendeu um ticket/chamado. Envia POST imediato para /v1/ingest/staff-ticket.

Alimenta:

  • Tabela staff_member (upsert por staffId + cfxId)
  • Tabela staff_ticket_event (1 linha por ticket atendido)
  • Página Staff do painel: ranking, SLA, burnout, jogadores problemáticos

Veja Hooks no vRP.


Sessões de jogador (players.lua)

Normalmente disparados pelo adapter, mas você pode chamar manualmente se sua base usa eventos não-padrão.

registerSessionStart

exports.fivetrack:registerSessionStart(playerId)

Marca o início da sessão de um jogador. Captura license, nome, cfxId.

registerSessionEnd

exports.fivetrack:registerSessionEnd(playerId, lastJob)

Marca o fim da sessão, calcula duração e registra o último job conhecido.

registerJobChange

exports.fivetrack:registerJobChange(playerId, fromJob, toJob, jobType)

Registra mudança de job/organização. jobType deve ser 'legal', 'ilegal' ou 'neutro'.


Utilitários

classifyByPermissions

local tipo = exports.fivetrack:classifyByPermissions(userId)
-- retorna 'legal' | 'ilegal' | 'neutro'

Classifica um jogador com base nas permissões dele, cruzando com Config.LegalOrganizations e Config.IllegalOrganizations. Útil em recursos próprios que precisam saber se o jogador é "legal" ou "ilegal".


Comandos administrativos

Estes exports forçam um push imediato (não esperam o próximo intervalo). Úteis para validar a conexão pós-instalação ou debugar.

pushMetricsNow

exports.fivetrack:pushMetricsNow()

Força push imediato de push_metrics (players online, contadores, legal/ilegal, staff online). Útil para testar a conexão sem esperar 60s.

pushMoneyNow

exports.fivetrack:pushMoneyNow()

Força push imediato do snapshot de dinheiro (cash + bank de todos os jogadores ativos).

pushOrgsNow

exports.fivetrack:pushOrgsNow()

Força push imediato do snapshot de organizações (membros de cada permissão configurada).

Estes 3 exports são úteis logo após instalar — assim você não precisa esperar 60s, 30s e 15s respectivamente para ver dados aparecerem no painel.


Tabela resumo

ExportTipoQuando chamar
registerEntrycounterAuto via adapter
registerExitcounterAuto via adapter
registerNewPlayercounterManual — após criar account
registerBancounterManual — após banir
registerTicketeventManual — quando staff atende ticket
registerSessionStarteventAuto via adapter (manual se framework custom)
registerSessionEndeventAuto via adapter
registerJobChangeeventAuto via adapter
classifyByPermissionshelperQuando você precisa do tipo legal/ilegal/neutro
pushMetricsNowadminValidação manual
pushMoneyNowadminValidação manual
pushOrgsNowadminValidação manual