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
| Plataforma | Versões do Minecraft | Java |
|---|---|---|
| Paper e Purpur | 1.21.x e 26.x | 21 (1.21.x) ou 25 (26.x) |
| Folia | 1.21.x e 26.x | 21 ou 25 |
| Spigot | 1.21.x e 26.x | 21 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 ABCD1234O 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 confirmno console. O token é revogado na MinePag e ocredentials.ymlé apagado. As compras ficam na fila até um novo pareamento.
Situações do servidor
| Situação | O que significa |
|---|---|
| Aguardando pareamento | O servidor foi adicionado no painel, mas o plugin ainda não usou o código. |
| Online | O plugin se comunicou com a MinePag nos últimos minutos. |
| Offline | O 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. |
| Desativado | Você 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 statusmostra "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, rodeminepag forcecheckno console. - Revogar token: desconecta o plugin na hora. Use quando o
credentials.ymlvazou 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
| Comando | Quem pode | O que faz |
|---|---|---|
/minepag help | Todos | Lista os comandos. |
/minepag link <código> | Jogadores | Vincula o nick à conta do cliente na loja. Veja Vincular contas. |
/minepag pair <código> | Administradores | Pareia o servidor com a loja. Prefira usar no console. |
/minepag unpair confirm | Administradores | Desconecta o servidor da loja e revoga o token. |
/minepag status | Administradores | Mostra loja, servidor, token mascarado, última e próxima busca, falhas seguidas e confirmações pendentes. |
/minepag forcecheck | Administradores | Busca entregas agora, com intervalo mínimo de 10 segundos entre usos. Também retoma as buscas paradas. |
/minepag reload | Administradores | Recarrega 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ão | Padrão | Libera |
|---|---|---|
minepag.use | Todos | /minepag help |
minepag.link | Todos | /minepag link |
minepag.admin | Operadores | Todas as permissões abaixo |
minepag.admin.pair | Operadores | /minepag pair e /minepag unpair |
minepag.admin.status | Operadores | /minepag status |
minepag.admin.forcecheck | Operadores | /minepag forcecheck |
minepag.admin.reload | Operadores | /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 trueConfiguração (config.yml)
O arquivo fica em plugins/MinePag/config.yml. Depois de editar, rode minepag reload.
| Chave | Padrão | Descrição |
|---|---|---|
api-url | https://minepag.com.br | Endereço da MinePag. Só altere com orientação do suporte. Precisa ser HTTPS. |
poll-interval-seconds | 30 | Intervalo 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-join | true | Busca 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.enabled | true | Anuncia as compras no chat. |
announcements.min-interval-seconds | 10 | Intervalo mínimo entre dois anúncios. No máximo 20 anúncios ficam na fila. |
language | pt-BR | Idioma das mensagens: pt-BR ou en. |
debug | false | Registra 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.appPara 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:
| Marcador | Valor |
|---|---|
<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 ... runereturn run. A lista vale para o comando raiz, com ou sem namespace (opeminecraft: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 importExemplo de comandos extras no config.yml:
delivery:
blocked-commands:
- kill
- eco resetComandos 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.