Spieler anzahl auf Website anzeigen per PHP

Dieses Thema im Forum "Technischer Support" wurde erstellt von jorio2311, 13. November 2012.

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

    jorio2311

    Registriert seit:
    28. Juni 2012
    Beiträge:
    4
    Hallo liebe Community,
    ich such schon seit einigen Tagen ein Script das checkt wie viel Leute auf dem Server sind. So soll am Ende die Ausgabe sein:
    2/10 Players
    Ich würde mich freuen wenn jemand einen Script hier posten würde.
    MFG jorio2311
     
    #1
  2. DypoX
    Offline

    DypoX Entwickler

    Registriert seit:
    30. Mai 2012
    Beiträge:
    43
    Ich wurde auch des besseren belehrt: Google bietet da eine große Auswahl von scripten.
    Wenn du morgen noch nichts hast... Schreib ich dir was. ;)
     
    #2
  3. Nacktschicht
    Online

    Nacktschicht

    Gefunden!

    Ich hab mal in meinen Archiv gekramt und bin fündig geworden:


    1. Installier dir minequery auf den Server, funktioniert immernoch obwohl Update ewig her ist
    2. Lade und entpacke die ZIP (http://minecraft-server.eu/board/attachment.php?attachmentid=266&d=1352845047); kopiere den Ordner auf deinem Webserver; die beiden Dateien müssen im Ordner stat liegen
    3. Bau den PHP-Code in eine deiner beliebigen Dateien ein; du musst noch deine ServerIP eintragen wo ich 0.0.0.0 eingetragen habe
    4. Optional kannst du noch eine Spielerliste einbauen (Code anbei)



    PHP Code:
    Code (Text):
    1. <?php
    2. $server = "0.0.0.0";
    3. $port = "25565";
    4. $timeout = "10";
    5.  
    6. if ($server and $port and $timeout)
    7. {
    8.         $minecraft = @fsockopen("$server", $port, $timeout);
    9. }
    10.  
    11. if($minecraft)
    12. {
    13.         echo "Servername ist online";
    14. }
    15. else
    16. {
    17.         echo "Servername ist offline";
    18. }
    19.  
    20. //===================================//
    21.  
    22. require('stat/minequery.class.php');
    23.  
    24. $userArray = Minequery::query("");
    25.  
    26. echo "<p id='MqHeadline'>".$userArray["playerCount"]." von ".$userArray["maxPlayers"]." online</p>";
    27.  
    28. //Optional//
    29.  
    30. ?>
    Wenn du noch eine Userlist möchtest, füge diesen Code bei //Optional// ein:

    Code (Text):
    1.  
    2. natcasesort ( $userArray["playerList"] );
    3.  
    4. foreach ($userArray["playerList"] as $user)
    5. {
    6.         echo "<span class='MqUser'>".$user."</span><br />";
    7. }
    8.  

    Bei Fragen bitte PN :)
    LG Thomas
     

    Anhänge:

    #3
    CrazyCake15 gefällt das.
  4. Cyxm
    Offline

    Cyxm

    Registriert seit:
    1. Oktober 2012
    Beiträge:
    87
    Ort:
    Dresden
    sehr nice habe auch schon ein par tage gegoogelt habe abr viel schrott gefunden ...

    Werde das von dir mal einbauen und sehen ob das für meine ansprüche ausreicht :D
     
    #4
  5. jorio2311
    Offline

    jorio2311

    Registriert seit:
    28. Juni 2012
    Beiträge:
    4
    An Nackschit

    Ich habe deinen COde eingebaut und folgenden Error bekommen:

    Servername ist onlinevon online

    Warning: natcasesort() expects parameter 1 to be array, null given in /data/multiserv/users/1010316/projects/2303699/www/view.php on line 27

    Warning: Invalid argument supplied for foreach() in /data/multiserv/users/1010316/projects/2303699/www/view.php on line 29

    _____________________________________________________________________________________________________


    Da ich das Problem selber nicht lösen kann frage ich nochmals dich. Hier der Code den ich eingebaut habe:


    Code (Text):
    1. <?php
    2. $server = "ZENSIERT";
    3. $port = "25565";
    4. $timeout = "10";
    5.  
    6.  
    7. if ($server and $port and $timeout)
    8. {
    9.         $minecraft = @fsockopen("$server", $port, $timeout);
    10. }
    11.  
    12.  
    13. if($minecraft)
    14. {
    15.         echo "Servername ist online";
    16. }
    17. else
    18. {
    19.         echo "Servername ist offline";
    20. }
    21.  
    22.  
    23.  
    24.  
    25. require('stat/minequery.class.php');
    26.  
    27.  
    28. $userArray = Minequery::query("");
    29.  
    30.  
    31. echo "<p id='MqHeadline'>".$userArray["playerCount"]." von ".$userArray["maxPlayers"]." online</p>";
    32.  
    33.  
    34. natcasesort ( $userArray["playerList"] );
    35.  
    36.  
    37. foreach ($userArray["playerList"] as $user)
    38. {
    39.         echo "<span class='MqUser'>".$user."</span><br />";
    40. }
    41.  
    42.  
    43. ?>
     
    #5
  6. Nacktschicht
    Online

    Nacktschicht

    Ich hab zu deinem Glück heute Vormittag das nochmal fertig geschrieben. Funktioniert. Hab mal das Packet hochgeladen: http://minecraft-server.eu/board/attachment.php?attachmentid=267&d=1352904616

    minequery.class.php und minequery.css müssen im gleichen Verzeichnis liegen wie die Seite (PHP!!!), in der du den Code einbaust.

    Du musst noch Servername bei MeinServer und IP bei 0.0.0.0 anpassen.

    Das ist der komplette Code der Datei:

    Code (Text):
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml">
    3. <head>
    4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    5. <!--Aktualisiert die Seite nach 15 Sekunden-->
    6. <meta http-equiv="refresh" content="5" >
    7. <!--Authorinformationen-->
    8. <meta name="author" content="Nacktschicht">
    9. <!--Seitentitel-->
    10. <title>Minecraft Server Status</title>
    11. <!-- CSS-Datei für Formatierungen -->
    12. <link type="text/css" rel="stylesheet" href="minequery.css" />
    13. </head>
    14. <body>
    15. <p id="MqUserContainer">
    16. <?php
    17. //****Einstellungen - bitte anpassen****//
    18. $server = "0.0.0.0";
    19. $servername = "MeinServer";
    20. $port = "25565";
    21.  
    22. //****Bitte ab hier nicht mehr editieren****//
    23. $timeout = "15";
    24.  
    25. if ($server and $port and $timeout)
    26. {
    27.         $minecraft = @fsockopen("$server", $port, $timeout);
    28. }
    29. if($minecraft)
    30. {
    31.         echo "<p id='MqHeadline'>".$servername." ist online</p>";
    32.  
    33. require('minequery.class.php');
    34.  
    35. $userArray = Minequery::query("$server");
    36.  
    37. echo "<p id='MqHeadline'>".$userArray["playerCount"]." von ".$userArray["maxPlayers"]." Spielern sind online</p>";
    38.  
    39. natcasesort ( $userArray["playerList"] );
    40.  
    41. foreach ($userArray["playerList"] as $user)
    42. {
    43.         echo "<span class='MqUser'>".$user."</span><br />";
    44. }
    45. }
    46. else
    47. {
    48.         echo "<p id='MqHeadline'>".$servername." ist offline</p>";
    49. }
    50. ?>
    51. </p>
    52. <br>
    53. <br>
    54. <br>
    55. <i><font size="-1" color="#7F7F7F"><b>Minecraft Server Status by <a href="http://minecraft-server.eu/board/member.php?60731-Nacktschicht">Nacktschicht</a></b></font></i>
    56. </body>
    57. </html>
     

    Anhänge:

    #6
  7. jorio2311
    Offline

    jorio2311

    Registriert seit:
    28. Juni 2012
    Beiträge:
    4
    Bug

    Ich habe das eingebaut und ein Problem habe ich noch wenn keiner online ist dann steht nicht da 0/0. Hier kannst du dir das angucken http://shoxxcraft.co.de/
     
    #7
  8. Nacktschicht
    Online

    Nacktschicht

    Jep das ist so gewollt. Es zeigt erst x von x Spielern online an, sobald der Server läuft.
     
    #8
  9. jorio2311
    Offline

    jorio2311

    Registriert seit:
    28. Juni 2012
    Beiträge:
    4
    Server läuft

    Der Server läuft schon seit mehreren Wochen!
     
    #9
  10. Nacktschicht
    Online

    Nacktschicht

    Schreib mir mal bitte per PN deine IP + Port
     
    #10
  11. Nacktschicht
    Online

    Nacktschicht

    Script Funktioniert - Problem sind die konstenlosen Webserver.
     
    #11
Status des Themas:
Es sind keine weiteren Antworten möglich.