Como configurar recompensas por voto (Votifier, VotingPlugin e mais)
Instale o plugin complementar, configure o Votifier para entrega instantânea, ou conecte o VotingPlugin, SuperVotes ou SuperbVote a este site - com os valores exatos que este site realmente espera.

Todo plugin de recompensas precisa de duas coisas suas: uma forma de saber que um voto aconteceu, e algo para executar quando isso acontece. Este guia mostra as duas coisas - o plugin complementar que este site disponibiliza, o Votifier para entrega instantânea, e o que fazer se você já usa o VotingPlugin, SuperVotes ou outro plugin de recompensas.
Opção A: o plugin VoxelRank (recomendado)
O plugin complementar conversa diretamente com a API deste site. Não precisa de Votifier - ele funciona consultando periodicamente os votos ainda não resgatados, então funciona mesmo atrás de NAT e recupera tudo o que foi perdido enquanto o servidor estava fora do ar. O Votifier também está disponível, como complemento opcional para entrega instantânea (veja a Opção B).
- Baixe o jar pelo seu Painel (o card do seu servidor tem um botão de download assim que existir uma build), ou direto por /download/plugin.
- Coloque-o em
plugins/e inicie o servidor uma vez. Isso geraplugins/VotingSite/config.yml. - Abra a página Editar do seu servidor → aba Recompensas e votação e copie a Chave de API exibida ali.
- Cole em
site.api-keynoconfig.yml(confira também sesite.urlaponta para este site), depois execute/votingsite reload. - Decida como os votos devem chegar até você configurando
modenoconfig.yml:poll(padrão) - o plugin busca sozinho os votos não resgatados. Não precisa instalar mais nada.votifier- o site envia cada voto no exato momento em que é registrado. Requer NuVotifier ou outro listener de Votifier (Opção B abaixo).both- envio via Votifier com o polling como rede de segurança, sem duplicar votos graças ao id de cada voto.
- Preencha
rewards.commands(e, se quiser,milestonesevote-party) com os comandos de console que devem rodar a cada voto. - Teste:
/votingsite testvote <player>simula um voto sem esperar por um real./votingsite statusmostra o modo, se a chave de API está sendo aceita e quantos votos já foram entregues.
Os jogadores recebem o link de voto e a contagem deles com /voxelrank vote - não com /vote, que este plugin deliberadamente nunca reivindica (dois plugins disputando o mesmo comando é exatamente como uma recompensa para de funcionar silenciosamente - veja a nota sobre isso no próprio config.yml).
Opção B: entrega instantânea com NuVotifier
Pule esta parte se o modo poll já funciona bem o suficiente para você - ele não é obrigatório. Adicione-a quando os poucos minutos de atraso do polling fizerem diferença, ou quando você preferir rodar um plugin de recompensas dedicado em vez do deste site.
O NuVotifier é o fork mantido ativamente do Votifier original - o projeto original hoje está essencialmente sem manutenção, então "instalar o Votifier" na prática significa instalar o NuVotifier (ou um fork compatível como o VotifierPlus).
- Coloque o jar do NuVotifier em
plugins/e reinicie o servidor. Em um servidor Bukkit/Spigot/Paper, ele mantém o nome de pasta clássicoplugins/Votifier/por compatibilidade com versões anteriores - é a própria pasta do NuVotifier, não uma sobra do plugin antigo - e gera dentro dela, na primeira inicialização, umconfig.ymle um par de chaves emrsa/. - Pegue suas credenciais em
plugins/Votifier/config.yml: o token v2 (recomendado) é gerado automaticamente sob a chavedefaultna seçãotokens:- copie exatamente como está. Se preferir o método mais antigo, a chave pública v1 fica emplugins/Votifier/rsa/public.key; mantenha aprivate.keycorrespondente na mesma pasta do servidor e nunca a compartilhe. - Verifique a
portem que o NuVotifier está escutando (8192por padrão) e garanta que esteja aberta no seu firewall ou painel de hospedagem - é uma porta separada da porta normal do Minecraft, e a maioria das hospedagens não a abre automaticamente. - Na página Editar do seu servidor → aba Recompensas e votação, preencha o host do Votifier (o endereço do seu servidor) e essa porta, e depois cole o token v2 ou a chave v1 do passo 2. Se preencher os dois, só um é usado - o v2 tem prioridade.
- Clique em Enviar voto de teste ali mesmo na aba. Isso dispara um pacote Votifier real para o host/porta/chave/token que estiver no formulário no momento - não precisa salvar antes - e mostra na hora se o NuVotifier aceitou. Se falhar, o próprio log de console do NuVotifier (
debug: truepor padrão) mostra se a conexão sequer chegou até o plugin, o que ajuda a distinguir rapidamente entre "chave errada" e "porta bloqueada". - Salve, depois registre um voto real e confirme se a recompensa chega na hora em vez de esperar pelo próximo polling.
Por baixo dos panos, este site envia um handshake VOTIFIER 2 padrão com um payload JSON assinado com HMAC quando há um token v2 configurado, e recorre a um bloco v1 clássico criptografado com RSA caso contrário - o mesmo protocolo que qualquer listener compatível com Votifier já fala, nada específico deste site.
Já usa o VotingPlugin?
Se o seu servidor já roda o VotingPlugin, você não precisa instalar o nosso - e também não precisa adicionar este site manualmente nele, porque o VotingPlugin tem um preset mantido para ele.
Execute isto no jogo como operador (ou com a permissão VotingPlugin.Commands.AdminVote.VotePresets):
/av VotePresets
O VotingPlugin baixa a lista atual de presets do próprio repositório VotingPlugin-Presets, deixa você escolher um - o VoxelRank está incluído - e então pergunta pelos valores que aquele preset precisa: nome de exibição, URL de voto do seu anúncio, atraso entre votos e afins. Ou vá direto ao ponto com seu próprio link de voto:
/av VotePresets https://voxelrank.com/server/your-slug/vote
Inclua o https://; o VotingPlugin associa o hostname ao preset certo automaticamente, em vez de você ter que procurá-lo numa lista.
De qualquer forma, ele escreve ou atualiza a entrada correspondente em VoteSites: no VoteSites.yml - ServiceSite, VoteURL, atrasos padrão razoáveis, e um item de exibição provisório ou mensagem de agradecimento caso o site ainda não tenha um - e depois recarrega os vote sites para você. Qualquer outra coisa já presente no arquivo permanece intacta. Faça backup do VoteSites.yml antes se estiver alterando uma configuração já existente em vez de adicionar uma nova, e revise o que foi escrito - as recompensas em especial, já que um preset é um ponto de partida, não uma configuração pronta - antes de divulgá-lo aos jogadores.
O VotingPlugin ainda precisa da própria conexão Votifier para realmente receber votos - aponte-o para a mesma configuração do NuVotifier da Opção B acima. Também precisa que o servidor consiga alcançar o GitHub (raw.githubusercontent.com) para buscar presets; se /av VotePresets informar que não há presets disponíveis, é um problema de rede ou firewall no servidor, não um preset ausente. /av gui, ou editar VoteSites.yml diretamente, ainda funciona como alternativa - ServiceSite precisa corresponder exatamente a VoxelRank.com, o que você pode confirmar com /av servicesites depois de um voto real ou de teste feito por um admin.
Outros plugins de recompensas
Usa algo mais simples que o VotingPlugin? O SuperVotes e o SuperbVote são listeners de Votifier leves, cada um com seu próprio sistema de vote-party e comandos de recompensa. Nenhum dos dois controla presets por site como o VotingPlugin faz - aponte qualquer um deles para o mesmo host, porta e token v2 (ou chave v1) do Votifier na aba Recompensas e votação acima, e configure as recompensas dele do mesmo jeito que faria para qualquer voto.
Solução de problemas
- Nada acontece com
/votingsite testvote. Verifique primeiro/votingsite status- se a chave de API não for aceita, os votos (reais ou de teste) não têm para onde ir. Copie-a novamente da página Editar e confira se não há espaço em branco no final. - O envio do Votifier nunca chega, mas o polling funciona. Geralmente é a porta do Votifier que está bloqueada, não a API - a maioria das hospedagens abre tráfego HTTP de saída por padrão, mas não uma porta extra de entrada qualquer.
mode: both(ou rodar o listener de outro plugin de recompensas) é uma alternativa permanente razoável em vez de brigar com o firewall. - A recompensa dispara mas nada aparece no jogo. Comandos de recompensa rodam pelo console, então um comando que só funciona quando digitado por um jogador (sem permissão, sem
op) vai falhar silenciosamente. Teste primeiro o comando exato pelo console. - O VotingPlugin registra "invalid service site" ou nunca associa o voto. O valor de
ServiceSiteprecisa bater caractere por caractere, exceto maiúsculas/minúsculas. Confira com/av servicesitesem vez de tentar adivinhar pelo domínio deste site. /av VotePresetsdiz que não há presets disponíveis, ou uma URL não bate com nada. Ele baixa a lista de presets do GitHub em tempo real, então isso é quase sempre a própria rede do servidor - firewall, proxy, DNS ou uma instabilidade do GitHub - bloqueandoraw.githubusercontent.com, não um sinal de que o VoxelRank foi removido da lista. Uma correspondência por URL também precisa do endereço completo, incluindohttps://; hostnames sozinhos não são reconhecidos.- As configurações na aba Recompensas e votação parecem não salvar. Elas só se aplicam a um anúncio reivindicado - veja o filtro Reivindicado na lista de servidores. Um registro importado e não reivindicado ainda não tem dono para configurar recompensas; reivindique-o primeiro.
Respostas rápidas
Eu preciso mesmo do Votifier?
Não. O modo poll (padrão do plugin VoxelRank) funciona sem precisar instalar mais nada - o Votifier só reduz o atraso entre o voto e a recompensa, e é o único caminho se você preferir usar o VotingPlugin, SuperVotes ou SuperbVote.
Posso usar nosso plugin e o VotingPlugin ao mesmo tempo?
Não para a mesma recompensa - escolha um deles para realmente executar os comandos de recompensa, senão um voto pode ser pago em dobro. O próprio Votifier pode notificar mais de um listener, então essa é uma regra de "não configure a mesma recompensa duas vezes", não uma limitação técnica.
Minha hospedagem não me deixa abrir portas extras para o Votifier.
Use o modo poll com o plugin VoxelRank. Ele só faz requisições de saída, então não há nada para abrir. O VotingPlugin e plugins de recompensa parecidos não têm um modo de polling equivalente - eles precisam de uma porta Votifier de entrada.
Precisa de ajuda?
Ficou travado em algum passo acima, ou algo não bate com o que o seu servidor realmente envia? Fale conosco - os caminhos mais rápidos para uma dúvida sobre votos/recompensas estão listados ali.