Die NitrAPI: Nitrados Programmierschnittstelle zur Bestellung, Verwaltung und Steuerung von Diensten

Die Nitrado Public Cloud lässt sich, wie alle Nitrado-Produkte, bequem über das Nitrado Webinterface steuern. Für Bastler, Modder und professionelle Entwickler gibt es aber noch einen weiteren Weg: Die Nitrado API (kurz NitrAPI) ermöglicht es, beliebige Nitrado-Dienste automatisiert anzusteuern, etwa zur Bestellung, Stornierung oder zum Einbetten von Informationen in die eigene Website.

Im letzten Artikel zur Nitrado Public Cloud wurde das Webinterface vorgestellt, welches Anfängern und fortgeschrittenen Administratoren gleichermaßen nützliche Funktionen zur Verfügung stellt. Im heutigen Artikel wird die Schnittstelle behandelt, die Nitrado selbst zur Steuerung aller Dienste verwendet - und die in gleicher Weise von jedem Kunden für seine eigenen Dienste verwendet werden kann.

Die NitrAPI kurz erklärt

"NitrAPI" steht für Nitrado Application Programming Interface (dt. Programmierschnittstelle). Sie wird von Nitrado selbst verwendet, um alle von Nitrado gehosteten Server zu verwalten. Das im letzten Artikel vorgestellte Webinterface ist ebenfalls lediglich eine Anwendung, welche die NitrAPI verwendet, um Daten anzuzeigen und Befehle an den Server zu senden. Klickt der Nutzer beispielsweise auf den Button zum Neustarten seines Servers, so sendet das Webinterface ein entsprechendes Kommando an die NitrAPI, welche dann letztlich den Neustart durchführt.

Nitrapi

Dadurch, dass Nitrado jedem registrierten Benutzer kostenfrei Zugang zur NitrAPI gewährt, können Hobbyentwickler und Profis auf ihre Bedürfnisse zugeschnittene Anwendungen erstellen, die Funktionen des Webinterfaces nachbilden, oder bei Bedarf sogar Server automatisch bestellen.

Quelloffene Bibliotheken zur einfachen Verwendung

Die NitrAPI ist eine über OAuth2 authentifizierte HTTP-REST-API und kann daher mit wenig Aufwand aus einer Vielzahl von Programmiersprachen heraus verwendet werden. Um die Verwendung für Entwickler aber noch komfortabler zu machen, stellt Nitrado auf seinem GitHub-Profil Bibliotheken für einige Programmiersprachen bereit, die von jedem eingesehen und verwendet werden können. Zum aktuellen Zeitpunkt stehen bereits Implementierungen in PHP, Swift und Java zur Verfügung, zusätzlich ist die Veröffentlichung einer JavaScript-Version für die nahe Zukunft geplant.

Dass sich diese Bibliotheken auf GitHub befinden bedeutet auch, dass Nitrado gern Feedback und Pull Requests von Entwicklern entgegennimmt, die an der Weiterentwicklung dieser Bibliotheken mitwirken möchten.

Für alle, die ihre ganz eigenen Bibliotheken entwickeln möchten, steht auf https://doc.nitrado.net eine ausführliche Dokumentation aller öffentlichen Schnittstellen zur Verfügung.

Beispiele zur Verwendung

Welche Aufgaben lassen sich mit der NitrAPI also realisieren? Um die Möglichkeiten etwas erfassbarer zu machen, werden hier drei Beispiele für unterschiedliche Anwendungszwecke vorgestellt:

Cloud Server automatisch upgraden und downgraden

Die meisten Server-Anwendungen sind nicht zu jeder Zeit gleich ausgelastet. Häufig ergeben sich klare Nutzungsmuster, etwa erhöhte Nutzung am Abend, am Wochenende oder zu bestimmten Ereignissen. Für diese Zeiten mit hoher Last werden große Rechenkapazitäten benötigt, die in den Zwischenzeiten jedoch ungenutzt bleiben würden und unnötige Kosten verursachen.

