• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

[Teamspeak] Server Status abfragen

Goldencreeper

Workaholic
Registriert
3 Januar 2012
Beiträge
662
Diamanten
300
Hallo Com,
Ich möchte für meine Community bzw für meine User eine Seite anbieten die anzeigt welcher Server Online bzw Offline ist.
Momentan Frage ich den Status wie man eig. denken kann mit folgendem PhP code ab:
PHP:
<? header('Content-Type:image/png');
$ip="IP/Domain";@$abfrage = fsockopen ($ip, PORT, $errno, $errstr, 1);
if (!$abfrage) {
readfile('Offline.png');
} else {
readfile('Online.png');
}?>
Es funktioniert bei allen Server nur nicht bei Teamspeak.
Ich habe schonmal das Problemm gehabt.
Nur leider weiss ich nicht mehr was der Fehler war bzw habe den Script nicht weiter gemacht.
Nun habe ich etwas geGooglet und herraus gefunden das man kein fsockopen für Teamspeak nutzen kann.
Es gibt ein Plugin für das WBB was ich auch nutze.
Nur möchte ich das auf der HP einbauen.
Die Status Anzeige bringt ja nicht viel wenn der Web und der TS Server down ist.
Deshalb frage ich jetz nun wie bzw mit was ich den TS Server abfragen muss damit der als Online angezeigt wird.
PS: Ich habe einige Codes ausprobiert (Aus Google Search und so) nur leider gehen die nicht mehr bzw sind für TS 2.

Grüße Goldencreeper
 
H

Hecke29

Guest
Vernünftige Freehoster haben in der Regel fsockopen() deaktiviert.
Mach ma wie folgt:
PHP:
<?php
// Zum Debuggen HTTP-Header entfernen!
$ip="IP/Domain";
@$abfrage = fsockopen ($ip, PORT, $errno, $errstr, 1);
// Das @ verhindert die Ausgabe eines Fehlers, fürs Debbuging eher schlecht
// deshalb Fehler "manuell" anzeigen. @ wegnehmen kann nicht schaden zum testen
if (!$abfrage) {
    die("Fehler: " . $errno . ": " . $errstr);
} else {
    echo "Alles subbi";
}
?>
 

Goldencreeper

Workaholic
Registriert
3 Januar 2012
Beiträge
662
Diamanten
300
Habe dein Code mal eingebaut aber es kommt ein Fehler was da kommt sieht man nicht
http://gold.pf-control.de/gc/TS-Status.php

//Edit: Ich schicke dir mal den Forum Link zur Teamspeak seite. Vlt. findest du da ja was ich habe bis jetz noch nix gefunden.
//EditEdit: Ich habe das @ vorher weg gemacht dann kamm erst der lange Fehler. Davor standt nur der Fehler 111 da
 
Zuletzt bearbeitet:
H

Hecke29

Guest
Habe dein Code mal eingebaut aber es kommt ein Fehler was da kommt sieht man nicht
http://gold.pf-control.de/gc/TS-Status.php

//Edit: Ich schicke dir mal den Forum Link zur Teamspeak seite. Vlt. findest du da ja was ich habe bis jetz noch nix gefunden.
//EditEdit: Ich habe das @ vorher weg gemacht dann kamm erst der lange Fehler. Davor standt nur der Fehler 111 da


PHP:
<?php
$ip=""; // Trag hier mal bitte zum Test die IP ein (Nicht domain)
$abfrage = fsockopen ("udp://" . $ip, PORT, $errno, $errstr, 1);
// UD-Protokoll Nutzen
if (!$abfrage) {
    echo "offline";
} else {
    echo "online";
}
?>
 
H

Hecke29

Guest
Das hattest du vorher ja schon.
machst wieder den HTTP-Header rein
PHP:
header('Content-type:image/png');
Und unten gibst du keinen Text aus, sondern das Bild - mit readfile(). Wie bei deinem Original-Code im ersten Post.
 

Goldencreeper

Workaholic
Registriert
3 Januar 2012
Beiträge
662
Diamanten
300
#Push.
Sry für den Push aber ich wollte keinen neuen Thread auf machen da es sich immer noch um ca. die gleiche Frage handelt.
Bei dem Code den Hecke mir gegeben hat ist etwas komisch.
Ich kann die Datei nicht mehr einbinden.
Ich binde sie immer so ein:
HTML:
<img src="Script.php" />
Das Funktionier wie bei meinem 1. Post.
Also der Code aus dem 1. Php Code lässt sich einbinden aber der Teamspeak Code lässt sich nicht einbinden.
Hier ein kleines Bild:
Unbenannt.PNG
Hoffe ihr könnt mir Helfen.
PS: Wenn ich das Bild nicht angebe also den Code von Hecke unbearbeitet lasse (Ausser IP & Port) dann steht da Online bzw Offline was auch stimmt aber das Bild stimmt nicht.
PPS: Bei der Alten Seite gings noch die ich davor hatte aber jetz nicht mehr.
Hoffe mir kann jemand Helfen.

Grüße Goldencreeper ;)
 
Zuletzt bearbeitet:

Goldencreeper

Workaholic
Registriert
3 Januar 2012
Beiträge
662
Diamanten
300
Ok vorab das ist dein Script nur halt mit dem header code damit das bild angezeigt wird
Code:
PHP:
<? header('Content-type:image/png');$ip="IP";$abfrage = fsockopen ("udp://" . $ip, PORT, $errno, $errstr, 1);if (!$abfrage) {    echo "Offline.png";} else {    echo "Online.png";}?>
 

Benni1000

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
4 Mai 2012
Beiträge
1.396
Diamanten
0
Das Script das du gepostet hast gibt auch kein Bild zurück, es gibt die url für ein Bild zurück bzw den Pfad.
Wenn du dann mithilfe der header den pfad zu einem bild konvertierst ist es klar das da nur müll rauskommen kann.
 
Oben