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:
De 2e stuk van het script is een server die niet bestaat zodat ik kan zien of het werkt...
Hier de serverStatus.php:
Ik hoop dat iemand mij hier mee kan helpen!
Mvg, Zandor Smith
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: