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 porstaffId + 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
| Export | Tipo | Quando chamar |
|---|---|---|
registerEntry | counter | Auto via adapter |
registerExit | counter | Auto via adapter |
registerNewPlayer | counter | Manual — após criar account |
registerBan | counter | Manual — após banir |
registerTicket | event | Manual — quando staff atende ticket |
registerSessionStart | event | Auto via adapter (manual se framework custom) |
registerSessionEnd | event | Auto via adapter |
registerJobChange | event | Auto via adapter |
classifyByPermissions | helper | Quando você precisa do tipo legal/ilegal/neutro |
pushMetricsNow | admin | Validação manual |
pushMoneyNow | admin | Validação manual |
pushOrgsNow | admin | Validação manual |