Entregas

Plugin Minecraft

Instale o plugin MinePag, pareie o servidor com a loja e configure anúncios, segurança e mensagens.

O plugin MinePag executa no console do servidor os comandos configurados nos produtos (VIP, itens, chaves, permissões) e anuncia as compras no chat. Ele busca as entregas na MinePag: não abre portas no servidor nem precisa de IP fixo.

Cada comando é executado no máximo uma vez, mesmo que o servidor caia no meio da entrega.

Compatibilidade

PlataformaVersões do MinecraftJava
Paper e Purpur1.21.x e 26.x21 (1.21.x) ou 25 (26.x)
Folia1.21.x e 26.x21 ou 25
Spigot1.21.x e 26.x21 ou 25

O mesmo arquivo MinePag.jar funciona em todas as plataformas. No Spigot, as mensagens usam cores no formato legado, e formatações mais avançadas são removidas.

Jogadores Bedrock que entram pelo Floodgate também recebem as compras: o nick deles começa com . (por exemplo, .Steve).

Proxies não são compatíveis

O plugin não roda em Velocity nem em BungeeCord. Em uma rede, instale o plugin em cada servidor que precisa executar comandos (Lobby, Survival, Skyblock) e pareie cada um separadamente.

Instalação

Baixe o plugin

No painel da loja, abra Entregas › Minecraft e use o botão Baixar plugin, no bloco "Como instalar o plugin". O arquivo vem da última release do repositório do plugin, que também traz o SHA-256 para conferir o download.

Coloque o arquivo na pasta plugins/

Copie o MinePag.jar para a pasta plugins/ do servidor e reinicie o servidor. Não use /reload: ele deixa o plugin em um estado inconsistente.

Confira a primeira inicialização

Na primeira vez, o plugin baixa a biblioteca SQLite (sqlite-jdbc) e cria a pasta plugins/MinePag/ com o config.yml. O servidor precisa de acesso à internet para isso.

Pareamento

Parear liga o servidor à sua loja. Você faz isso uma vez por servidor.

Adicione o servidor no painel

Em Entregas › Minecraft, clique em Adicionar servidor, dê um nome para reconhecer o servidor (por exemplo, "Survival") e clique em Gerar código de pareamento.

O painel mostra um código de 8 letras e números e o comando pronto para copiar. O código vale por 10 minutos, só pode ser usado uma vez e não aparece de novo.

Rode o comando no console

No console do servidor (não no chat do jogo), rode:

minepag pair ABCD1234

O console confirma: "Servidor Survival pareado com a loja Minha Loja. As entregas começam agora."

Confira no painel

O servidor passa a aparecer como Online em Entregas › Minecraft, com a plataforma, a versão e a quantidade de jogadores. No console, minepag status mostra a situação "conectado".

Depois de parear, use o servidor no benefício Comando no Minecraft dos produtos. Veja Comandos do Minecraft.

Onde fica o token

O pareamento troca o código por um token exclusivo do servidor, salvo em plugins/MinePag/data/credentials.yml. Só o usuário do sistema que roda o servidor consegue ler esse arquivo.

Não compartilhe o credentials.yml

Quem tiver esse arquivo recebe as entregas da sua loja. Se ele vazar, revogue o token no painel (veja abaixo) e pareie de novo. O config.yml não tem segredos e pode ser enviado ao suporte.

Trocar de máquina ou de loja

  • Mudou o servidor de máquina: na página do servidor no painel, clique em Gerar novo código e rode minepag pair <código> na máquina nova. O token antigo continua valendo até o novo pareamento e depois é revogado.
  • Quer ligar o servidor a outra loja: gere o código na outra loja e rode minepag pair <código> de novo.
  • Quer desconectar pelo próprio servidor: rode minepag unpair confirm no console. O token é revogado na MinePag e o credentials.yml é apagado. As compras ficam na fila até um novo pareamento.

Situações do servidor

