Hey,
falls noch nicht geschehen am besten zunächst den ersten Teil lesen.
Was sind die Probleme auf Kadcon aktuell im Bezug auf 1.13:
UUIDs sind etwas längere Zeichenketten, die eine Person genau identifizieren. In etwa wie die eindeutige Nummer auf jedem Geldschein.
Dies wurde in Minecraft nachträglich eingeführt, weil die Spieler gerne ihre Namen wechseln wollen. Das Problem dabei ist klar: Der bisher eindeutige Name ist nun auf einmal nicht mehr eindeutig. Alle Plugins, die bis dahin den Namen zur Identifizierung genutzt haben, funktionieren auf einmal nicht mehr richtig.
Auf Kadcon betrifft das große Teiler der Plugins, die schon vor der Einführung der UUIDs geschrieben wurden.
Beispiele:
- PermissionsEx: Die Verwaltung von Berechtigungen läuft über den Spielernamen.
- iConomy: Das Währungssystem erstellt automatisch unter dem Spielernamen ein Konto.
- WorldGuard & Landli: Die Grundstücke werden auf den Spielernamen registriert.
- WorldGuard: Die Liste der Member sind die Spielernamen.
- ChestShop: Das ganze Shop-System braucht Namen/Konten die auf ein Schild passen - UUIDs passen nicht auf ein Schild. Auch KShop hat teilweise noch dieses Problem, da es im Hintergrund weiterhin iConomy für die Konten benutzt.
- Homes/Warps usw. sind auch über die Namen gespeichert.
- mcMMO funktioniert auch über die Namen
- ...
Nicht betroffen sind Plugins, die entstanden sind nachdem klar war, dass Mojang diese Änderung vornimmt. Darunter z.B.
- Chunkli arbeitet vollständig mit UUIDs
- FakeStuff arbeitet auch bereits mit UUIDs und man muss daher auch dort immer den aktuellsten Namen eingeben.
Lösungen zu UUIDs:
Um diese Probleme zu lösen ist die Herangehensweise in vielen Plugins eigentlich relativ simpel. Man ersetzt an den entsprechenden Stellen die Namen (Strings) durch die neuen UUIDs und passt etwas den Code darum an. Das klappt ganz gut - bis auf bei Plugins die sehr viele Daten verwalten (Grundstücke, mcMMO, Konten). Hier muss man dann entsprechend noch Converter schreiben, die die ganzen Daten und Datenbank-Tabellen auch auf das neue System umwandeln. Eklig wird es bei etwas wie KShop. Die Informationen auf den Schildern kann man nicht schnell mal ändern. Dafür muss man mindestens am Ende die kompletten Spielwelt durchgehen.
BlockIds
Aber es gab ja nicht nur das Problem mit den UUIDs

Minecraft arbeitet grundlegend seit der 1.13 nicht mehr mit "eindeutigen Zahlen" für einzelne Blöcke und Items. Dies führt dazu, dass man eigentlich jedes Plugin zumindest etwas umschreiben muss. Beispielhaft genannt hier die, die massiv umgeschrieben werden müssen:
- WorldEdit: Jeder der damit schonmal gearbeitet hat kann viele der Zahlen auswendig. Schnell etwas entfernen mit befehlen wie '//set 0' ist ungemein hilfreich.
- Prism: Unser Logging-Plugin setzt auch stark auf die eindeutigen Zahlen. In der Datenbank werden alle Blöcke als Zahlen behandelt.
- KShop: Jeder der mal auf Kadcon einen Shop gebaut hat weiß wie wichtig die Zahlen hier sind.
Lösungen zu BlockIds:
Im Bezug auf WorldEdit ist der Aufwand glücklicherweise nicht ganz so hoch, da das Plugin noch aktiv entwickelt wird und es andere Personen gibt, die diese Umstellungen durchführen. Die Umstellung von WorldEdit ist aber auch jetzt noch im Gange. Den Aufwand für eine solche Umstellung darf man also auf keinen Fall unterschätzen.
Bei Prism wäre der Aufwand ähnlich - dies ist etwas, dass ich mir zeitlich vorerst nicht leisten kann und ich versuche da nur irgendwie einige der Grundfunktionen zunächst zu erhalten.
Bei KShop ist das nicht möglich, dieses Plugin muss voll funktionsfähig sein für einen 1.13 Server und es muss entsprechend vollständig umgebaut werden. Mein aktueller Plan ist hier eine Art "Waren-Bibliothek" zu erstellen, in der die Üblichen gehandelten Waren abgespeichert sind und auch weiterhin über "Stone" als auch "1" identifizierbar sind. Neue Waren könnten bei diesem System dann zur Laufzeit von Admins hinzugefügt werden.
Chunkli
Schon eine längere Zeit vor dem 1.13 Update hatte ich begonnen einige Konzeptprobleme in Chunkli zu beheben. Es wäre hier nicht sinnvoll die alte Version nun auf 1.13 zu bringen. Ich werde bei der 1.13 Umstellung auch direkt auf die neue Chunkli-Version umsteigen. Dies hat u.A. damit zu tun, dass Mojang die Menge an Abfragen auf ihre Server limitiert. Dies kann zu diversen Problemen führen, wenn mehrere Server über die gleiche Ip erreichbar sind. Die neue Version von Chunkli enthält hier diverse Anpassungen um dieses Problem für alle anderen Plugins, die auf dem Server laufen, zu lösen.
Landli
Mehrere Grundstücke umziehen/kaufen/verändern da war doch was

