SunLicenseEntrar
Para desenvolvedores de scripts de FiveM e RedM

Venda scripts de FiveM. Mantenha-os em servidores pagantes.

Uma chave para cada venda na Tebex, um limite de servidores, estornos resolvidos.

Criar conta grátis

Plano Free · Sem cartão de crédito · Pronto em minutos

Programa com um agente de IA? Cole um prompt
  • FiveM
  • RedM
  • Lua
  • ESX
  • QBCore
  • Tebex
  • Discord
O que você recebe

Feito para o seu jeito de vender.

Chaves vindas da Tebex

Cada pagamento emite uma chave e a envia por e-mail.

Estornos resolvidos

Reembolsos revogam, disputas suspendem, vitórias restauram.

Servidores por chave

1, 2 ou 5 servidores por licença.

TOO_MANY_MACHINES

SDK de Lua e template

Lê uma convar, valida de novo a cada 6 horas.

sunlicense.lua

Suporte no Discord

Cargos de comprador e redefinição de vagas de servidor.

/claim

O Sentinel detecta chaves compartilhadas

Lugares demais, ou usada depois de um reembolso.

Todos os planos
Como funciona

No ar antes da sua próxima versão.

  1. 1Criar uma conta grátis
  2. 2Conecte seus pacotes da Tebex
  3. 3Adicione o sunlicense.lua
server/main.lua
-- server.cfg: set my_garage_license "AX8P-XXXX-XXXX-XXXX"
local resource = GetCurrentResourceName()
local SunLicense = load(LoadResourceFile(resource, 'lib/sunlicense.lua'))()
local client = SunLicense.new({ baseUrl = 'https://api.sunlicense.com', token = SunLicenseSettings.apiKey })

client:validate(GetConvar('my_garage_license', ''), { host = serverId() }, function(ok, status, body)
    if ok then
        print(('^2[%s] License valid, starting.^7'):format(resource))
        startFeatures()
    elseif status == 400 then
        print(('^1[%s] License denied: %s^7'):format(resource, body:match('"code":"([%w_]+)"') or '?'))
        StopResource(resource)
    else
        startFeatures() -- no answer is not a no: keep running
    end
end)
Perguntas frequentes

Perguntas e respostas.

Como impeço que meus scripts de FiveM vazem?

Dê a cada comprador a própria chave e valide-a quando o recurso iniciar. Se uma cópia vazar, a chave com que ela roda é a de quem vazou: revogue essa licença e a cópia para na próxima validação (o template valida de novo a cada 6 horas), enquanto os servidores pagantes continuam rodando. Envie também pelo asset escrow da Tebex, para que os compradores não consigam ler nem editar a validação.

Funciona com a Tebex?

Sim. Associe os IDs de pacotes da Tebex a uma política e adicione um webhook: cada pagamento concluído emite uma licença, reembolsos e disputas perdidas a revogam, e disputas abertas a suspendem. Os compradores recebem a chave por e-mail, ou na sua página de resgate com o ID de transação tbx- e o e-mail.

Funciona com ESX, QBCore e RedM?

Sim. A validação roda em um script de servidor com o próprio PerformHttpRequest do FiveM, então não depende de framework. Para RedM, defina game como 'rdr3' no fxmanifest.lua.

O que acontece se o SunLicense estiver inacessível?

O template mantém o recurso rodando e tenta de novo a cada 10 minutos; uma configuração faz ele esperar uma resposta. Só uma recusa real, como uma chave revogada ou desconhecida, para o recurso. Lua não tem Ed25519 embutido, então recursos de FiveM não usam arquivos de licença offline.

Proteja sua próxima versão.

  • Plano Free
  • Sem cartão de crédito
  • Cancele quando quiser