SituaçãoO que significa
Aguardando pareamentoO servidor foi adicionado no painel, mas o plugin ainda não usou o código.
OnlineO plugin se comunicou com a MinePag nos últimos minutos.
OfflineO plugin está há mais de 3 minutos sem se comunicar. O proprietário e os administradores da loja recebem uma notificação. As compras ficam na fila e são entregues quando ele voltar.
DesativadoVocê pausou as entregas no painel. As compras ficam na fila.

Na página do servidor, a Zona de perigo tem três ações:

  • Pausar entregas: o plugin para de receber comandos e passa a consultar a MinePag a cada 5 minutos. O minepag status mostra "pausado no painel da MinePag". As compras ficam na fila. Ao clicar em Retomar entregas, o plugin volta sozinho na próxima consulta; para não esperar, rode minepag forcecheck no console.
  • Revogar token: desconecta o plugin na hora. Use quando o credentials.yml vazou ou o servidor mudou de dono. Exige digitar o nome do servidor.
  • Remover servidor: cancela os comandos que ainda não foram entregues e tira o servidor dos benefícios dos produtos. O histórico continua em Todas as entregas. Exige digitar o nome do servidor.

Como o plugin entrega

  • O plugin busca as entregas a cada 30 segundos (ou no intervalo que a MinePag pedir) e também logo depois que um jogador entra no servidor.
  • Comandos que exigem o jogador online esperam ele entrar. Se o benefício exige espaço no inventário, o jogador recebe um aviso no chat e a entrega acontece quando houver espaço.
  • Se o jogador sai ou fica sem espaço no momento da execução, o plugin devolve o comando como adiado: ele volta para a fila sem gastar tentativa.
  • Antes de executar, o plugin grava o comando em plugins/MinePag/data/journal.db. Se o servidor cair durante a execução, o comando não é repetido: ele aparece no painel como resultado incerto para você conferir.
  • Cada resultado é confirmado à MinePag. Se a internet cair, as confirmações ficam guardadas e são enviadas depois.
  • Se a MinePag ficar fora do ar, o plugin espera cada vez mais entre as tentativas (até 5 minutos).

Comandos

ComandoQuem podeO que faz
/minepag helpTodosLista os comandos.
/minepag link <código>JogadoresVincula o nick à conta do cliente na loja. Veja Vincular contas.
/minepag pair <código>AdministradoresPareia o servidor com a loja. Prefira usar no console.
/minepag unpair confirmAdministradoresDesconecta o servidor da loja e revoga o token.
/minepag statusAdministradoresMostra loja, servidor, token mascarado, última e próxima busca, falhas seguidas e confirmações pendentes.
/minepag forcecheckAdministradoresBusca entregas agora, com intervalo mínimo de 10 segundos entre usos. Também retoma as buscas paradas.
/minepag reloadAdministradoresRecarrega o config.yml e o credentials.yml.

O comando também responde por /mpag. No console, use sem a barra: minepag status.

Permissões

PermissãoPadrãoLibera
minepag.useTodos/minepag help
minepag.linkTodos/minepag link
minepag.adminOperadoresTodas as permissões abaixo
minepag.admin.pairOperadores/minepag pair e /minepag unpair
minepag.admin.statusOperadores/minepag status
minepag.admin.forcecheckOperadores/minepag forcecheck
minepag.admin.reloadOperadores/minepag reload

Para dar o acesso administrativo a uma equipe sem torná-la operadora, use um plugin de permissões. Com o LuckPerms:

lp group moderador permission set minepag.admin.status true
lp group moderador permission set minepag.admin.forcecheck true

Configuração (config.yml)

O arquivo fica em plugins/MinePag/config.yml. Depois de editar, rode minepag reload.