Die Anpassungen an Chunkli beruhen unter anderem darauf, dass es allen Spielern möglich sein soll viele Grundstücke auf einmal zu speichern/umzuziehen. Dies ist aber ein sehr komplexes Problem. Aus technischer Sicht funktioniert dies für Admins bereits ohne Probleme - aber für die meisten Spieler wäre dies einfach nicht verständlich. Eine unförmige Fläche, wie unten im Bild zu sehen, umzuziehen ist ohne Adminhilfe fast unmöglich zu verstehen. Die Funktionalität mehrere Grundstücke auf einmal umzuziehen geht daher nur mit der Vorgabe, dass es eine zusammenhängende rechteckige Fläche ist oder an ein vom Server vorgegebenes Muster hält.
Zusammenfassend sollte nun klar sein:
Hier wird halb Kadcon neu geschrieben und alles, auf das man temporär verzichten kann, fliegt daher auch zunächst raus.
Weiterhin ist der Umbau so gravierend, dass es vorerst nicht denkbar ist, dass Kadcon selber umgestellt wird. Das was hier neu entwickelt wird kommt zunächst auf einen eigenen unabhängigen Testserver. Ob und wie Kadcon überhaupt auf das neue System umgestellt wird steht noch in den Sternen.
Entscheidungen
Nachdem wir nun die technischen Aspekte angesehen haben kommen wir zu den Entscheidungen die ich etwa im Juni 2018 getroffen habe.
- Es wird an einem Testserver gearbeitet.
- Alle nicht zwingend nötigen Plugins fliegen zunächst raus (auf dem Testserver).
- Ich investiere den größten Teil meiner Zeit in dieses Projekt, da es das ist, was mich an Kadcon interessiert.
- Selbst wenn ich meine Zeit vollständig in das Projekt stecke wird dies mindestens 6+ Monate dauern.
- Ich werde verstärkt auf meine Gesundheit bei dem Projekt achten, da dies zuletzt der Grund war, warum ich das Projekt pausieren musste.
Dies hat natürlich auch einige erwartete Folgen:
- Die Popularität von Kadcon und damit die Spielerzahl wird sinken.
- Die Menge an Updates/Interaktion meinerseits wird stark abfallen.
- Das Team leidet allgemein unter dieser Entscheidung.
- Ich werde mein Lebensunterhalt nicht durch Kadcon decken können.
- Wenn ich meinen Lebensunterhalt nicht decken kann muss ich einen Teil meiner Zeit investieren um Geld zu verdienen ( aka. "richtig arbeiten"
)
Aber ich denke für den zweiten Teil reicht es an dieser Stelle.

Im dritten Teil (voraussichtlich am 17.2.2019) geht es dann mit dem Zeitraum Juni 2018 - Januar 2019 weiter. Und was arbeite ich denn eigentlich?
Kade
Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.
Ich Teile meine Zeit aktuell: 2,5 Tage 1.13, 2,5 Tage Arbeit, 1 Tag Kadcon. Eine PN-Antwort kann entsprechend länger dauern.
Ich Teile meine Zeit aktuell: 2,5 Tage 1.13, 2,5 Tage Arbeit, 1 Tag Kadcon. Eine PN-Antwort kann entsprechend länger dauern.