Como entregar VIP automático no Minecraft
Plugin ou RCON, comandos do LuckPerms para VIP temporário e permanente, nick do jogador, entrega offline e o que testar antes de vender o primeiro VIP.
Tanz
6 min de leitura
VIP automático funciona assim: o pagamento é aprovado, a loja coloca um comando na fila e o servidor executa esse comando no console, sem ninguém da staff no meio. O comando costuma ser do plugin de permissões, como lp user {identifier} parent addtemp vip 30d accumulate no LuckPerms. O resto da configuração é decidir como o comando chega ao servidor (plugin conector ou RCON) e testar antes de abrir as vendas.
Key manual e entrega automática
Ainda há servidor que vende VIP por key. O jogador paga, alguém da staff confere o pagamento, gera uma key e manda no privado. O jogador digita a key no servidor e o VIP ativa.
O PixelVip é um exemplo conhecido desse modelo. Na página dele, o comando /usekey (alias /usarkey) serve "To use a generated key to activate a vip or use the payment/order id to self activation", e o /newkey (alias /gerarkey) gera a key a partir de um grupo de VIP.
O problema da key está no passo humano entre o pagamento e a ativação. Se ninguém da staff está online, o jogador espera. Se a key é copiada errado ou vai parar no lugar errado, vira ticket de suporte. E a conferência de pagamento vira tarefa diária de alguém.
Na entrega automática, a loja faz a parte da staff. Quem já usa PixelVip não precisa trocar de plugin: ele tem o /addvip [player] [group] [days], que serve "To add a vip for player without key, giving the itens on activation". Esse comando pode ser o comando da loja, como addvip {identifier} vip 30.
Como a entrega automática funciona
O fluxo tem três peças:
- Você cadastra no produto VIP o comando que o servidor deve rodar.
- Quando o pedido é aprovado, a loja enfileira o comando com o nick do comprador no lugar de
{identifier}. - Um conector instalado no servidor busca o comando, ou a própria plataforma se conecta ao console por RCON, e o comando roda.
Na Gamecart, a documentação de entrega descreve esse fluxo: o comando com gatilho On Purchase entra na fila depois que o pagamento é aprovado. Se a loja vende em real, o guia como receber Pix na loja do servidor cobre a parte do pagamento.
Plugin conector ou RCON
As duas formas entregam o mesmo comando. Muda o caminho até o console.
| Plugin conector | RCON | |
|---|---|---|
| O que instalar | Um JAR em plugins/ (ou mods/ no Fabric) | Nada, só ligar o RCON no servidor |
| Quem inicia a conexão | O servidor, que busca comandos por HTTPS a cada intervalo | A plataforma, que conecta na porta RCON |
| Porta aberta | Não precisa | Porta RCON acessível pela internet |
| Credencial | Token do servidor, guardado na config do plugin | Senha do RCON, guardada na plataforma |
| Intervalo | Busca a cada pollIntervalSeconds (15 s na config gerada) | Não se aplica |
| Quando dá errado | Erro de rede espera e tenta de novo; token inválido para a busca até gamecart reload | Se não dá para saber se o comando rodou, ele fica como Uncertain |
Para a maioria dos servidores, o plugin é o ponto de partida mais simples, e é o que a Gamecart recomenda na documentação. O RCON serve para quem não pode ou não quer instalar plugin, como um servidor vanilla.
Atenção
O RCON do Minecraft não é criptografado. A Minecraft Wiki avisa que tudo o que passa pela conexão, senha inclusive, pode ser interceptado. Se usar RCON pela internet, use uma senha longa e única e, se a sua host permitir, libere a porta só para quem precisa.
Instalando o plugin
Na Gamecart, o caminho do conector de Minecraft é:
- Em Integrations > Servers, clique em Create Server, escolha Plugin e dê um nome, como
Survival. - Baixe o JAR da sua plataforma (Spigot/Paper/Folia, BungeeCord, Velocity ou Fabric) e coloque em
plugins/(oumods/, no Fabric). - Inicie o servidor uma vez para gerar a config e cole o token em
serverToken. - Reinicie e rode
gamecart statusno console.
O pollIntervalSeconds aceita de 5 a 600. Use um token por instalação: dois servidores com o mesmo token disputam os mesmos comandos.
Configurando o RCON
No server.properties, ligue enable-rcon=true, defina rcon.password e confira a rcon.port (a documentação do Paper traz 25575 como padrão). Com a senha em branco, o RCON nem inicia.
Depois, em Integrations > Servers, crie um servidor com o método RCON e informe host público, porta e senha. A página de RCON da Gamecart lembra que esse método não usa token.
Os comandos do VIP com LuckPerms
Os exemplos usam o LuckPerms, mas a lógica vale para qualquer plugin de permissões. Escreva o comando como no console, sem a barra inicial.
Para um VIP permanente:
lp user {identifier} parent add vip
O parent add soma o grupo aos que o jogador já tem, sem tirar nenhum.
Para um VIP de 30 dias:
lp user {identifier} parent addtemp vip 30d accumulate
A duração aceita formatos como 30d ou 1mo3d13h45m. O accumulate no fim é o detalhe que costuma passar batido: segundo a configuração do LuckPerms, o comportamento padrão de temporary-add-behaviour é deny, e com ele "the command will just fail if you try to add a duplicate temporary node". Sem o modificador e com a config padrão, quem renova o VIP antes de vencer paga e não recebe nada. Com accumulate, os dias novos somam aos que restam.
Existe também a alternativa de deixar a expiração com a loja. Em vez do addtemp, você pode usar parent add e preencher a duração do produto em dias. A Gamecart agenda comandos com gatilho On Expiration quando o item comprado tem data de expiração, e ali entra o lp user {identifier} parent remove vip. Escolha um dos dois caminhos para cada produto. Com os dois juntos, fica difícil saber quem tirou o VIP do jogador.
No ícone de engrenagem de cada comando fica a opção Ignore quantity. Desligada, o comando roda uma vez por unidade comprada, então duas unidades de VIP 30 dias com accumulate viram 60 dias. Num VIP permanente, ligue a opção. A outra opção dessa engrenagem, Offline delivery, aparece mais abaixo.
Nota
Se o conector roda no proxy, o comando roda no console do proxy e não é repassado aos servidores de baixo. No proxy, o comando do LuckPerms é lpv (Velocity) ou lpb (BungeeCord), e ele só altera o rank na rede se todas as instâncias do LuckPerms usarem o mesmo banco de dados, como diz o guia de rede do LuckPerms.
Antes de definir o que entra em cada VIP, confira o que as regras da Mojang deixam vender. Benefício que dá vantagem competitiva fica fora, por mais automática que seja a entrega.
O nick do jogador
O {identifier} recebe o valor que o comprador digitou no checkout. Num servidor de Minecraft, é o nick. Se ele digitar errado, o comando roda com o nick errado, e o LuckPerms aplica o VIP para outra conta ou para ninguém.
Servidores com jogadores de Bedrock via Geyser têm um cuidado a mais. Na config padrão do Floodgate, o prefixo dos nomes de Bedrock é . e os espaços viram _. Um jogador que aparece como Steve Pro no celular entra no servidor como .Steve_Pro, e é esse nome que o comando precisa receber. Faça uma compra de teste com uma conta Bedrock antes de anunciar o VIP para esse público.
E se o jogador estiver offline
Na Gamecart, cada comando tem a opção Offline delivery. A documentação de comandos diz para ligá-la quando o comando pode rodar com o jogador offline.
A decisão depende do comando. Um give com o jogador fora do servidor não tem em quem colocar o item, então deixe a opção desligada. Um comando de permissão pode funcionar com o jogador offline, mas confirme no seu servidor: ligue a opção no produto de teste, compre com um nick que esteja fora e confira o rank quando ele entrar.
Teste antes de vender
Crie um produto de teste barato, como "VIP Teste 1 dia", com o mesmo comando do VIP real. Coloque numa categoria oculta: em Your store > Products, a opção Hide category tira a categoria das listas da loja, mas mantém o link direto.
Depois:
- Rode
gamecart statusno console (ou confira host e porta, no caso do RCON). - Compre o produto com o seu nick.
- Confira o pedido aprovado em Sales > Orders.
- Acompanhe o comando em Integrations > Commands e clique em Refresh.
- Entre no servidor e rode
lp user SeuNick parent infopara ver os grupos do jogador.
O status Executed quer dizer que a entrega foi registrada. Só a checagem no jogo mostra se o comando fez o que você queria.
Quando o VIP não chega
| Sintoma | O que conferir |
|---|---|
| Comando parado em Scheduled | Se o plugin está buscando: gamecart status, token e logs. Depois do ajuste, gamecart reload |
| Comando Failed | A mensagem mostrada no painel e o comando rodado à mão no console |
| RCON em Uncertain | Se o rank já foi aplicado no servidor antes de reenviar |
| Executed, mas sem VIP | Nick digitado no checkout, nome do grupo no LuckPerms e accumulate em renovações |
| Executado no proxy, sem efeito nos servidores | Use lpv ou lpb e confira se o LuckPerms da rede compartilha o banco |
Atenção
O Resend cria uma nova tentativa e pode aplicar o comando duas vezes. Com addtemp ... accumulate, um reenvio desnecessário dá dias a mais para o jogador. Confira o servidor antes de reenviar.
Se ainda está montando a loja, o guia como criar uma loja para seu servidor passa pelas outras decisões na ordem.
Fontes
- https://www.spigotmc.org/resources/pixelvip-1-7-1-20.30438/
- https://github.com/LuckPerms/wiki/blob/master/pages/Parent-Commands.md
- https://github.com/LuckPerms/wiki/blob/master/pages/Configuration.md
- https://github.com/LuckPerms/wiki/blob/master/pages/Command-Usage.md
- https://github.com/LuckPerms/wiki/blob/master/pages/Network-Installation.md
- https://docs.papermc.io/paper/reference/server-properties/
- https://minecraft.wiki/w/Server.properties
- https://github.com/GeyserMC/Floodgate/blob/master/core/src/main/resources/config.yml

Sobre o autor
Tanz
Fundador da Gamecart, a plataforma de lojas para servidores de Minecraft, Hytale, FiveM e outros jogos.
Abra a loja do seu servidor
Crie uma loja grátis na Gamecart, conecte seu servidor e entregue as compras automaticamente.



