Was ist Voting Check?

Es ist ein Verfahren um zu sehen, ob Spieler für Deine Seite oder Server voten oder nicht, indem der Captcha-Sicherheitscode am Voting Gateway abgefragt wird.

Postback PHP

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

Um Deine Postback URL einzustellen, gehe zum Bedienfeld, klicke auf Deine Seite oder Server und gehe auf Konfigurationsoptionen bearbeiten.

1. Postback URL einsetzen (on TopG):

https://YOURDOMAIN/postback.php
Um diesen Link einzusetzen, gehe auf ‚Einstellungsoptionen bearbeiten‘ auf Deiner Serverseite.
Der Name der Postback.php-Datei ist nur ein Beispiel und nicht bindend, Du kannst sie nennen wie Du möchtest.


2. Update Deinen Voting-Link und füge am Ende Parameter hinzu:

https://topg.org/CATEGORY/in-SITEID-PARAMETER
Dein TopG Voting Link sollte ein Extra – und PARAMETER am Ende haben. Kopiere den Link vom Voting-Code und füge –USERNAME oder -123456 hinzu, oder was immer Du nachverfolgen willst (PARAMETER können nur Zahlen, Buchstaben und _ sein). Wenn Du z.B. testen willst, ob der Username ‘Razor’ voted oder nicht, erstellst Du den Link https://topg.org/Kategorie/in-SITEID-Razor.

3. Unsere Antwort:

TopG ruft Deine Seite nach dem Voting an, der Rückruf sieht aus wie dieser Link:
https://YOURDOMAIN/postback.php?p_resp=PARAMETER&ip=USERIP
Wir haben Dir dieselben PARAMETER zurückgesendet, der Anruf findet NUR DANN statt, wenn der Nutzer für Dich gevotet hat. Dein Postback.php sollte an diesem Punkt die Nutzer PARAMETER als GÜLTIG UPDATEN. Falls er nicht gevotet hat, senden wir keine Antwort.


Beispiel:

Wie Dein Voting-Link für die Nutzer ID (1.) oder Nutzername (2.) aussehen sollte:
https://topg.org/CATEGORY/in-SITEID-1234
https://topg.org/CATEGORY/in-SITEID-Razor

Unsere Antwort, je nach Fall eins oder Fall zwei lautet:
https://YOURDOMAIN/postback.php?p_resp=1234&ip=123.123.123.123
https://YOURDOMAIN/postback.php?p_resp=Razor&ip=123.123.123.123
Zusammenfassung: Der Spieler mit der Account ID 1234 oder dem Nutzernamen Razor hat für Dich gevotet, wenn wir Deinen Postback-Link mit Parameter angerufen haben.
123.123.123.123 is the IP address used by the player to vote on Topg.
Bitte lies unser PHP Beispiel, zur Erläuterung, wie Du unsere Antwort einsammeln kannst. Wir senden Dir den http Anfrage Rückruf NUR DANN, wenn der Nutzer für Dich gevotet hat. Wenn Du Hilfe dabei brauchst, diese Funktion einzurichten, kontaktiere uns.

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.

Für Minecraft verwenden wir das Votifier Plugin. Der Votingprozess läuft folgendermaßen ab:
  1. Dein Spieler gibt seinen Nutzernamen auf unserem Voting Zugang ein.
  2. Wir senden ein Nachricht an Deinen Server, wenn er gevotet hat, damit Du ihn belohnen kannst.
TOP: To auto-fill Minecraft username field change your voting link to this syntax:
https://topg.org/Minecraft/in-SITEID-username

Wie man Votifier aktiviert

Du kannst dieses Plugin auf dem Bedienfeld aktivieren und einstellen, während Du Deinen Server hinzufügst oder editierst.

Plugin herunterladen und installieren

Das Votifier Plugin bekommst Du bei Bukkit oder bei Curse: Download Votifier . Der zweite Schritt ist, Bukkit Foren nach einem gut funktionierenden Votifier Listener zu durchsuchen, der mit Deiner Minecraftversion kompatibel ist.

Hol Dir Deine Votifier Settings

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
Wir empfehlen, Debugging zu aktivieren (debug: true) wenn Du neue Topseiten testest.