Começo

Loja de servidor de jogo

Venda VIPs, itens e benefícios do seu servidor de FiveM, RedM, MTA ou Minecraft, com entrega automática dentro do jogo.

Ao criar a loja, escolha Servidor de jogos e depois o jogo. O painel passa a ter a área Servidor, com tudo o que muda de um jogo para outro.

Como a entrega funciona#

  1. O comprador informa o ID ou nick no checkout e paga.
  2. A Promisse coloca os comandos do produto na fila.
  3. O script no seu servidor busca a fila a cada poucos segundos e executa.
  4. O servidor confirma, e o pedido aparece como entregue para o comprador.

O servidor nunca precisa abrir porta nenhuma: é sempre ele que chama a Promisse. Se o jogador estiver fora do jogo, o comando espera ele entrar.

Instalar o script#

Abra Servidor > Instalação e siga os passos do seu jogo.

  1. Baixe o script e coloque na pasta do servidor, mantendo o nome promisse.
  2. Em Servidor > Servidores, crie um servidor e copie o token. Ele só aparece uma vez.
  3. Cole o token no arquivo de configuração do script.
  4. Inicie o script e reinicie o servidor. No MTA, rode também aclrequest allow promisse all no console.

Em Servidores ele deve aparecer como online. Se o token vazar, use o botão de trocar: o antigo para de funcionar na hora.

Se sair da equipe quem viu o token atual, o servidor ganha o selo Trocar token e o dono recebe um aviso. A troca não é automática, para as entregas não pararem: gere um token novo e cole no servidor.

Configurar um produto#

No formulário do produto, o cartão Entrega no jogo aceita um comando para cada coisa que deve acontecer.

  • Após a confirmação roda quando o pagamento é aprovado.
  • Quando expirar roda no fim do prazo.
  • Após uma disputa roda quando o pagamento é contestado (chargeback ou MED), se o servidor confirmou quem é o jogador. O que ainda estava na fila é cancelado. Reembolso não roda a disputa: ele é decisão sua.
  • Quando renovar roda a cada renovação paga de um produto por assinatura. Só aparece quando o produto é cobrado por assinatura.

Disputa só com o jogador confirmado#

A ação Após uma disputa (banir, por exemplo) só roda sozinha quando o servidor do jogo confirmou quem é o jogador:

  • compra feita na loja dentro do jogo;
  • renovação de uma assinatura que começou dentro do jogo;
  • compra no site com a conta da loja aberta, de um jogador que vinculou essa conta digitando no jogo o código dela, pela license, Steam, UUID ou gamertag.

Na compra pelo site com o ID digitado ela não roda: o ID pode ser de outra pessoa, e comprar com o ID de alguém para depois contestar o pagamento faria o seu servidor banir quem nunca comprou. O ID do Discord também não conta, nem dentro do jogo, porque vem do aplicativo do jogador sem conferência.

Nesses casos o pedido ganha uma linha na Linha do tempo com o motivo, e você recebe a notificação Contestação sem ação no jogo. Confira o caso e, se for aplicar, use Criar comando em Servidor > Comandos. O resto do estorno segue igual: o que estava na fila é cancelado e o benefício com prazo sai na hora.

Benefício com prazo#

Ligue Remover do cliente após e informe os dias. Esse campo só define o prazo: quem tira o benefício é um comando Quando expirar. O painel avisa se faltar, e o botão Criar remoção monta o comando certo.

Quem compra de novo antes de vencer soma os dias, em vez de perder o benefício na data antiga.

VIP mensal por assinatura#

No cartão Cobrança do produto, escolha Assinatura e o ciclo, como mensal. A assinatura passa a marcar o fim do benefício: não precisa de Remover do cliente após.

