Page 1 of 1
Serverstatus - Online oda Offline
Posted: 2004-03-11 00:42
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
Re: Serverstatus - Online oda Offline
Posted: 2004-03-11 00:49
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.
Re: Serverstatus - Online oda Offline
Posted: 2004-03-11 08:12
by valior
Re: Serverstatus - Online oda Offline
Posted: 2004-03-11 10:58
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?
Re: Serverstatus - Online oda Offline
Posted: 2004-03-11 11:33
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>");
}
?>
Re: Serverstatus - Online oda Offline
Posted: 2004-03-11 11:34
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 !
Re: Serverstatus - Online oda Offline
Posted: 2004-03-11 11:43
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
Re: Serverstatus - Online oda Offline
Posted: 2004-03-11 11:52
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 ?!
Re: Serverstatus - Online oda Offline
Posted: 2004-03-11 11:55
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
Re: Serverstatus - Online oda Offline
Posted: 2004-03-11 11:57
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.
Re: Serverstatus - Online oda Offline
Posted: 2004-03-11 11:58
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
Re: Serverstatus - Online oda Offline
Posted: 2004-03-11 12:05
by 007killer
Wie ich seh hast du euren TS Server auch angepingt. Wie hast das denn nu gemacht ? :D
Re: Serverstatus - Online oda Offline
Posted: 2004-03-11 12:20
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.