Der Quellcode für unsere Minecraft Plugins und TeamSpeak 3 Bot ist nun vollständig offen und darf von allen eingesehen, geändert und für eigene Zwecke verwendet werden!
Was bedeutet "Open Source"?
Die Wikipedia liefert eine gute Definition für Open Source Software:
Als Open Source (aus englisch open source, wörtlich offene Quelle) wird Software bezeichnet, deren Quelltext öffentlich und von Dritten eingesehen, geändert und genutzt werden kann. Open-Source-Software kann meistens kostenlos genutzt werden.
Unsere Minecraft Plugins stehen unter der GPLv3 Lizenz, der HalfminerBot unter der MIT Lizenz, eine einfache Erläuterung der Lizenz (in Englisch) findet ihr, wenn ihr dem Link folgt.
Wo finde ich den Quellcode?
Der Quellcode, sowie die Webseite, welche den Code hostet (GitHub), ist dabei vollständig in Englisch. Lediglich die Nachrichten, welche an die Spieler geschickt werden (zu finden in den jeweiligen Konfigurationsdateien), sind auf Deutsch.
Insgesamt umfassen unsere Repositorien inzwischen über 27.000 Zeilen Code.
Um alle Code Änderungen zu sehen, klickt über der braunen Leiste auf "commits". Damit könnt ihr auch stets der Entwicklung folgen, und euch die Code Änderungen, die für ein Update benötigt waren, anschauen.
Vielleicht könnt ihr durch das Lesen des Quellcodes auch das eine oder andere Server Geheimnis lüften (zum Beispiel, wie genau berechnet sich das Skilllevel?).
Grundlegende Struktur
Unser HalfminerSystem, also unsere Server Plugins, sind in 5 Module unterteilt, wobei jedes Modul ein eigenes Bukkit/Spigot Plugin darstellt:
- HalfminerSystem
- Das zentrale Plugin, von dem die anderen vier Module abhängig sind. Es stellt gemeinsame Funktionen bereit, wie zum Beispiel ein zentrales Speichersystem, ein Nachrichten System, mit dem formatierte Nachrichten mit Platzhaltern aus den Konfigurationsdateien gelesen und abgeschickt werden können, ein eigenes, kleines Scripting System, Dateiformate zum Lesen von Texten, Caches zum Zwischenspeichern von Daten, und viel mehr. Dabei macht es alleine in sich geschlossen nicht viel. Stattdessen stellt es die Funtionalität bereit, die von den anderen Modulen geteilt wird.
- HalfminerCore
- Im "Kern" findet sich die meiste Funktionalität auf Halfminer. Das AntiKillfarming System, ein AntiXray, ein eigener Chat Manager, ein Kampf logger, welcher euch beim Ausloggen im Kampf tötet, unsere Performance Anpassungen, PvP Modifikationen, das gesamte Verkaufssystem (/verkauf), das Skilllevel System, /stats und /statstop, und allerlei weitere Kommandos. Es enthält den Großteil der serverseitigen Funktionalität und ist damit das umfangreichste Modul.
- HalfminerBattle
- Unser Duell und FFA System läuft durch dieses Modul. Es kümmert sich um eure Inventare, Positionen, Warteschlangen, Matching System, und erlaubt es unlimitert viele Arenen je Spielmodus hinzuzufügen.
- HalfminerLand
- Unser /land Plugin. Es kümmert sich um den Schutz eurer Länder, mit Hilfe von WorldGuard, erlaubt das Hinzufügen von Freunden, das Setzen von Teleportpunkten, das Fliegen auf eigenem Gebiet, und noch viel mehr. Es bietet darüber hinaus auch allerlei administrative Funktionen.
- HalfminerREST
- Ein kleiner Webserver, mit dem unsere Webseite und TeamSpeak Bot kommunizieren. Darüber wird unter anderem der Server Status auf der Webseite abgerufen, sowie unser /pin System zur Rangfreischaltung im Forum und TeamSpeak Server läuft über diesen Endpunkt. Er verbindet unsere Server/Systeme miteinander und erlaubt es ihnen miteinander zu kommunizieren.
Eine vollständige Funktionsbeschreibung für alle Plugins findet ihr, indem ihr auf den jeweiligen Link klickt, die Beschreibungen sind allerdings vollständig in Englisch geschrieben.
Wie kann ich die Plugins herunterladen?
Aktuell werden keine direkten Downloadlinks für unsere Minecraft Plugins gestellt, ihr müsst den Code selber kompilieren. Alternativ könnt ihr mich auch auf dem Minecraft oder TeamSpeak Server lieb danach fragen 🙂
Der TeamSpeak Bot kann hier heruntergeladen werden und wird als eigene Java Anwendung ausgeführt, ihr müsst dementsprechend also Java installiert haben.