ChavePadrãoDescrição
api-urlhttps://minepag.com.brEndereço da MinePag. Só altere com orientação do suporte. Precisa ser HTTPS.
poll-interval-seconds30Intervalo mínimo entre buscas, de 5 a 300 segundos. A MinePag pode pedir intervalos maiores; o plugin nunca busca mais rápido que isso.
check-on-jointrueBusca as entregas do jogador assim que ele entra no servidor.
delivery.blocked-commands[]Comandos extras que nunca são executados, além da lista fixa. Veja Segurança.
announcements.enabledtrueAnuncia as compras no chat.
announcements.min-interval-seconds10Intervalo mínimo entre dois anúncios. No máximo 20 anúncios ficam na fila.
languagept-BRIdioma das mensagens: pt-BR ou en.
debugfalseRegistra detalhes extras no console. O token nunca aparece no log.
messages.<idioma>.*—Todas as mensagens do plugin, em MiniMessage.

Anúncios de compra

Quando um cliente compra um produto com comando no Minecraft, o servidor anuncia a compra no chat, uma vez por pedido:

Steve comprou VIP Ouro! Apoie o servidor em https://minhaloja.minepag.app

Para ligar ou desligar por servidor, use a opção Anunciar compras no chat do servidor na página do servidor no painel, ou announcements.enabled no config.yml. O painel mostra os anúncios recentes e se cada um já foi exibido.

Um anúncio que o servidor não buscar em até 1 hora expira sem ser exibido, para não anunciar compras antigas quando o servidor volta.

Personalizar as mensagens

As mensagens ficam em messages.pt-BR (e messages.en) e usam MiniMessage, como <green>texto</green>. No anúncio de compra, você pode usar:

MarcadorValor
<player>Nick do comprador.
<product>Nome do produto.
<store_url>Endereço da vitrine (clicável no Paper).
messages:
  pt-BR:
    announcement: "<gold><player></gold> <gray>comprou</gray> <yellow><product></yellow><gray>! Garanta o seu em</gray> <aqua><store_url></aqua>"
    announcement-no-store: "<gold><player></gold> <gray>comprou</gray> <yellow><product></yellow><gray>! Obrigado pelo apoio.</gray>"

A mensagem announcement-no-store é usada quando a loja ainda não tem vitrine publicada. Os valores vindos da loja nunca são interpretados como formatação: um produto chamado <red>VIP aparece como texto.

Segurança

  • Lista fixa: os comandos abaixo nunca são executados, inclusive dentro de execute ... run e return run. A lista vale para o comando raiz, com ou sem namespace (op e minecraft:op), ou para um prefixo com argumentos (lp editor). Ela é a mesma na MinePag e no plugin e não pode ser reduzida.
  • Comandos extras: para bloquear outros comandos no seu servidor, acrescente-os em delivery.blocked-commands.
  • Dupla checagem: a MinePag também recusa comandos perigosos antes de enviá-los ao servidor. Um comando bloqueado vai para Tentativas esgotadas com o motivo "O comando está na lista de comandos proibidos" e fica registrado nos logs de auditoria.
  • Nick validado: antes de qualquer comando, o plugin confere o nick do jogador: de 3 a 16 letras, números ou _ (Java), ou . seguido de até 15 caracteres (Bedrock pelo Floodgate). Isso impede que um nick malicioso injete argumentos no comando.
  • Conexão: a comunicação com a MinePag usa HTTPS e não segue redirecionamentos.

A lista fixa de comandos bloqueados:

op, deop, stop, restart, reload, rl, whitelist, ban-ip, pardon-ip, save-off, transfer, sudo, esudo, plugman,
minepag, mpag, lp editor, luckperms editor, lp import, luckperms import

Exemplo de comandos extras no config.yml:

delivery:
  blocked-commands:
    - kill
    - eco reset

Comandos executam como console

Tudo o que está nos benefícios roda com permissão total de console. Revise os comandos com cuidado e dê a função de editar produtos só a quem você confia. Veja Membros e permissões.

Solução de problemas

Código aberto

O plugin tem código aberto, sob a licença Apache 2.0, no repositório minepag/minecraft-plugin. Ali você confere o que ele executa no seu servidor e de onde sai cada MinePag.jar: as releases são compiladas pelo GitHub Actions a partir do código publicado.

O protocolo entre o plugin e a MinePag está descrito em minecraft-agent.openapi.json. Para relatar uma falha de segurança, siga o SECURITY.md do repositório; não abra uma issue pública.

Nesta página