Status checking script voor mijn game server

Status
Niet open voor verdere reacties.

Zandor300

Gebruiker
Lid geworden
2 jul 2011
Berichten
164
Hallo gebruikers van helpmij.nl,

ik wil voor mijn site (http://servers.zsinfo.nl) een script hebben die ervoor zorgt dat er op die site de status wordt weergeven van een game server zoals Starbound, StarMade, Terraria, Minecraft, CS:S, CS:GO. Ik ben al een heel eind gekomen maar het lukt niet om het werkend te krijgen want hij laat Offline zien ookal is de server wel online en het ip en port goed en de port is ook goed geportforward in mijn router.

Hier is mijn code:

PHP:
<?php
// Starbound
		$starbound1ip = 'play.zsinfo.nl';
		$starbound1port = '21025';
		
		$starbound2ip = 'play.zsinfo.nl';
		$starbound2port = '21026';

// Checking scripts
	$starbound1connect = new Connect();
	$starbound1connect -> serverStatus($starbound1ip,$starbound1port);
	if($starbound1connect -> gameserver_status == 1){
		$starbound1status = $online;
	} else {
		$starbound1status = $offline;
	}
	echo $starbound1connect -> serverdata;
	
	
	
	$starbound2connect = new Connect();
	$starbound2connect -> serverStatus($starbound2ip,$starbound2port);
	if($starbound2connect -> gameserver_status == 1){
		$starbound2status = $online;
	} else {
		$starbound2status = $offline;
	}
	echo $starbound2connect -> serverdata;
	
	
	
	
	
	
	if($starbound1status == $online && $starbound2status == $online){
		$starboundallstatus = $allonline;
	} else {
		$starboundallstatus = $alloffline;
	}
?>

De 2e stuk van het script is een server die niet bestaat zodat ik kan zien of het werkt...

Hier de serverStatus.php:

PHP:
<?php
class Connect {
    var $serveraddress;
    var $portnumber;
    var $gameserver_status;
    function serverStatus($serveraddress, $portnumber){
        ini_set(allow_url_fopen,1);
        $command = "\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00";
        $waittime = 1.5;
        $serverdata = "";
        if (!$cssocket=fsockopen("udp://".$serveraddress,$portnumber,$errnr)){
        $errmsg="No connection";
        }else{
        socket_set_blocking($cssocket,true);
        socket_set_timeout($cssocket,0,500000);
        fwrite($cssocket,$command,strlen($command));
        $starttime=time();
        do{
        $serverdata.=fgetc($cssocket);
        $serverdatalen++;
        $socketstatus=socket_get_status($cssocket);
        if (time() > ($starttime+$waittime)){
        $errmsg="Connection timed out";
        fclose($cssocket);
        }
        }
        while ($socketstatus["unread_bytes"] );
        fclose($cssocket);
        }
        if (strlen($serverdata) < 5){
        $this->gameserver_status = "0";
        }else{
        $this->gameserver_status = "1";
        }
    }
}
?>

Ik hoop dat iemand mij hier mee kan helpen!

Mvg, Zandor Smith
 
Laatst bewerkt:
Mind is blown:

Als ik het de site met xampp op mijn computer run dan zegt hij wel online als ik hem via 127.0.0.1 ping. Terwijl hij wel goed is geportfoward:
leaderboard-1.png


Hoe kan ik ervoor zorgen dat hij het toch doet op mijn webhost?!
 
laat maar! beetje jammer dat niemand reageert maar ik heb mijn webhost al gecontact en die hebben gezegt dat een custom port standaard is geblockeerd wegens veiligheid... Dan maar hosten op me eigen pc en een a recordje maken...
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan