Web Serverstatus online abrufen?

Dieses Thema im Forum "Programmierung" wurde erstellt von naseweis520, 14. Oktober 2012.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. naseweis520
    Offline

    naseweis520

    Hallo Comunity,

    also, ich hab folgendes Problem:
    Ich würde gerne auf meiner Website meinen Serverstatus abrufen!
    Also On-/Offline und Slotauslastung!
    Benötige ich dafür etwa ein spezielles Plugin?
    Oder geht das alleine mit Webscript?

    Würde mich sehr freuen,
    wenn ihr mir helft!
     
    #1
  2. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Das kannst du alles mit php machen.
    Benutz einfach mal google dann findest du fertige codes die du benutzen kannst.
     
    #2
  3. naseweis520
    Offline

    naseweis520

    Die Idee mit PHP kam mir schon!
    Aber ich finde leider keine Scripts. :'-(

    Aber vielen Dank!
     
    #3
  4. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
  5. Cabraca
    Offline

    Cabraca

    #5
  6. naseweis520
    Offline

    naseweis520

    @Benni1000 & @Cabraca = Ok, klingt gut - probiere ich gleich mal aus...
     
    #6
  7. trax823
    Offline

    trax823

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    28
    Ort:
    nähe Berlin
    Minecraft:
    trAx
    kleine nützliche Scripts ... kannst ja mal mit Websend experimentieren Link

    o.o
     
    #7
  8. silvinci
    Offline

    silvinci

    Registriert seit:
    21. September 2011
    Beiträge:
    21
    Ort:
    Herne
    Minecraft:
    silvinci
    #8
  9. naseweis520
    Offline

    naseweis520

    Ähm...

    @Benni1000 = Ich brauche noch Slots, Zustand alleine hab ich schon!
    @Cabraca = Was muss ich denn anpassen? Wenn ich es so lasse, wird die Seite leer angezeigt!
    @trax823 = Deinen Script muss ich noch testen!
    @silvinci = Deinen Script muss ich noch testen!
     
    #9
  10. Cabracas Script ist eine Funktion. Benutzen tust du die Funktion so:

    $ret = ping(HOST,PORT_WENN_ANDERS,TIMEOUT_WENN_GEWÜNSCHT_MODIFIZIEREN);

    Sollte auch ohne Port und Timeout gehen.

    dann kannst du So ausgeben:

    $ret['motd'] die motd ausgeben
    $ret['players'] die Slots
    $ret['max_players'] normale Slots

    PS: Es heißt das Script nicht der Script.
     
    #10
  11. naseweis520
    Offline

    naseweis520

    Fehler über Fehler...



    Hallo,
    ähm, ich erhalte diese Fehlermeldung (Xampp-Test):

    Fatal error: Call to undefined function ping() in C:\Xampp\htdocs\Test\Test.php on line 4


    Hier DAS Script:
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <?php
    $ret = ping(s.minecraft-herocraft,de,25565,5);
    ?>
    </head>
    <body>
    <?php echo ($ret['motd']); ?>
    <br />
    <?php echo ($ret['players']); ?>
    <br />
    <?php echo ($ret['max_players']); ?>
    </body>
    </html>


    Was habe ich falsch gemacht? cow
     
    #11
  12. zh32
    Offline

    zh32

    Wo ist die Ping-Funktion?
     
    #12
  13. naseweis520
    Offline

    naseweis520

    #13
  14. Calenria
    Offline

    Calenria

    Registriert seit:
    28. Juli 2012
    Beiträge:
    387
    Minecraft:
    Calenria
    du rufst mit "$ret = ping(s.minecraft-herocraft,de,25565,5);" eine Funktion auf die du vorher weder definiert noch eingebunden hast.

    Also entweder bastelst die Funktion aus dem Quelltext noch mit in dein Script oder du speicherst sie als eigene Datei und lädst sie mit require_once() in dein Script.
     
    #14
  15. f14_tomcat
    Offline

    f14_tomcat

    Registriert seit:
    16. Oktober 2012
    Beiträge:
    12
    Ort:
    /dev
    Minecraft:
    f14_tomcat
    Für mich sieht das so aus, als hättest du ein Komma statt einem Punkt gemacht. $ret = ping(s.minecraft-herocraft,de,25565,5);
    $ret = ping(s.minecraft-herocraft.de,25565,5);
     
    #15
  16. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Es gibt mehrere Probleme:
    1. Du hast das script nicht eingebunden, daher existiert auch die Funktion nicht.
    2. Du hast einen beistrich anstelle eines punktes benutzt.
    3. Deine Serveradresse ist ein String und muss daher zwischen zwei anführungszeichen stehen.
     
    #16
  17. TimBone
    Offline

    TimBone

    Macht doch mit einer php die Abfrage un dann könnt ihr es mit include oder iframe einbinden! PHP Abfrage auf Anfrage per PN
     
    #17
  18. naseweis520
    Offline

    naseweis520

    Schon wider...

    Also, das mit dem String ist mir noch aufgefallen... (Sorry, Tippfehler)

    Nun habe ich das nochmal neu getippt/kopiert und erhalte wieder einen (Xampp-)Fehler:
    Code (Text):
    1. [B]Notice[/B]:  Uninitialized string offset: 0 in [B]C:\Xampp\htdocs\Test\PHP.php[/B] on line [B]18[/B]
    Und hier DAS Script:
    Code (Text):
    1. <html>
    2.  <!-- Ich weiß, es fehlt Doctype und co. -->
    3.  <head>
    4.   <?php
    5.    function ping($host, $port=25565, $timeout=5) {
    6.   //Set up our socket
    7.   $fp = fsockopen($host, $port, $errno, $errstr, $timeout);
    8.   if (!$fp) return false;
    9.  
    10.   //Send 0xFE: Server list ping
    11.   fwrite($fp, "\xFE0000");
    12.  
    13.   //Read as much data as we can (max packet size: 241 bytes)
    14.   $d = fread($fp, 256);
    15.   echo bin2hex($d)."<br>";
    16.  
    17.   //Check we've got a 0xFF Disconnect
    18.   if ($d[0] != "\xFF") return false;
    19.  
    20.   //Remove the packet ident (0xFF) and the short containing the length of the string
    21.   $d = substr($d, 3);
    22.  
    23.   //Decode UCS-2 string
    24.   $d = mb_convert_encoding($d, 'auto', 'UCS-2');
    25.  
    26.   //Split into array
    27.   $d = explode("\xA7", $d);
    28.  
    29.   //Return an associative array of values
    30.   return array(
    31.   'motd' => $d[0],
    32.   'players' => intval($d[1]),
    33.   'max_players' => intval($d[2]));
    34.   }
    35.   ?>
    36.  </head>
    37.  <body>
    38.   <?php
    39.   $ret = ping('server.test.de',25565,25); ?>
    40.   <?php echo ($ret['motd']); ?>
    41.   <br />
    42.   <?php echo ($ret['players']); ?>
    43.   <br />
    44.   <?php echo ($ret['max_players']); ?>
    45.  </body>
    46. </html>


    Was mache ich immer falsch? :down:
     
    #18
  19. McBeam
    Offline

    McBeam Gesperrt

    Registriert seit:
    23. Oktober 2011
    Beiträge:
    238
    Falls es hilft , mein Bruder hat das für sein Server gehabt .
    Dafür kann man ein Spezieles Plugin nutzen . MineQuery google es mal falls nichts mehr Hilft

    LG , Beam
     
    #19
  20. naseweis520
    Offline

    naseweis520

    Ok?



    Klingt gut
     
    #20
Status des Themas:
Es sind keine weiteren Antworten möglich.