kostenloser Webspace werbefrei: lima-city


Teamspeak 3 Server status check

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    voloya

    voloya hat kostenlosen Webspace.

    Hallo :wave:

    Ich hab mir ein Serverstatusscript im Internet gesucht, welches mit fsockopen prüft ob der Server online ist:

    <?php

    $status = GetServerStatus('xx.xx.xx.xx',10011);


    function GetServerStatus($site, $port)
    {
    $status = array("OFFLINE", "ONLINE");
    $fp = @fsockopen($site, $port, $errno, $errstr, 2);
    if (!$fp) {
    return $status[0];
    } else
    { return $status[1];}
    }

    echo $status;
    ?>

    Das Script funktioniert auch einwandfrei, aber leider nur mit Port 80. Sobald ich Port 9987 meines TS-Servers eingebe steht immer da OFFLINE. Ich habe auch den Port 10011 ausprobiert (vom MySQL query ist der ja glaub ich..(?) ).

    Was mach ich falsch? :(


    mfg :wave:
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Dem angegebenen Schema nach, vermute ich, daß Du der Function eine IP übergibst. Versuch es mal mit dem Domainnamen. Dann sollte es eigentlich funktionieren.

    FF

    Beitrag zuletzt geändert: 23.5.2011 1:19:17 von fatfreddy
  4. e******n

    noch eine kleine anmerkung

    Du kannst immer nur ein Programm über ein Port laufen lassen, sprich hast du nun den TS Server auf Port 9987 laufen und versuchst auf dem Selben Port ein weiteres Programm laufen zu lassen, so gibt er ein FALSE zurück, was du sicherlich weißt

    nun hast du aber das Array
    $status = array("OFFLINE", "ONLINE");
    und gibst im nachhinein
    if (!$fp) {
    return $status[0];
    } else { 
    return $status[1];}
    }


    aus. Dabei ist $fp FALSE und wenn $fp == FALSE ist gibst du $status[0] zurück, was den Wert OFFLINE hat, dadurch steht bei dir immer OFFLINE, wenn du versuchst den Status abzufragen.

    Beitrag zuletzt geändert: 23.5.2011 6:44:27 von excision
  5. Autor dieses Themas

    voloya

    voloya hat kostenlosen Webspace.

    Hallo :wave:

    excision schrieb:
    noch eine kleine anmerkung

    Du kannst immer nur ein Programm über ein Port laufen lassen, sprich hast du nun den TS Server auf Port 9987 laufen und versuchst auf dem Selben Port ein weiteres Programm laufen zu lassen, so gibt er ein FALSE zurück, was du sicherlich weißt

    nun hast du aber das Array
    $status = array("OFFLINE", "ONLINE");
    und gibst im nachhinein
    if (!$fp) {
    return $status[0];
    } else { 
    return $status[1];}
    }


    aus. Dabei ist $fp FALSE und wenn $fp == FALSE ist gibst du $status[0] zurück, was den Wert OFFLINE hat, dadurch steht bei dir immer OFFLINE, wenn du versuchst den Status abzufragen.


    Dann würde aber Port 80 auch nicht funktionieren oder?
    Ich habe das Gefühl, dass da irgendwie die Ports geblockt sind.

    Ich habe das Script mal auf dem Server selbst ausgeführt [anstatt auf einem anderen Webserver] und Port 10011 eingetragen. Damit hat es funktioniert, aber auch nicht mit Port 9987.
    [Port 10011 ist der sql query port damit sieht man ob der Teamspeak server selbst up ist, aber nicht einzelne virtuelle Server, die erstellt wurden]
    Mir würde Port 10011 ja auch schon reichen, aber es geht eben nur über localhost? -_- Ich habe extra die IP-Adresse des Webservers in die sql query whitelist eingetragen und natürlich auch den Server neugestartet. D.h. es müsste doch gehen.. :|

    mfg :wave:

    //EDIT: @fatfreddy ich habs auch mit domain versucht.

    Beitrag zuletzt geändert: 23.5.2011 14:49:39 von voloya
  6. e******n

    Ich weiß nicht ob Port 80 dann auch nicht funtionieren würde, aber versuch doch mal Port 9987 frei zu machen und versuche dann den status zu checken, wenn er dann ONLINE ist, musst du die ausgaben einfach tauschen, denn dann kann PHP auf Port 9987 keine Verbindung herstellen oder eine unzulässige wodurch OFFLINE angezeigt wird.
  7. Autor dieses Themas

    voloya

    voloya hat kostenlosen Webspace.

    Hallo :wave:

    excision schrieb:
    Ich weiß nicht ob Port 80 dann auch nicht funtionieren würde, aber versuch doch mal Port 9987 frei zu machen und versuche dann den status zu checken, wenn er dann ONLINE ist, musst du die ausgaben einfach tauschen, denn dann kann PHP auf Port 9987 keine Verbindung herstellen oder eine unzulässige wodurch OFFLINE angezeigt wird.


    Also:
    Port 80:
    Erreichbar von beliebigem Webserver und localhost

    Port 10011:
    Erreichbar von localhost

    Port 9987:
    Gar nicht erreichbar

    -> ich würde gerne Port 10011 auch von anderen Webservern erreichen können. Deswegen habe ich eine Ausnahme für die IP-Adresse des anderen Webservers in der sql query whitelist.txt (oder so ähnlich) angelegt. Diese Ausnahme funktioniert aber anscheinend nicht.

    Freimachen kann ich keine Ports. Der Server läuft ohne Firewall aber es sind nur die Ports offen die von Programmen benutzt werden. Ist auch kein Problem, da mir Port 10011 ja reicht um festzustellen ob wenigstens der Server als ganzes online ist, aber der Zugriff auf Port 10011 wird für andere IP-Adressen außer localhost geblockt obwohl ich eine Ausnahme hinzugefügt habe. -> Eventuell habe ich was falsch gemacht -> was?

    mfg :wave:

    P.S.: Wir reden hier von einem Linux vServer
  8. hallo zusammen

    Ich arbeite derzeit an einem Webinterface ähnlich wie das von phsychokiller und ich bin ebenfalls schon lange auf dieses Problem gestoßen..

    Das Pingen von 9987 ist anscheint nicht möglich bzw. ich habe es bis jetzt noch nicht hin bekommen.

    ABER @ voloya 10011 kannst du auch extern anpingen!
    Du hast eine "query_ip_whitelist.txt" dort musst du nur einfach die IP des externen servers eintragen.

    gruß
  9. scholz-on schrieb:
    Das Pingen von 9987 ist anscheint nicht möglich bzw. ich habe es bis jetzt noch nicht hin bekommen.

    1.
    Ping = ICMP
    Port = TCP / UDP
    => Du kannst keine Ports anpingen.

    2. Das es schlicht nicht möglicht sein soll ist Schwachsinn. Entweder ist der Port gar nicht offen oder er wird auf Client- oder Serverseite gefiltert.

    PS: In dem Fall ist die Clientseite der Webserver und die Serverseite der TS-Server.

    Beitrag zuletzt geändert: 24.5.2011 11:28:14 von cookies
  10. mit ping meinte ich eine einfache überprüfung >.<
  11. Autor dieses Themas

    voloya

    voloya hat kostenlosen Webspace.

    Hallo :wave:

    scholz-on schrieb:
    ABER @ voloya 10011 kannst du auch extern anpingen!
    Du hast eine "query_ip_whitelist.txt" dort musst du nur einfach die IP des externen servers eintragen.


    Hab ich :(

    http://maxproxy.tk/ul/851306230749.png


    Dann hab ich den server neugestartet aber es funktioniert einfach nicht >:(
    Hab gerade extra nochmal den Server neugestartet aber es will einfach nicht T_T Ich kann außerdem auch von meinem Heim-PC mit einem Admin-Programm zu Port 10011 verbinden, also warum damit nicht??

    Das Webinterface von dem Psycho funktioniert bei mir übrigens nicht, hab alles auf chmod 777 gesetzt aber ich bekomm laufend errors, dass eine Datei nicht gefunden wurde. Aber das ist wieder eine andere Geschichte.. :-)

    mfg :wave:
  12. hmm das ist seltsam ich hab bei mir nur die IP eingetragen und schon funktionierte es.
    Das Webinterface von Phsychokiller ebenfalls ohne Probls..

    Weld dich mal bei mir am besten per ICQ: 240871445
    Ich könnte nämlich einen "Beta Tester" für mein Webinterface gebrauchen.

    Aber mit dein eigentlichen Problem weiß ich auch grad so nicht weiter hatte so ein Problem bisher noch nicht.
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!