Como um voto se transforma numa recompensa
Há três partes a trabalhar em conjunto. Um jogador vota numa lista de servidores. A lista envia uma mensagem de voto ao Votifier no teu servidor, com o nome do jogador e um nome de serviço que identifica a lista. O VotingPlugin fica à escuta destas mensagens, procura o site de voto cujo ServiceSite corresponde ao nome de serviço e executa as recompensas desse site.
Ou seja, o VotingPlugin não recebe votos sozinho. Precisas primeiro de um Votifier a funcionar, normalmente o NuVotifier. Se ainda não o configuraste, segue o guia de configuração do NuVotifier e volta aqui.
- O Votifier recebe o voto e verifica-o (token no v2, chave RSA no v1).
- O VotingPlugin faz corresponder o nome de serviço e dá as recompensas.
- A BestMCServerList envia o nome de serviço
BestMCServerList.
Passo 1: Instala o VotingPlugin
- Garante que o NuVotifier está a correr e acessível. Um voto de teste a partir da tua página do Votifier deve aparecer na consola.
- Coloca o JAR do VotingPlugin na pasta
pluginsdo teu servidor Spigot ou Paper e reinicia uma vez. - O VotingPlugin cria os seus ficheiros, entre eles
plugins/VotingPlugin/VoteSites.ymlpara os sites de voto eConfig.ymlpara as definições gerais.
Numa network com proxy, os votos normalmente chegam ao proxy e as recompensas correm nos servidores de backend. Mantém o VoteSites.yml igual em todos os backends.
Passo 2: Adiciona a BestMCServerList ao VoteSites.yml
Cada lista onde estás tem a sua própria entrada em VoteSites. A chave é um nome interno: curto, sem espaços e sem pontos. A linha importante é ServiceSite.
VoteSites:
BestMCServerList:
Enabled: true
Name: 'BestMCServerList'
Priority: 5
ServiceSite: 'BestMCServerList'
VoteURL: 'https://bestmcserverlist.net/server/your-server/vote'
VoteDelay: 24h
WaitUntilVoteDelay: false
VoteDelayDaily: true
ForceOffline: false
DisplayItem:
Material: 'DIAMOND'
Amount: 1
Rewards:
Commands:
- 'eco give %player% 250'
- 'give %player% diamond 2'
Messages:
Player: '&aThanks for voting on BestMCServerList!'Enabled: trueé obrigatório; a predefinição é false.ServiceSitetem de coincidir com o nome de serviço que a lista envia. O VotingPlugin compara sem distinguir maiúsculas de minúsculas, mas de resto o texto tem de ser idêntico. No nosso caso éBestMCServerList.VoteURLé a ligação que os jogadores recebem com/vote. Copia a tua ligação de voto da página do teu servidor;your-serverrepresenta o teu próprio slug.DisplayItemé obrigatório em todos os sites, porque aparece nos menus do VotingPlugin.- Os comandos correm a partir da consola, e
%player%passa a ser o nome de quem votou. Oeco giveprecisa de um plugin de economia; usa os comandos que o teu servidor tiver.
Guarda o ficheiro e executa /av reload.
Passo 3: Intervalo entre votos e reinício diário
Na BestMCServerList, cada nome de Minecraft pode votar uma vez por servidor e por dia de calendário, e o dia segue o fuso horário Europe/Berlin. Um novo voto é possível logo a seguir à meia-noite, hora de Berlim, e não 24 horas depois do último.
VoteDelay: 24hé usado para o/vote next, a contagem decrescente que os jogadores veem. Não bloqueia votos.VoteDelayDaily: truerepõe o intervalo uma vez por dia, o que se adequa a listas com reinício diário como a nossa.VoteDelayDailyHourdefine a hora em hora do servidor (1–24). Se o relógio do teu servidor não estiver na hora de Berlim, tem a diferença em conta quando o definires.WaitUntilVoteDelay: truerejeitaria votos que chegassem antes do fim do intervalo. Deixa-o emfalse: nós já impomos um voto por nome e por dia, e uma definição errada do intervalo faria os jogadores perder recompensas.
Passo 4: Testa as recompensas
- Executa
/av vote <player> BestMCServerList. Isto executa as recompensas desse site para um jogador e mostra que a tua config de recompensas funciona. Não testa o Votifier. - Abre a tua página do Votifier na BestMCServerList e carrega em Enviar voto de teste. Enviamos um voto para o nome
TestVote, que não conta para o ranking. O registo de entregas mostra se o teu servidor o aceitou. - Procura na consola uma linha como
[VotingPlugin] Received a vote from service site 'BestMCServerList' by player 'TestVote'!. - Executa
/av servicesitespara listar os nomes de serviço que o VotingPlugin recebeu até agora.
Se o voto de teste chegar mas o VotingPlugin indicar um service site desconhecido, o problema está na linha ServiceSite. Com AutoCreateVoteSites: true no Config.yml (a predefinição), o VotingPlugin também pode criar uma entrada nova sozinho; ela continua a precisar de Enabled: true e das tuas recompensas.
Jogadores Bedrock e votos offline
Os jogadores Bedrock que entram através do Geyser e do Floodgate têm um prefixo no nome, por predefinição um ponto: .Steve. Votam com esse nome completo e nós passamo-lo ao Votifier sem alterações. No VotingPlugin, define o mesmo prefixo no Config.yml. Numa network, usa o mesmo valor no proxy e em todos os backends:
BedrockPlayerPrefix: '.'.Steve e Steve são jogadores diferentes. Nunca tires o prefixo para um nome encaixar.
Os jogadores não precisam de estar online quando votam. As recompensas têm um RewardType de ONLINE, OFFLINE ou BOTH (a predefinição). Testa também os votos offline, porque os comandos que precisam de um jogador online comportam-se de forma diferente.
Vote parties, marcos e sequências
Quando as recompensas básicas funcionarem, o SpecialRewards.yml acrescenta objetivos que mantêm os jogadores a votar: uma VoteParty que dispara quando o servidor inteiro chega a um número de votos, VoteMilestones para totais pessoais e VoteStreaks para votar vários dias seguidos. Mantém as recompensas úteis mas justas; recompensas que estragam a economia fazem o voto parecer obrigatório.
Queres um badge de rank para os maiores votantes? O guia de prefixos do LuckPerms mostra como dar a um jogador um prefixo em imagem com um comando, que podes executar como recompensa.
Erros comuns
| Problema | Solução |
|---|---|
| O voto de teste chega, mas ninguém recebe nada | O site de voto não está ativo, ou o ServiceSite não é BestMCServerList. Verifica o /av servicesites. |
| Nada na consola | O Votifier não recebe o voto. Verifica a porta, o token e a firewall com o registo de entregas na tua página do Votifier. |
| O NuVotifier regista que não há listeners disponíveis | O VotingPlugin não está instalado ou não carregou. Verifica o log de arranque. |
O /av vote funciona, os votos reais não | O comando de administração salta o Votifier. Testa antes com Enviar voto de teste. |
| Os jogadores Bedrock não recebem nada | O BedrockPlayerPrefix não corresponde ao teu prefixo do Floodgate. |