Jump to content

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


Yonas

Empfohlene Beiträge

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

{ "skins.minecraft.net": { // der geforderte Service "location": { "name": "Ashburn, United States", // der komplette Standort "city": "Ashburn", // die Stadt "country": "United States" // das Land }, "status": "Online", // der aktuelle Status des Service (Online, Unstable oder Offline) "uptime": { "percent": "99.92", // die Uptime in Prozent seit Beginn der laufenden Woche "upMinutes": "7016", // die Uptime in Minuten seit Beginn der laufenden Woche "downMinutes": "5", // die Downtime in Minuten seit Beginn der laufenden Woche "currentDowntime": "-1" // falls der Server gerade Offline ist, bekommt man hier die aktuelle Downtime in Minutes, der "default-Value" ist "-1" } }}

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 $url = "http://mcstatus.namebot.eu/publicAPI.php?code=<your-api-code>&request=skins.minecraft.net"; $json = file_get_contents($url); $information = json_decode($json, true); // , true damit ein Array returned wird echo "Location => " . $information['skins.minecraft.net']['location']['name']; ?>


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.

McStatus - klick me

PS: Ja ich weis, das ich hier kein Plugin vorstelle, aber es hat auch was mit programmieren zu tun und ich habe sonst keinen passenden Bereich gesehen. :)

bearbeitet von YourSky
Link zu diesem Kommentar
Auf anderen Seiten teilen

@Corona Du hättest auch den kompletten Beitrag lesen können. Mir ist bewusst das es bereits mehrere Seiten gibt die das Bieten, aber deshalb habe ich ja oben die Vorteile aufgelistet die meine Version bietet. Ich denke das vor allem die eigene API und das History-Feature mich von den anderen Versionen abheben.

bearbeitet von YourSky
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hey,

Klar -- Das ganze Konzept ist schon sehr oft vertreten, aber Ich muss wirklich sagen, dass deine Version Funktionen hat, die in den meisten Versionen nicht vertreten sind.

Allerdings habe Ich Zweifel, das diese API für viele einen Nutzen hat, da solch ein Service kaum für die Implementation benötigt wird. Aber zum nachschlagen ist es wirklich empfehlenswert.

Gute Arbeit! ^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich finde das mit der API richtig gut, denn sowas wollte ich schonmal für den Server haben. Denn dann kann ich (wie der Hive) Meldungen schicken, dass man sich nicht ausloggen soll, wenn der Session- oder Login-Server down ist :)

Um die API kümmern werde ich mich später mal, muss mich erst mit meinen anderen Codern zusammensetzen deswegen :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Na wenn alle sagen, dass die so gut ist, werd ich auch mal klein bei geben, habs mir eben nochmal reingezogen und bin echt beeindruckt. Wenn ich ähnliche PHP-Skriptverarbeitungen bräuchte, bekomme ich die dann eigentlich unentgeldlich, oder willst du für solche Arbeiten eine gegenleistung? (:

Link zu diesem Kommentar
Auf anderen Seiten teilen

@TuxGamer Es freut mich das du Verwendung für die API hast, wenn du möchtest kann ich dir gleich einen API-Code zukommen lassen. :)

@Corona auch dir Danke ich natürlich für das schöne Feedback. :) Es kommt ganz drauf an, wie aufwendig und komplex das Script ist was gewünscht wird, aber da ich aktuell noch auf der Suche nach Referenzen für mein Portfolio bin dürfte es wenn dann nicht all zu teuer werden, falls es überhaupt was kosten wird. ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Yonas, es würde theorethisch um eine übermittelung von einem Hash aus einer SQL-Datenbank gehen, mehr nicht. Wenn ich bis dahin nicht eh schon genug PHP kann, dann werd ich dich sicher fragen, auch wenn ich eher für Open Source und kostenfreiheit und so einen Shit bin, lässt sich dann sicher was ausmachen, also preislich gesehen :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 weeks later...
  • 4 weeks later...
  • 3 weeks later...

Ihr könnt nun auch in der Fußleiste die "Notification"-Funktion aktivieren, diese Funktion sendet euch eine Nachricht, falls ein Server offline war, das er nun wieder online ist. So könnt ihr noch schneller sehen, wann ein Service wieder verfügbar ist. 8m0hG.png8m0kw.jpg PS: Ausschalten per Button ist zur Zeit, leider, noch nicht möglich.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B