> ## Documentation Index
> Fetch the complete documentation index at: https://docs.loja.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# Minecraft e outros engines

> Como entregar produtos automaticamente em Minecraft ou qualquer outro servidor de jogo sem um plugin oficial pronto.

<Note>
  Hoje a loja.gg tem um resource oficial pronto apenas para **FiveM e RedM** (veja [FiveM e RedM](/api-reference/fivem-redm)). Para Minecraft ou qualquer outro engine, não existe ainda um plugin pronto — a entrega é feita conectando o **webhook de pedidos** da loja.gg ao seu próprio servidor.
</Note>

## Como funciona

O princípio é o mesmo de qualquer integração de entrega: você recebe um aviso quando o pedido é pago e, a partir dele, aciona o que já existe no seu servidor para dar o produto ao jogador — um plugin, um plugin RCON, um comando via console.

<Steps>
  <Step title="Cadastre um endpoint de webhook">
    No painel, em **Loja → Configurações → Webhooks**, cadastre a URL de um serviço seu (uma função serverless, um bot, um plugin com um endpoint HTTP embutido) e guarde o segredo `whsec_...` gerado.
  </Step>

  <Step title="Escute o evento order.paid">
    É o evento correto para liberar produto — não a página de sucesso do checkout. Veja o formato completo em [Webhooks](/api-reference/webhooks).
  </Step>

  <Step title="Valide a assinatura do webhook">
    Use o segredo para validar o cabeçalho `X-Huskpay-Signature` antes de processar qualquer coisa — os exemplos em Node.js, Go e PHP estão em [Webhooks](/api-reference/webhooks#validando-a-assinatura).
  </Step>

  <Step title="Traduza o pedido em uma ação no servidor">
    A partir dos dados do pedido (`data.order.items`, identificador do comprador que você tiver associado ao produto — nick, e-mail, UUID), acione a entrega da forma que seu servidor já suporta.
  </Step>
</Steps>

## Opções comuns para acionar a entrega

<CardGroup cols={2}>
  <Card title="RCON" icon="terminal">
    Se o seu servidor Minecraft expõe RCON, seu handler de webhook pode abrir uma conexão RCON e rodar um comando (ex.: `lp user <jogador> permission set vip.gold true`, ou um comando de plugin de loja como EssentialsX/Vault).
  </Card>

  <Card title="Plugin com endpoint próprio" icon="plug">
    Um plugin Java/Kotlin (Spigot, Paper, Fabric) pode expor um endpoint HTTP interno que seu handler de webhook chama para entregar o item direto na API do plugin, sem depender de RCON.
  </Card>

  <Card title="Fila própria" icon="list-checks">
    Se o jogador pode estar offline no momento do pagamento, grave a entrega pendente no seu banco e processe quando ele conectar — o mesmo padrão usado na integração de FiveM/RedM (veja [FiveM e RedM](/api-reference/fivem-redm#2-integração-própria-fila-de-entregas)).
  </Card>

  <Card title="Identificação do jogador" icon="user-check">
    Use uma [variável de produto](/guias-do-painel/produtos) (ex.: campo "Nick" ou "UUID") para capturar, no momento da compra, qual jogador deve receber o item — ela vem preenchida em `metadata`/`variables` no pedido.
  </Card>
</CardGroup>

<Warning>
  Assim como em qualquer integração via webhook, a entrega é **at-least-once**: o mesmo evento pode chegar mais de uma vez. Guarde os `id`s de evento já processados e trate reentrega como no-op, para não dar o item em dobro.
</Warning>

## Não usa Minecraft nem FiveM/RedM?

O mesmo caminho funciona para qualquer engine ou plataforma — Discord (dar um cargo), um painel de hospedagem, um app próprio: assine o webhook, valide a assinatura, e chame a API que você já tem para aquele sistema. Veja o guia completo de eventos e validação em [Webhooks](/api-reference/webhooks).
