[GUIDE] Eigener Serverstatus

10/06/2008 15:46 Rynti#1
Heute erkläre ich mal, wie man für seine Homepage eine Serverstatus-Anzeige macht (Auch die, die soetwas nicht brauchen, können etwas lernen, da auch öfters auf den Code eingegangen wird).


Was wir brauchen:
*) Einen PServer mit Root (mit Hamachi funktioniert es nicht, da nicht von außen auf die Hamachi-IP zugegriffen werden kann)
*) Ein gewisses Grundwissen über HTML und ein bisschen PHP (Ich versuche alles möglichst Idiotensicher zu gestalten)

Wenn ihr das habt, geht's weiter.


Also, dort, wo ihr den Status haben wollt, müsst ihr nun folgendes einbinden:

PHP Code:
<?php
    $online 
= @fsockopen("127.0.0.1"15400$errno$errstr1);
    if(
$online >= 1) { 
        echo 
'<b><font color=#00FF00>Online</font></b>';
    }
    else {
    echo 
'<b><font color=#FF0000>Offline</font></b>';
    } 
?>
Das sieht erstmal ziemlich kompliziert aus -> ist es aber nicht!

Sehen wir uns den Quellcode einmal genauer an...

PHP Code:
$online = @fsockopen("127.0.0.1"15400$errno$errstr1); 
-> Was könnte das heißen?
Er überprüft, ob eine Verbindung zum Port 15400 der IP 127.0.0.1 aufgebaut werden kann.
  • Wenn JA -> $online = 1
  • Wenn NEIN -> $online = 0

PHP Code:
if($online >= 1) { 
    echo 
'<b><font color=#00FF00>Online</font></b>';
}
else {
echo 
'<b><font color=#FF0000>Offline</font></b>';

-> Das ist ein langer Code, aber er ist nicht so kompliziert wie er aussieht.
Erstmal wird überprüft, ob $online 1 oder größer als 1 ist.
  • Wenn JA, wird der Code der in den geschweiften Klammern ist ausgeführt ( { und } )
  • Wenn NEIN, wird der Code in den geschweiften Klammern übersprungen und zum nächsten Punkt gegangen.
Der "nächste Punkt" wäre in diesem Fall "else".
Else bedeutet soviel wie "Wenn NEIN", also:
Wenn beim oberen "if" ein NEIN kommt, wird das hier ausgeführt.

War das so schwer? Und der Code in den ' ' bei ECHO ist blos HTML-Code.


Ihr könnt jetzt noch den Code, der angezeigt wird wenn der Server online oder offline ist ändern, UND außerdem - ganz wichtig - die Daten bei @fsockopen ändern.
Hier das, was ihr ändern müsst:
PHP Code:
@fsockopen("Server-IP"Server-Port$errno$errstr1); 
Ihr müsst das "Server-IP" gegen die IP von eurem Server tauschen.
Außerdem müsst ihr den Server-Port gegen den Port eures Servers tauschen (Dazu später mehr).
Beispiel:
PHP Code:
@fsockopen("blabla.muster.de"23000$errno$errstr1); 
Nun kommt das "mehr" über den Port des Servers:
Ihr kennt es ja, es gibt nicht nur einen Server -> Es gibt mehrere.
Um genau zu sein: 3 oder mehr (Login Server, Char Server, World Server, möglicherweise mehr World Server(= Channels))
Ihr müsst für jeden Server einen eigenen Port haben, und den müsst ihr eintragen.

Beispiel:

PHP Code:
<br>Login Server:
<?php
    $online 
= @fsockopen("blabla.muster.de"23000$errno$errstr1);
    if(
$online >= 1) { 
        echo 
'<b><font color=#00FF00>Online</font></b>';
    }
    else {
    echo 
'<b><font color=#FF0000>Offline</font></b>';
    } 
?>
<br>Char Server:
<?php
    $online 
= @fsockopen("blabla.muster.de"28000$errno$errstr1);
    if(
$online >= 1) { 
        echo 
'<b><font color=#00FF00>Online</font></b>';
    }
    else {
    echo 
'<b><font color=#FF0000>Offline</font></b>';
    } 
?>
<br>World Server:
<?php
    $online 
= @fsockopen("blabla.muster.de"15400$errno$errstr1);
    if(
$online >= 1) { 
        echo 
'<b><font color=#00FF00>Online</font></b>';
    }
    else {
    echo 
'<b><font color=#FF0000>Offline</font></b>';
    } 
?>
Aber wie kann man denn nun diese Ports herausfinden?
Ich nehme als Beispiel die Caali Files rev_1.
Im Ordner sind 3 .ini-Dateien: login_server.ini, char_server.ini und world_server.ini
In jedem dieser Dateien steht ganz oben ein "server", und unter dem
stehen jeweils ein "port=????".

ACHTUNG: Es sind zwei "port=????" in den Dateien,
einmal bei "server" und einmal bei "isc".

Dieses "????" ist der Serverport.

Wenn ihr das nun habt, einfach alles abspeichern, auf den FTP-Server hochladen und den Status beguggsn :D



Wenn euch mein Guide gefallen hat, bitte ein THANKS ^^

MfG,
Rynti!
10/06/2008 16:11 Kasoki#2
nice da haste dirn Thanks verdient =3
10/06/2008 16:27 Puma D. Ace#3
Jo ich werd demnächst man zeigen wie man sich ein Online / Offline Pic basteln kann.
Das man z.B. im Forum hier bei seinem StartPost oder in die Signatur einbinden kann.
10/07/2008 14:26 Rynti#4
wollte das nicht, aber es lässt sich net vermeiden:

P U S H
10/07/2008 15:36 Roxas12#5
Danke dir ^-^
super tut :D
hat meiner meinung nach ein sticky verdient
10/07/2008 16:21 Rynti#6
Quote:
Originally Posted by Roxas12 View Post
Danke dir ^-^
super tut :D
hat meiner meinung nach ein sticky verdient
hui das wäre nice :D
10/08/2008 08:07 Puma D. Ace#7
Mein Tut kommt demnächst auch.
Masterluke hat mir es gecodet.
Sieht hinterher so aus.


Loginserver : [Only registered and activated users can see links. Click Here To Register...]
Charserver : [Only registered and activated users can see links. Click Here To Register...]
Worldserver: [Only registered and activated users can see links. Click Here To Register...]
06/06/2010 17:54 SagetSotenso#8
Was is ein FTP-Server? :D

Mach ich zum ersten mal ^x^
06/07/2010 20:35 #FaiL'#9
Quote:
Originally Posted by SagetSotenso View Post
Was is ein FTP-Server? :D

Mach ich zum ersten mal ^x^
Er meinte damit den Root, oder das htdocs Verzeichnis.
09/26/2010 14:23 SagetSotenso#10
Achso , dankeschön =D