Web [Teamspeak] Server Status abfragen

Dieses Thema im Forum "Programmierung" wurde erstellt von Goldencreeper, 25. Juli 2013.

  1. Goldencreeper
    Offline

    Goldencreeper

    Registriert seit:
    3. Januar 2012
    Beiträge:
    680
    Ort:
    Niedersachsen
    Minecraft:
    mincraftermanuel
    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:
    1. <? header('Content-Type:image/png');
    2. $ip="IP/Domain";@$abfrage = fsockopen ($ip, PORT, $errno, $errstr, 1);
    3. if (!$abfrage) {
    4. readfile('Offline.png');
    5. } else {
    6. readfile('Online.png');
    7. }?>
    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
     
    #1
  2. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    686
    Teamspeak verwendet als Protokoll Udp statt TCP. Versuchmal den UDP Port 9957 zu pingen.
     
    #2
  3. Goldencreeper
    Offline

    Goldencreeper

    Registriert seit:
    3. Januar 2012
    Beiträge:
    680
    Ort:
    Niedersachsen
    Minecraft:
    mincraftermanuel
    Ok habe es mal geändert.
    Nur leider wird der immer noch als Offline angegeben.
    Link :
    http://gold.pf-control.de/gc/TS-Status.php
    Das komische ist ja das im Forum das Plugin den Server auf auf 9987 anpingt.
    Link zur Seite gibts via PN da sonst Werbung ;)

    Grüße Goldencreeper
     
    #3
  4. TimBone
    Online

    TimBone

    Kann auch am Hoster liegen :)
     
    #4
  5. Goldencreeper
    Offline

    Goldencreeper

    Registriert seit:
    3. Januar 2012
    Beiträge:
    680
    Ort:
    Niedersachsen
    Minecraft:
    mincraftermanuel
    Also ich habe es 1. mal auf meinem WebSpace getestet (bei webspace-verkaufen.de) und 1x auf dem Freehoster (php-friends.de)
    Bei beiden geht das nicht.
     
    #5
  6. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    686
    Mein Fehler, versuch mal den Port 9987 zu Pingen.
     
    #6
  7. Goldencreeper
    Offline

    Goldencreeper

    Registriert seit:
    3. Januar 2012
    Beiträge:
    680
    Ort:
    Niedersachsen
    Minecraft:
    mincraftermanuel
    Den Port Pinge ich ja die ganze Zeit an ^^
    Also die Ip sendet ganz normale alles zurück wenn ich mit CMD die IP anpinge.
     
    #7
  8. Hecke29
    Online

    Hecke29

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

    Goldencreeper

    Registriert seit:
    3. Januar 2012
    Beiträge:
    680
    Ort:
    Niedersachsen
    Minecraft:
    mincraftermanuel
    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
     
    #9
  10. Hecke29
    Online

    Hecke29


    PHP:
    1.  
    2. <?php
    3. $ip=""; // Trag hier mal bitte zum Test die IP ein (Nicht domain)
    4. $abfrage = fsockopen ("udp://" . $ip, PORT, $errno, $errstr, 1);
    5. // UD-Protokoll Nutzen
    6. if (!$abfrage) {
    7.     echo "offline";
    8. } else {
    9.     echo "online";
    10. }
    11. ?>
    12.  
     
    #10
  11. Goldencreeper
    Offline

    Goldencreeper

    Registriert seit:
    3. Januar 2012
    Beiträge:
    680
    Ort:
    Niedersachsen
    Minecraft:
    mincraftermanuel
    Ah es geht Danke ;)

    //Edit: Noch ne frage wie kann man jetz Bilder einbauen?
     
    #11
  12. Hecke29
    Online

    Hecke29

    Das hattest du vorher ja schon.
    machst wieder den HTTP-Header rein
    PHP:
    1. 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.
     
    #12
  13. Goldencreeper
    Offline

    Goldencreeper

    Registriert seit:
    3. Januar 2012
    Beiträge:
    680
    Ort:
    Niedersachsen
    Minecraft:
    mincraftermanuel
    Achso dachte ich muss das jetz alles so lassen ok Danke ;)
     
    #13
  14. Goldencreeper
    Offline

    Goldencreeper

    Registriert seit:
    3. Januar 2012
    Beiträge:
    680
    Ort:
    Niedersachsen
    Minecraft:
    mincraftermanuel
    #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:
    1. <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 ;)
     
    #14
  15. Hecke29
    Online

    Hecke29

    Schreib mal bitte den vollständigen und aktuellen Code der Script.php hier rein, bei dem das Bild nicht korrekt dargestellt wird ( IPs natürlich zensieren ;-) )
     
    #15
  16. Goldencreeper
    Offline

    Goldencreeper

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

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    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.
     
    #17
  18. Goldencreeper
    Offline

    Goldencreeper

    Registriert seit:
    3. Januar 2012
    Beiträge:
    680
    Ort:
    Niedersachsen
    Minecraft:
    mincraftermanuel
    Und wie könnte ich das Bild darstellen lassen?
    Achja was ich aber Komisch finde ich konnte bzw das Script hat vorher das Bild angezeigt seit dem ich ein neues Design habe gehts nicht mehr.
    Kann auch sein das es an Cache lag.
     
    #18
  19. Hecke29
    Online

    Hecke29

    Statt echo mit readfile wie ganz zu anfang auch...
     
    #19
  20. Goldencreeper
    Offline

    Goldencreeper

    Registriert seit:
    3. Januar 2012
    Beiträge:
    680
    Ort:
    Niedersachsen
    Minecraft:
    mincraftermanuel
    Jup habs hinbekommen ;)
    War etwas verpennt als ich den Code gesehen habe ^^

    Grüße Goldencreeper
     
    #20