Documentação da API de Compilação
A API do DoisKa Lua Compiler fornece uma infraestrutura REST de alta performance para compilar, otimizar e blindar scripts Lua 5.1 com tecnologia exclusiva de Virtual Machine e proteção multicamadas.
Projetada para funcionar em qualquer ecossistema: servidores de MTA:SA (via fetchRemote), plataformas web (PHP, WordPress, Laravel), microsserviços (Node.js, Python), bots de Discord e pipelines de CI/CD.
Autenticação e Segurança
Todas as chamadas à API são autenticadas por meio de uma API Key única. Você pode enviar a chave através de qualquer um destes formatos:
| Método | Exemplo | Recomendado Para |
|---|---|---|
Header X-API-Key |
X-API-Key: mtacomp_live_... |
MTA (fetchRemote), Backend, cURL, Fetch (Recomendado) |
Header Authorization |
Authorization: Bearer mtacomp_live_... |
Padrão REST OAuth2 |
| Query Parameter | ?api_key=mtacomp_live_... |
Links diretos de download binário no navegador |
Endpoint: Compilar Script
Recebe o código Lua puro em formato texto e devolve o binário compilado e blindado.
Parâmetros da Requisição (JSON Body)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
code |
String | Sim | Código-fonte Lua 5.1 puro a ser compilado. |
filename |
String | Não | Nome do arquivo com extensão (padrão: script.lua). |
mode |
String | Não |
Motor de blindagem: mtax (padrão - DoisKa Shield).
|
anti_decompile_msg |
String | Não | Mensagem de marca d'água inserida no cabeçalho do binário. |
output |
String | Não |
base64 (JSON com Base64) ou binary / download (arquivo .luac direto).
|
Endpoint: Compilar Resource Completo (.ZIP / .RAR)
Recebe um arquivo .zip contendo o resource MTA:SA completo (scripts, pastas, meta.xml, texturas, modelos, etc.). Compila todos os scripts Lua com o motor DoisKa Shield VM, preserva os scripts que você definir para manter abertos (como config.lua) e mantém todos os outros assets 100% intactos, retornando o pacote final pronto para rodar.
Parâmetros da Requisição (Multipart ou JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
file / zip |
Arquivo Binário | Sim | Arquivo compactado .zip do resource MTA (até 50 MB). Em JSON, envie como zip_base64. |
exclude_files |
Array ou String | Não |
Lista de scripts que NÃO devem ser compilados e devem permanecer em texto puro (ex: ["config.lua", "settings.lua"] ou texto separado por vírgula).
|
mode |
String | Não | Motor de blindagem: mtax (padrão - DoisKa Shield). |
anti_decompile_msg |
String | Não | Mensagem de proteção gravada nos cabeçalhos dos scripts compilados. |
output |
String | Não |
binary / download (retorna o arquivo .zip direto) ou json (retorna Base64 com relatório completo de compilação).
|
{
"success": true,
"filename": "meu_resource_compilado.zip",
"size": 348210,
"total_files": 12,
"compiled_count": 5,
"skipped_count": 1,
"other_count": 6,
"compiled_files": ["client/gui.lua", "client/main.lua", "server/core.lua", "server/database.lua", "server/events.lua"],
"skipped_files": ["config.lua"],
"execution_time_ms": 280,
"zip_base64": "UEsDBBQAAAAIA..."
}
Endpoint: Consultar Cota & Status
Consulta a validade da chave informada, status operacional, cota consumida hoje, saldo restante e limites configurados.
{
"valid": true,
"name": "Cliente VIP 01",
"status": "active",
"allowed_modes": "*",
"allowed_domains": "*",
"requests_today": 14,
"max_daily_requests": 200,
"remaining_today": 186,
"total_requests": 1420,
"expires_at": "Permanente",
"last_used_at": "03/10/2026 13:42:10"
}
Blindagem do Script & Modos de Operação
A plataforma DoisKa Compiler disponibiliza dois formatos operacionais de alta produtividade para desenvolvedores e donos de servidores de MTA:SA:
DoisKa Shield VM Script Individual
Virtual Machine customizada com opcodes e constantes ofuscadas. Desenvolvida para compilação ágil de um script único (.lua → .luac).
Endpoint: POST /api/v1/compile (mode: "mtax")
Modo Resource Completo (.ZIP / .RAR) Lote & Exclusão
Envie o arquivo .zip com todos os scripts e assets. O sistema compila todos os scripts selecionados, mantém intactos os arquivos desmarcados (ex: config.lua) e preserva o meta.xml e assets 100% originais.
Endpoint: POST /api/v1/compile/zip
📦 Enviar e Compilar Resource .ZIP ao Vivo
Carregue o arquivo .zip do seu resource para selecionar quais scripts compilar e quais manter abertos:
Guias de Integração Prática
Selecione a sua linguagem ou ambiente para visualizar o código pronto para produção:
API Playground Interativo
Experimente a API em tempo real! Você pode testar uma compilação de código Lua e fazer o download do .luac compilado, ou verificar a cota restante da sua chave:
// Clique em 'Executar Compilação via API' para disparar o teste ao vivo.
Formatos de Retorno
Se output for base64 (padrão), a resposta será um objeto JSON:
{
"success": true,
"filename": "client.luac",
"compiled": "G0x1YTRNAQI...",
"size": 16230,
"mode": "mtax_shield_vm",
"execution_time_ms": 142,
"quota": {
"key_name": "Site Parceiro",
"requests_today": 12,
"max_daily_requests": 500,
"total_requests": 1480
}
}
Se output for binary ou a URL contiver ?download=1, o servidor responde com cabeçalho Content-Type: application/octet-stream e Content-Disposition: attachment; filename="client.luac", permitindo que o navegador faça o download instantaneamente.
Códigos de Resposta HTTP
| Status | Significado | Causa Comum |
|---|---|---|
| 200 OK | Sucesso | Script compilado com êxito. |
| 400 Bad Request | Requisição Inválida | Código Lua vazio ou JSON mal formatado. |
| 401 Unauthorized | Chave Ausente / Inválida | API Key não informada ou inexistente. |
| 403 Forbidden | Acesso Bloqueado | Chave revogada, expirada ou domínio de origem não permitido. |
| 413 Payload Too Large | Arquivo Muito Grande | Código excede 1 MB ou 15.000 linhas. |
| 429 Too Many Requests | Limite Excedido | Limite de requisições por período atingido para a chave ou endereço IP. |
| 500 Internal Error | Erro de Sintaxe / Compilador | Script possui erro de sintaxe impeditivo. |