TeamSpeak Status

Wenn ich mich nicht irre kann man mit der CyTS - Class doch nur in der DB des Servers nachschauen, ob er gestartet werden darf, nicht ob er läuft.
 
Hallo,
Wenn ich mich nicht irre kann man mit der CyTS - Class doch nur in der DB des Servers nachschauen, ob er gestartet werden darf, nicht ob er läuft.
nein, man kann sogar noch viel mehr realisieren. ;)
Ob ein bestimmter Server läuft, kann man z.B. so ermitteln:
PHP:
<?php
    require('cyts.class.php');
    $ts = new cyts();
    if ($ts->connect('xxx.xxx.xxx.xxx', 51234, 8767)){
        echo 'Server 8767 ist online.';
    } else {
        echo 'Server 8767 ist offline.';
    }
?>

mfg
forsterm
 
Ja aber immer noch net das was ich will.


Bei deisem Script kann man den Server Status mit einem Link abfragen:
PHP:
<?php
$live = "/status/on.gif";
$dead = "/status/off.gif";

$link = $_GET['link'].":";
$s_link = str_replace("::", ":", $link);
list($addr,$port)= explode (':',"$s_link");
if (empty($port)){
    $port = 80;
}

$churl = @fsockopen(server($addr), $port, $errno, $errstr, 20);
             if (!$churl){
             //echo $errstr;
                header("Location: $dead");
                }
             else {
                   header("Location: $live");
          }
function server($addr){
         if(strstr($addr,"/")){$addr = substr($addr, 0, strpos($addr, "/"));}
         return $addr;
}
?>
Nur das problem ist das ich damit nicht den Status einzelner Sub-Server abfragen kann aber mit diesem Script kann ich den Main-Server status abfragen.

also ich will das so haben das man mit so einem Link den server status ermitteln kann:
http://web1.39135.vs.webtropia.com/status/status.php?link=62.141.39.135:10004

ach ja und dieser Link funktioniert und fragt den Status eines StreamServer ab
 
Hallo,
also ich will das so haben das man mit so einem Link den server status ermitteln kann:
http://web1.39135.vs.webtropia.com/status/status.php?link=62.141.39.135:10004
also, wenn das ganze mit beliebigen Serverver funktionieren soll, dann musst du auch noch den TCP Port mit übergeben, wenn du allerdings nur deinen Usern die Möglichkeit geben willst, dass sie den Status ihres TS Server anzeigen können, sprich alle haben die gleiche IP und den gleichen TCP Port, dann könnte das ganze so ausschauen:
PHP:
<?php
    header('Content-Type: image/gif');
    require('cyts.class.php');
    if (isset($_GET['link'])){
        list($ip, $port) = explode(':', $_GET['link']);
    }
    $ts = new cyts();
    if ($ts->connect($ip, 51234, $port)){
        readfile('on.gif');
    } else {
        readfile('off.gif');
    }
?>

mfg
forsterm
 
Eine kleine frage hätte ich noch wie mache ich das das man dieses script so abrufen kann:
Code:
http://www.server.de/status/ts-status.php?ip=Server.ip&port=Port&tcp=TCP
 
Hallo,
so vielleicht:
PHP:
<?php
    header('Content-Type: image/gif');
    require('cyts.class.php');
    $ts = new cyts();
    if ($ts->connect($_GET['ip'], $_GET['tcp'], $_GET['port'])){
        readfile('on.gif');
    } else {
        readfile('off.gif');
    }
?>
mfg
forsterm
 
Zurück