Jump to content

MTA-Sa server status


Recommended Posts

Geplaatst:

Ik zag hier

een soort php script dat je de server status + spelers in je server kan zien. Maar helaas is die link down.

Heeft iemand misschien dat script, of een script dat erop lijkt.

Alvast bedankt.

Ps. Ik wist niet waar ik dit moest plaatsen dus zet ik het maar hier neer.

Geplaatst:
Ik zag hier

een soort php script dat je de server status + spelers in je server kan zien. Maar helaas is die link down.

Heeft iemand misschien dat script, of een script dat erop lijkt.

Alvast bedankt.

Ps. Ik wist niet waar ik dit moest plaatsen dus zet ik het maar hier neer.

Ja dat heb ik :engel:

mtaserver.php

<?php
function getmapname($mapname)
{
switch ($mapname)
{
	case "Vice City : Deathmatch":
	  $map = "Vice City : Deathmatch";
	  break;
	case "Vice City Stunt":
	  $map = "Vice City : Stunt";
	  break;
	case "Vice City : Stunt":
  $map = "Vice City : Stunt";
  break;
	case "Portland":
  $map = "GTA3 : Portland";
  break;
case "Liberty City : Portland":
  $map = "GTA3 : Portland";
  break;
case "Liberty City : Shore Side Vale":
  $map = "GTA3 : Shore Side Vale";
  break;
case "Liberty City : Staunton Island":
  $map = "GTA3 : Staunton Island";
  break;
case "Race Mod":
  $map = "MTASA : Race Mod";
  break;
default:
  $map = "Onbekend";
}

$ret .= $map;
}

function mtaserver($ip,$port,$mode,$messoff)
{
if(empty($ip) or empty($port))
{
	$ret .= "Geen IP of poort opgegeven!";
}
else
{
	$ip   = $ip;
$port = $port;
$fp   = fsockopen("udp://$ip", $port+123, $errno, $errstr);

	if($fp)
	{
	stream_set_timeout($fp,1,0);
	fwrite($fp,"s");
	$data  = fread($fp,16384);
	$data2 = fread($fp,16384);
	fclose($fp);
}

	if(empty($data))
	{
		$ret .= $messoff;
	}
	else
	{
		$data=substr($data,4);
		$i = 0;

		while(!empty($data))
		{
			if(substr($data,0,2)==chr(1)."?")
			{
				$data=substr($data,2);
			}

			$l		= ord(substr($data,0,1));
	$blks[$i] = substr($data,1,$l-1);
	$data	 = substr($data,$l);
	$i++;
		}

		$pourcents = ($blks[7] * 100) / $blks[8];
		$pourcents = (int) $pourcents / 1;

		if($blks[3] == "MTA:SA")
		{
		$protocol = "mtasa://";
		}
		else
		{
	$protocol = "mta://";
		}

		$map = getmapname($blks[4]);

		if($mode == "Protocol")
		{
	if($blks[3] == "MTA:SA")
			{
		$text = "mtasa://";
			}
			else
			{
		$text = "mta://";
			}
	   }
	   elseif($mode == "ServerName")
	   {
	$ret .= $blks[2];
	   }
	   elseif($mode == "ServerGame")
	   {
		   $ret .= $blks[3];
	   }
	   elseif($mode == "ServerVersion")
	   {
	   $ret .= $blks[5];
	   }
	   elseif($mode == "ServerMap")
	   {
	$ret .= $map;
		} elseif ($mode == "Connected") {
	$ret .= $blks[7];
		} elseif ($mode == "Slots") {
	$ret .= $blks[8];
		} elseif ($mode == "Pourcents") {
	$ret .= "" . $pourcents . "%";
		} elseif ($mode == "Players") {
		$j = 1; //
switch ($blks[3]) {
	case "MTA:SA":
	$i = "11"; 
	break;
	default:
	$i = "13"; } 
while($j <= $blks[7]){
	if($blks[$i+4] < 0){
		$ping = '0';
	}else{
		$ping = $blks[$i+4];
	}
	$ret .= "<tr><td><center>" . $j . "</td></center><td>" . $blks[$i] . "</td><td><center>" . $blks[$i+3] . "</td></center><td><center>" . $ping . "</td></center></tr>";
	$i = $i+5;
	$j++; //
	}
 		 } else {
///// Default Config
		$ret .= "<div style='text-align:center'>$blks[2]</div><br><br><table width='98%' align='center'><tr><td><b>Adres:  </b><a href='" . $protocol . "" . $ip . ":" . $port . "'>" . $ip . ":" . $port . "</a><br><b>Versie:  </b> $blks[3] ($blks[5])<br><b>Map:  </b> $map<br><b>Spelers:  </b> $blks[7]<br><b>Slots:  </b> $blks[8]<br><b>Vol %:  </b> $pourcents%<br></td><td><table cellspacing='1' cellpadding='3'><tr><td><center><b>ID</b></center></td><td><center><b>Nick</b></center></td>
<td><center><b>Score</b></center></td><td><center><b>Ping</b></center></td></tr>
<br>";	

$j = 1;
switch ($blks[3]) {
	case "MTA:SA":
	$i = "11"; 
	break;
	default:
	$i = "13"; } 
while($j <= $blks[7]){
	if($blks[$i+4] < 0){
		$ping = '0';
	}else{
		$ping = $blks[$i+4];
	}
	$ret .= "<tr><td><center>" . $j . "</td></center><td>" . $blks[$i] . "</td><td><center>" . $blks[$i+3] . "</td></center><td><center>" . $ping . "</td></center></tr>";
	$i = $i+5;
	$j++;
}
$ret .= "</table></td></tr></table>";
/////
  }
}
 }
 return $ret;
}
?>

pagina.php

<?php
include("mtaserver.php");

$mode = "All"; // Protocol, ServerName, ServerGame, ServerVersion, ServerMap, Connected, Places, Pourcent, Players or All
echo mtaserver($server,$port, $mode, $offline);
?>

Geplaatst:
Waar moet ik mijn servernaaam + poort invullen?

Je kan ze in de variabelen $server en $port steken dus oftewel zet je in de laad pagina helemaal vanboven:

$server = "ip";

$port = "22003";

Of je verander $server door: "ip" en $port door: "22003"

(inclusief de quotes (= ").

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...