config.lua
Referência completa do arquivo de configuração do resource elite_saas_api.
O config.lua é a única coisa que o cliente edita após instalar. Todos os outros arquivos podem ficar intactos (exceto os adapters em functions/ se o servidor não usa vRP padrão).
Identidade do tenant
Config.TenantSlugstringrequired
Identificador único do tenant. Tem que bater com o
slug do tenant no painel SaaS. Aparece no header x-tenant-id de toda request — se diferir, o resource retorna 400.Config.SaasTenantIdstringoptional
ID interno do tenant no painel. Apenas metadado (exibido no
/system) — não usado em autenticação.Config.ServerNamestringoptional
Nome amigável do servidor (ex.: "Elite City RP"). Aparece no painel como label opcional.
Autenticação
Config.ServerLinkTokenstringrequired
Bearer token compartilhado com o painel. 64 chars hex recomendado. Toda request entra com
Authorization: Bearer <esse-token> (ou x-api-key como fallback legacy).Nunca commit no Git
Trate o
ServerLinkToken como senha. Se vazar, gere outro no painel em Configurações → Conta.Roteamento HTTP
Config.BasePathstringoptional
Prefixo das rotas. Default
/elite-saas. Exemplo: GET /elite-saas/metrics. O backend Nest tem variável FIVEM_LUA_HTTP_BASE_PATH equivalente — mantenha igual.Config.DebugHttpbooleanoptional
Quando
true, todo request é logado no console do FX (path recebido, header de auth, decisões de routing). Desligue em produção.Métricas de host (opcional)
Config.HostMetricsUrlstringoptional
URL HTTP do sidecar de métricas (Node.js auxiliar para Windows, onde o Lua não consegue ler CPU/RAM via
/proc/stat). Default http://127.0.0.1:39998/metrics.Config.StartHostMetricsSidecarbooleanoptional
Se
true, o resource tenta iniciar o sidecar automaticamente quando o FX sobe. Em Linux, opte por false e use systemd.Config.NodeExecutablestringoptional
Caminho do
node (default node). Útil quando o PATH do FXServer não tem Node.Amostragem e picos diários
Config.AnalyticsSampleIntervalMinutesnumberoptional
Frequência (min) com que o resource grava amostra de jogadores online + total de dinheiro. Default 5.
Config.MoneyPeakSampleIntervalMinutesnumberoptional
Frequência (min) da amostra de pico diário de economia. Default 10.
Config.EconomyGraphMaxDaysnumberoptional
Quantos dias o endpoint
/metrics devolve no array economyDailyPeaks7d. Default 30.Tabelas auto-criadas
Config.PlayersDailyPeakTableNamestringoptional
Nome da tabela que guarda
(day, peak_players). Default elite_saas_daily_players_peak.Config.EconomyDailyPeakTableNamestringoptional
Tabela que guarda
(day, peak_total). Default elite_saas_daily_money_peak.Config.PunishmentsHistoryTableNamestringoptional
Tabela de histórico de punições aplicadas pelo painel. Default
elite_saas_punishments_history.Imagens / CDN
Os módulos de inventário/garage/properties devolvem o campo image resolvido contra estes prefixos. Ajuste para o CDN que você usar.
Config.ItemImageBaseUrlstringoptional
Prefixo das imagens de itens (ex.:
https://cdn.suacidade.com/items/).Config.VehicleImageBaseUrlstringoptional
Prefixo das imagens de veículos.
Config.PropertyImageBaseUrlstringoptional
Prefixo das imagens de propriedades.
Exemplo mínimo
config.lua·lua
Config = Config or {}
Config.TenantSlug = "elite-city"
Config.SaasTenantId = "ckxxxxxxx"
Config.ServerName = "Elite City RP"
Config.ServerLinkToken = "REPLACE_ME"
Config.BasePath = "/elite-saas"
Config.DebugHttp = false
Config.HostMetricsUrl = "http://127.0.0.1:39998/metrics"
Config.StartHostMetricsSidecar = true
Config.AnalyticsSampleIntervalMinutes = 5
Config.MoneyPeakSampleIntervalMinutes = 10
Config.EconomyGraphMaxDays = 30
Config.PlayersDailyPeakTableName = "elite_saas_daily_players_peak"
Config.EconomyDailyPeakTableName = "elite_saas_daily_money_peak"
Config.PunishmentsHistoryTableName = "elite_saas_punishments_history"
Config.ItemImageBaseUrl = "https://cdn.exemplo.com/items/"
Config.VehicleImageBaseUrl = "https://cdn.exemplo.com/vehicles/"
Config.PropertyImageBaseUrl = "https://cdn.exemplo.com/properties/"