Die NitrAPI erlaubt es vollautomatisch Ressourcen hinzu- und wieder abzubuchen. Es ist also problemlos möglich, ein Skript zu entwickeln, das die Auslastung des eigenen Servers überwacht und bei Bedarf Ressourcen hinzubucht. Hierzu eignet sich besonders der "Cloud Server Dynamic", bei dem auch bei einem späteren Downgrade keine Extrakosten entstehen.

Anzeigen von Diensten in einem JavaScript-Widget

Viele Server-Betreiber unterhalten auch eine Website, auf der sich zusätzliche Informationen zu den Servern befinden. Das Problem: Die Verbindungsdaten dieser Server müssen manuell eingepflegt werden und können daher veraltet sein. Mit der NitrAPI lassen sich die Verbindungsdaten automatisch anzeigen, wie hier zu sehen:

Hierbei handelt es sich um eine Live-Ansicht der Dienste eines Testnutzers, erzeugt mit weniger als 30 Zeilen JavaScript-Code.

Modding

Da die NitrAPI aus nahezu jeder Programmiersprache heraus verwendet werden kann, lässt sie sich auch in nahezu jeder Spielemodifikation nutzen. Beispielsweise nutzen viele Communitys sowohl einen Gameserver, als auch einen Voiceserver - und auf beiden sollen möglicherweise keine ungebetenen Gäste zugelassen sein. In diesem Fall müssen der Game- und der Voiceserver separat geschützt werden.

Da die NitrAPI auch Funktionen von Voiceservern wie TeamSpeak oder Mumble ansprechen kann, könnte eine Modifikation des Spiels problemlos genutzt werden, um sich verbindenden Spielern - die also das Serverpasswort kennen oder auf der Whitelist stehen - gleichzeitig auch Zugriff auf den Voiceserver zu geben. Bei Mumble wäre dies durch die automatische Erstellung eines neuen Serverbenutzers möglich, bei TeamSpeak durch die Erzeugung und Anzeige eines "Privilege Tokens", den der Spieler dann verwenden kann, um sich auf dem Voiceserver frei zu bewegen. Wer somit Zugriff auf den Gameserver hat, hätte automatisch auch Zugriff auf den zugehörigen Voiceserver - ein Verwalten von zwei unterschiedlichen Schutzmechanismen entfällt.

In gleicher Weise lassen sich auch beliebige andere Befehle in Spiele einbetten. Zur Veranschaulichung haben wir ein einfaches Minecraft-Plugin auf unserem GitHub-Profil veröffentlicht. Es ist in der Lage eine Reihe von Befehlen auf der Kommandozeile des Spiels an die NitrAPI weiterzureichen, insbesondere können damit auch aus dem Spiel heraus Backups der Spielwelt angelegt und wiederhergestellt werden.

Fazit

Die NitrAPI ist eine frei zugängliche Schnittstelle, die es Entwicklern erlaubt, individuelle Anwendungen für ihre Nitrado-Dienste zu entwickeln und Vorgänge zu automatisieren. Nitrado freut sich bereits jetzt auf Vorschläge und Wünsche zur Erweiterung dieser Schnittstelle, um Hobbyentwicklern und Profis alle Funktionen zur Verfügung stellen zu können, die diese für die Umsetzung ihrer Projekte benötigen.

Stay tuned!

Bis zum Start der Nitrado Cloud Server im nächsten Monat werden wir regelmäßig weitere Details in ausführlichen Artikeln veröffentlichen. Im nächsten Artikel werden zwei weitere Applikationen vorgestellt, die ebenfalls auf der NitrAPI basieren: Die Nitrado-Apps für Android und iOS, die es ermöglichen, Cloud Server und andere Dienste bequem von unterwegs zu verwalten.

27. Jun, 14:03
7326
0
Sascha Siska
Deine Reaktion

12

0

4

6

1

0

0
Comments
  
Noch keine Kommentare

Testserver
Vernetze dich mit uns




ESL Premium zertifiziert
Die nitrado.net Gameserver sind ESL zertifiziert und somit die erste Wahl für ESL Clanwars.
ESL PROTECTION CHECK