Momento O que roda no servidor
Primeiro pagamento Os comandos Após a confirmação, como numa compra. O Quando expirar fica agendado para o fim do ciclo, mais a tolerância.
Renovação paga Nada da compra se repete: o grupo, o dinheiro e o carro não são entregues de novo. O Quando expirar é adiado um ciclo, e os comandos Quando renovar rodam, se você criou algum (um bônus mensal, por exemplo).
Cancelamento O Quando expirar fica para o fim do ciclo pago. Cancelado pela loja agora, ele roda na hora.
Venceu sem pagar O Quando expirar roda no fim da tolerância.
Estorno ou contestação O Quando expirar volta para o fim do ciclo anterior, ou roda na hora se não sobrou ciclo pago. Na contestação, Após uma disputa segue a regra do jogador confirmado, explicada acima: a renovação vale como a primeira compra.

Se o jogador tinha um vencimento avulso do mesmo benefício (de um brinde ou de uma compra com prazo), a assinatura assume esse prazo: o benefício nunca sai antes da data que ele já tinha. Os cargos do Discord seguem a mesma regra.

O pedido de renovação usa o mesmo jogador da primeira compra. A renovação e o cancelamento estão em Assinaturas.

Escolha do comprador#

Para o jogador escolher o carro ou o item, crie um Campo Extra do tipo Lista de opções em Configuração. No comando, ligue Usar variável e selecione a lista. Só os valores da lista são aceitos.

VIP inicial#

Crie um produto de R$ 0,00 e ligue Permitir apenas uma compra por usuário. O limite vale pelo e-mail e pelo jogador, então trocar de e-mail não adianta.

Comandos no Minecraft#

No Minecraft tudo é comando de console, sem a barra inicial. Use {player}, {order}, {quantity} e {product} no texto.

lp user {player} parent add vip
eco give {player} 1000

Servidor Fabric#

O mod do Fabric tem um arquivo para cada linha do Minecraft. Em Servidor > Instalação, escolha o que bate com o seu servidor:

Download Minecraft Java
Fabric 1.21 1.21 a 1.21.11 21 ou mais novo
Fabric 26.x 26.1 a 26.3 25 ou mais novo

Coloque o arquivo na pasta mods, junto com o Fabric API da mesma versão do seu Minecraft. Com o arquivo errado, o servidor não liga: o console mostra Incompatible mods found! e a versão do Minecraft que o mod pede.

Para passar o servidor da 1.21 para a 26.x, troque só o arquivo do mod. O config/promisse/config.properties, com o token, continua valendo.

Acompanhar e corrigir#

Em Servidor > Comandos você vê o que está na fila, agendado, executado ou com erro, junto com o motivo. Comando com erro volta para a fila no botão de tentar de novo.

Criar comando manda um comando na hora, para testar a instalação ou resolver uma entrega.

Cargos no Discord#

Em Servidor > Configuração, conecte o seu bot informando o token e o ID do servidor do Discord. Depois use Adicionar cargo e Remover cargo nos comandos do produto.

O comprador precisa entrar na loja com o Discord para receber o cargo. O cargo do bot precisa ficar acima dos cargos que ele vai dar.

Saldo da loja no jogo#

Com o crédito do comprador ligado, a loja dentro do jogo mostra o saldo do jogador, vende os pacotes de recarga pelo Pix e deixa pagar com o saldo. O jogador liga a conta da loja digitando no jogo o código que gera na área dele, e o saldo passa a ser o mesmo no site e no jogo. As regras e as rotas estão em Saldo no servidor de jogo.

Meta, ranking e lista de servidores#

Segurança#

  • O token fica guardado em hash: nem a Promisse consegue mostrar de novo.
  • Token errado de outro servidor na mesma hospedagem não derruba o seu: o token certo sempre passa, e só quem erra o token é barrado depois de muitas tentativas.
  • O nick passa pela regra do jogo antes de virar comando, então ninguém escreve um comando no lugar do nome.
  • A ação de disputa nunca cai sozinha num ID digitado no site: veja Disputa só com o jogador confirmado.
  • Código SQL, comandos de console e grupos de admin nos scripts de FiveM, RedM e MTA ficam desligados até você ligar allow_code na configuração do script.