O que é Checagem de Votos?

É um sistema para checar se jogadores Votam ou não em seu site ou servidor digitando o código captcha de segurança no gateway de voto.

Postback PHP

Whitelist IP: monitor.topg.org in your Firewall Settings.

Para configurar sua URL postback vá em Painel, clique no seu site ou servidor e depois use a opção Editar Configurações.

1. Configurar sua URL Postback (no TopG):

https://YOURDOMAIN/postback.php
Para configurar este link, use a opção Editar Configurações da página do seu servidor.
O nome do arquivo postback.php é apenas um exemplo e não é obrigatório, sinta-se à vontade para nomeá-lo como quiser.


2. Atualize seu link de votação e adicione parâmetro ao final:

https://topg.org/CATEGORY/in-SITEID-PARAMETER
Seu link de votação TopG deve ter um - extra e PARÂMETRO no final. Copie o LINK do código de votação e adicione -USUARIO ou -123456 ou qualquer coisa para você manter o controle (PARÂMETRO pode ser apenas números, letras e _). Por exemplo, se eu quiser checar se o usuário `Razor` vota ou não, eu crio o link https://topg.org/CATEGORY/in-SITEID-Razor.

3. Nossa resposta:

TopG irá contatar seu site após votar e a resposta será parecida com este link :
https://YOURDOMAIN/postback.php?p_resp=PARAMETER&ip=USERIP
Nós te enviamos de volta o mesmo PARÂMETRO e o contato é feito APENAS se o usuário votou em você. Seu postback.php deve ATUALIZAR neste momento o usuário PARÂMETRO como Válido. No caso de ele não ter votado, nós não enviamos nenhuma resposta.


Exemplo:

Como seu link de votação deve ser para ID de Usuário (primeiro) ou Nome de Usuário (segundo) :
https://topg.org/CATEGORY/in-SITEID-1234
https://topg.org/CATEGORY/in-SITEID-Razor

Nossa resposta, no primeiro ou segundo caso, será :
https://YOURDOMAIN/postback.php?p_resp=1234&ip=123.123.123.123
https://YOURDOMAIN/postback.php?p_resp=Razor&ip=123.123.123.123
Conclusão: O jogador de conta id 1234 ou nome de usuário Razor votou em você no caso de termos contatado seu link postback com parâmetro.
123.123.123.123 is the IP address used by the player to vote on Topg.
Por favor, leia nosso exemplo PHP para entender como capturar nossa resposta. Nós enviaremos a você a resposta da solicitação http APENAS quando o usuário votou em você. Se você precisar de ajuda para configurar isto, por favor, entre em contato.

How to fix voting callback on topg for Fusion CMS:
If you are using Fusion CMS go to /applications/modules/vote/plugins/topg.php and change line 21 to this:
return $this->CI->input->ip_address() == gethostbyname('monitor.topg.org');

postback.php example


define("DEBUG", 0); //set to 1 to enable debuger
define("LOG_FILE", "_postback.log"); //if debug is enabled will create this file for logs
define("TOPG_IP", gethostbyname("monitor.topg.org")); //This is TopG IP address

$ip_request = $_SERVER['REMOTE_ADDR']; //for Cloudflare $ip_request = $_SERVER["HTTP_CF_CONNECTING_IP"];
if($ip_request == TOPG_IP) //check if response is coming from TopG
{
	if(DEBUG == true) {	
	 error_log(date('[Y-m-d H:i] ')."[OK] Valid callback: $ip_request".PHP_EOL, 3, LOG_FILE);	 
	}
	
	//get the parameters response from us and clean them
	$p = preg_replace('/[^A-Za-z0-9\_\-]+/','',$_GET['p_resp']); //can be only numbers letters, minus and underscore
	$user_ip = preg_replace('/[^0-9\.]+/','',$_GET['ip']); //can be only numbers and dots
	
	//connect to database
	
	//if using MySQL uncomment the following lines (remove slashes)
	//$p = mysql_escape_string($p); 
	//$user_ip = mysql_escape_string($user_ip);
	
	//or if using MySQLi (change $DB name to correct one)
	//$p = $DB->real_escape_string($p);
	//$user_ip = $DB->real_escape_string($user_ip);
	
	if(DEBUG == true) {	
	 error_log(date('[Y-m-d H:i] ')."[GET] Parameters [p_resp]=$p [ip]=$user_ip".PHP_EOL, 3, LOG_FILE); 
	}
	
	//Note: we send the parameters $_GET['p_resp'] and $_GET['ip'] back ONLY! if user $p has voted
	//here run your code
	//first you should check if account $p is valid and exists in your database
	//also check if the user has voted in the last 12 hours
	//give points to user $p that voted with ip $user_ip
	//close database
}
else
{
	if(DEBUG == true) {	
	 error_log(date('[Y-m-d H:i] ')."[Invalid] Invalid request: $ip_request".PHP_EOL, 3, LOG_FILE); 
	}
	//handle invalid request when callback is NOT from TopG.
	//ignore or log the $ip_request as invalid request in your database
}

Minecraft Votifier

Minecraft Votifier

Whitelist IP: monitor.topg.org in your Firewall Settings.

Para Minecraft, usamos um plugin especial chamado votifier. O fluxo do processo de votação é assim:
  1. Seu jogador digita o nome de usuário em nosso Gateway de Votação.
  2. Nós enviamos uma resposta para seu servidor se ele votou para que você possa recompensá-lo.
TOP: To auto-fill Minecraft username field change your voting link to this syntax:
https://topg.org/Minecraft/in-SITEID-username

Como habilitar o Votifier

Você pode habilitar e configurar este plugin no Painel enquanto adiciona ou edita seu servidor.

Baixe e instale o plugin

Você pode conseguir o plugin Votifier a partir do Bukkit ou do Curse: Download Votifier . O segundo passo é procurer nos fóruns bukkit por um bom ouvinte votifier compatível com sua versão do minecraft.

Arrume suas configurações votifier

PUBLIC KEY it's a long string file located: /plugins/Votifier/rsa/public.key. Copy-paste ALL of it.
VOTIFIER IP and VOTIFIER PORT settings can be found inside: /plugins/Votifier/config.yml
host: VOTIFIER IP //your external IP address, the one used to connect to play
port: VOTIFIER PORT //the default votifier port is 8192
debug: false //set to true to see connection details in console 
listener_folder: plugins/Votifier/listeners
Nós recomendamos fortemente habilitar debugging (debug: true) enquanto estiver testando novos sites.