Serverstatus - Online oda Offline

Bash, Shell, PHP, Python, Perl, CGI
007killer
Posts: 11
Joined: 2004-02-13 04:52

Serverstatus - Online oda Offline

Post by 007killer »

Hi,

also ich habe schon sau viele PHP Script probiert, aber kein einziges Script ging oder war nicht soetwas was ich gesucht habe ! Ich suche einfach nur ein stinknormales Serverstatus Script das IP + Port abfragt und mir sagt ob er "ONLINE" oder "OFFLINE" ist ?!?! Suche habe ich schon versucht, aber nüscht gefunden.

MfG
007killer
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: Serverstatus - Online oda Offline

Post by dodolin »

Ich suche einfach nur ein stinknormales Serverstatus Script das IP + Port abfragt und mir sagt ob er "ONLINE" oder "OFFLINE" ist ?!?!
Wie wäre es mit der Methode "selberschreiben"? Ist das aus der Mode?!
Als Startpunkt zur Eigeninitiative schlage ich http://de3.php.net/manual/en/function.fsockopen.php vor. HTH.
valior
Posts: 5
Joined: 2003-12-21 22:52
Location: Oldenburg

Re: Serverstatus - Online oda Offline

Post by valior »

http://www.gfx-world.net/forum/thread.p ... =2070&sid=

Das dürfte dir weiter helfen , hoff ich mal ;)
gilligan
Posts: 38
Joined: 2003-04-13 13:07

Re: Serverstatus - Online oda Offline

Post by gilligan »

Zum Beispiel in PHP:

Code: Select all

$sockConnection = fsockopen($ip, $port);
$statusArray = socket_get_status($sockConnection);

$statusArray besteht dann aus 4 Werten:
timed_out (bool) - Der Timeout-Wert des Sockets für das Warten auf Daten
blocked (bool) - Der Socket wurde blockiert
eof (bool) - Das EOF (End Of File) ist erreicht
unread_bytes (int) - Anzahl der Bytes, die noch im Socket-Puffer sind

Meintest du sowas?
floker
Posts: 82
Joined: 2004-01-04 15:14

Re: Serverstatus - Online oda Offline

Post by floker »

Gilligan wrote:Zum Beispiel in PHP:

Code: Select all

$sockConnection = fsockopen($ip, $port);
$statusArray = socket_get_status($sockConnection);

$statusArray besteht dann aus 4 Werten:
timed_out (bool) - Der Timeout-Wert des Sockets für das Warten auf Daten
blocked (bool) - Der Socket wurde blockiert
eof (bool) - Das EOF (End Of File) ist erreicht
unread_bytes (int) - Anzahl der Bytes, die noch im Socket-Puffer sind

Meintest du sowas?
Hi!
Vor dem Problem stand ich auch, hat mich ne Stunde Google gekostet..., da das ganze z.B. für nen Halflife-Server recht komplex ist:

so funktioniert es bei mir:

Code: Select all

<?php
$host = "IP-HIER-EINFUEGE";
$port = "PORT HIER EINFUEGEN";
$connect = fsockopen("udp://$host", $port, $errno, $errstr, 2);
socket_set_timeout($connect, 2);
fwrite($connect,"xFFxFFxFFxFFpingx00");
fread($connect,4);
$ping = fread($connect,1);
fclose($connect);
if($ping == "j") {
print ("HLDS IST ON<br>");
} ELSE {
print ("HLDS IST OFF<br>");
}
?>
das war nen Beispiel für UDP.
Für TCP:

Code: Select all

<?php
$host = "IP";
$port = "PORT";
$connect = fsockopen("$host", $port,$errno,$errstr,2);
if (!$connect){
print ("off<br>");
}
else{
print ("on<br>");
}
?>
007killer
Posts: 11
Joined: 2004-02-13 04:52

Re: Serverstatus - Online oda Offline

Post by 007killer »

Ich habe mal das 2. Script von den Forum genommen: http://www.gfx-world.net/forum/thread.p ... =2070&sid= und das sieht so aus.

status.php

Code: Select all

<?php
include("servercheck.php");
echo "IP:Port";
serverstatus("IP","Port");
?>
IP und Port habe ich rausgenommen. Ich hab ein grund dafür ^^

