Web McStatus - check if Minecraft's and Mojang's servers are acting up

Dieses Thema im Forum "Selbstgeschriebene Plugins | Mods | Programme" wurde erstellt von Yonas, 1. März 2014.

  1. Yonas
    Offline

    Yonas

    Registriert seit:
    4. Dezember 2012
    Beiträge:
    3
    Ort:
    Dortmund/NRW
    Guten Tag,

    heute möchte ich mein aktuelles Projekt "McStatus" vorstellen, allerdings gibt es nicht viel dazu zu sagen, außer das ihr mit diesem Service in "Real-Time" prüfen könnt ob die Mojang und Minecraft Server online sind.

    Features:
    • ALLE Server werden geprüft (die meisten [alle] anderen Dienste prüfen meist nur die Login, Session und Skin Server)
    • Uptime-Check (es wird JEDE Minute geprüft ob die Server online sind, so kann ein sehr genaues "Uptime"-Bild berechnet werden)
    • Downtime (es wird euch angezeigt, sofern ein Server offline ist, seid wann er offline ist in Minuten)
    • Auto-Refresh (alle 25 Sekunden werden die Informationen für jeden Clienten auf der Seite aktualisiert)
    • History (Wenn du willst, kannst du in die Vergangenheit schauen, in der Footer-Leiste findest du den Button "History", dort findest du eine Auflistung der Statistiken aus den guten alten Zeiten. :))
    • eigene API (dazu unten mehr)

    So nun kommen wir zu dem Teil, der für die Programmierer wahrscheinlich am interessantesten ist.

    API:
    McStatus verfügt über eine öffentliche API welche auf JSON basiert. Mit dieser API können für die unterschiedlichen Dienste Informationen ausgelesen werden. Die Informationen basieren auf denen von McStatus gesammelten Daten.

    Die Rückgabe der API kann z.B. wie folgt aussehen, wenn die angefragte URL ca. so aussieht
    => http://mcstatus.namebot.eu/publicAPI.php?code=<your-api-code>&request=skins.minecraft.net
    Code (Text):
    1.  
    2. {
    3.     "skins.minecraft.net": {  // der geforderte Service
    4.         "location": {
    5.             "name": "Ashburn, United States", // der komplette Standort
    6.             "city": "Ashburn", // die Stadt
    7.             "country": "United States" // das Land
    8.         },
    9.         "status": "Online", // der aktuelle Status des Service (Online, Unstable oder Offline)
    10.         "uptime": {
    11.             "percent": "99.92", // die Uptime in Prozent seit Beginn der laufenden Woche
    12.             "upMinutes": "7016", // die Uptime in Minuten seit Beginn der laufenden Woche
    13.             "downMinutes": "5", // die Downtime in Minuten seit Beginn der laufenden Woche
    14.             "currentDowntime": "-1" // falls der Server gerade Offline ist, bekommt man hier die aktuelle Downtime in Minutes, der "default-Value" ist "-1"
    15.         }
    16.     }
    17. }
    18.  
    Ihr könnt aber auch für alle Dienste euch die Informationen ausgeben lassen, dafür muss die Anfrage einfach wie folgt aufgebaut sein
    => http://mcstatus.namebot.eu/publicAPI.php?code=<your-api-code>

    Wie bekomme ich einen API-Code? => Schreibt mir einfach in diesem Forum eine private Nachricht, oder "added" mich in Skype: yonasjersey

    Hier findest ihr ein paar Beispiele wie ihr die API "ansprechen" könnt.
    Java:
    Ich habe für Java eine kleine Klasse geschrieben, diese findet ihr hier mit einem kleinen Beispiel.

    PHP:
    PHP:
    1.  
    2.  <?php
    3. $url = "http://mcstatus.namebot.eu/publicAPI.php?code=<your-api-code>&request=skins.minecraft.net";
    4. $json = file_get_contents($url);
    5.  
    6. $information = json_decode($json, true); // , true damit ein Array returned wird
    7.  
    8. echo "Location => " . $information['skins.minecraft.net']['location']['name'];
    9. ?>
    10.  
    Ich hoffe euch gefällt dieser Dienst, falls ihr noch Ideen für Erweiterungen habt oder "einfach" nur Feedback würde ich mich über Rückmeldungen freuen.
     
    #1