servercheck.php

Code: Select all

<?php
function serverstatus($ip,$port) {
        $status=@fsockopen($ip,$port,&$errno , &$errstr,0.1);
        if($status) {
        $stat = "On";
                ;}
    else {
        $stat = "Off";
    };
    if($stat == "On") { echo "<font size="-4" color="#00FF00">On</font>"; };
    if($stat == "Off") { echo "<font size="-4" color="red">Off</font>"; };
    };
    

?>
Aber immer wenn ich auf status.php gehe zeigt er mir die IP an und "Off" obwohl der Gamesserver online ist ?!?!?!??!

EDIT: @floker thx also mit CS funktioniert es wunderbar !
floker
Posts: 82
Joined: 2004-01-04 15:14

Re: Serverstatus - Online oda Offline

Post by floker »


Aber immer wenn ich auf status.php gehe zeigt er mir die IP an und "Off" obwohl der Gamesserver online ist ?!?!?!??!

EDIT: @floker thx also mit CS funktioniert es wunderbar !
Problem bei einem CS-Server ist, dass das ganze ja via UDP läuft und der Port ja immer offen/da ist.
Daher musst du erst was an den Server senden (in dem fall nen HLDS-Ping) und die Antwort auswerten. Hat mich auch einige Zeit gekostet das rauszufinden..
TCP ist simpel, da brauchste sowas nicht. Einfach Verbindung zum port checken, isser da -> ON isser nicht da -> OFF
007killer
Posts: 11
Joined: 2004-02-13 04:52

Re: Serverstatus - Online oda Offline

Post by 007killer »

Also ich möchte mehrere verschiedene gamesserver anpingen. Das mit den CS Server anpingen läuft einwandfrei mit dein Script, aber dann wäre noch der RvS, CoD und ET Server..... ^^ Das CoD und ET Game verwenden ja die gleiche Engine also kann ich ja das gleiche dann nehmen ?!
floker
Posts: 82
Joined: 2004-01-04 15:14

Re: Serverstatus - Online oda Offline

Post by floker »

007killer wrote:Also ich möchte mehrere verschiedene gamesserver anpingen. Das mit den CS Server anpingen läuft einwandfrei mit dein Script, aber dann wäre noch der RvS, CoD und ET Server..... ^^ Das CoD und ET Game verwenden ja die gleiche Engine also kann ich ja das gleiche dann nehmen ?!
joar, würde ich sagen, müsste gehen. Versuchs einfach mal. Ist ja alles HLDS-Server. Sollte passen.
Bei COD, kein plan. ;-) Hab ich mich nicht mit beschäftigt, da keine Anwendung bei mir :P

Wenn es TCP ist -> siehe oben
007killer
Posts: 11
Joined: 2004-02-13 04:52

Re: Serverstatus - Online oda Offline

Post by 007killer »

Mit TCP geht nix. Da kann ich kein einzigen Server anpingen außer CS, aber wenns dir hilft RvS hat die UT Engine.
floker
Posts: 82
Joined: 2004-01-04 15:14

Re: Serverstatus - Online oda Offline

Post by floker »

007killer wrote:Mit TCP geht nix. Da kann ich kein einzigen Server anpingen außer CS, aber wenns dir hilft RvS hat die UT Engine.
Sorry, keinen Plan. ;-)
Musst du mal selber Google bemühen. Ich hab das oben auch erst nach ewig langem google-studium gefunden... funktioniert einwandfrei.
Anwendung zu sehen auf: http://www.prolamerclan.de :P
007killer
Posts: 11
Joined: 2004-02-13 04:52

Re: Serverstatus - Online oda Offline

Post by 007killer »

Wie ich seh hast du euren TS Server auch angepingt. Wie hast das denn nu gemacht ? :D
floker
Posts: 82
Joined: 2004-01-04 15:14

Re: Serverstatus - Online oda Offline

Post by floker »

007killer wrote:Wie ich seh hast du euren TS Server auch angepingt. Wie hast das denn nu gemacht ? :D
Das ist einfach TCP, oben das zweite nehmen, port vom TS-Server rein, und freuen.