Folgender Text ist nun doch um einiges länger geworden als vorher gedacht und ich geh dabei auf einige Punkte etwas allgemeiner ein, um das Gesamtthema besser verständlich zu machen. (Wen die allgemeinen Erklärungen nicht interessiert, kann zum letzten Abschnitt "Kolben in der Zeit" springen.) Dennoch sind sie alle nur angeschnitten, da ein komplett ausführlicher Text mehrere Seiten füllen könnte. Ebenso ist der folgende Text nicht allein auf dieses Thema zu beziehen, sondern sollte bei allen Dingen auf diesem (und auch anderen) Servern bedacht werden:
sondern einfach das nutzen einer Funktion in Minecraft, was sogar in vanilla geht.
Wirtschaft auf Servern
Minecraft ist und war im Grunde nie für Server mit unserem Konzept ausgelegt. Besonders da es in Vanilla kein Wirtschaftssystem gibt, hat Mojang in dieser Hinsicht freie Hand, dem Spieler die Möglichkeiten zu bieten, alle Items auf Knopfdruck immer und endlos zu erhalten. In den letzten Minecraft-Versionen gab es einige Änderungen, die sich nachteilig auf ein Wirtschaftssystem ausgewirkt haben, manche mehr und manche weniger:
- Wesentlich mehr Goldvorkommen in Mesabiomen
- Die Möglichkeit, Eisen- und Goldrüstungen, sowie die Waffen, einzuschmelzen
- Reparaturverzauberung
- Podsolgenerierung unter Riesenfichten
- etc.
Dennoch wurden diese Funktionen hier nicht eingeschränkt. Und auch die alten "wirtschaftsnachteiligen" Funktionen, wie Kolbenfarmen, waren erlaubt. Bei diesen wurde lediglich geschaut, dass sie nicht dauerhaft laufen, eben nur halbautomatisch sind. Dies wurde bisher aber auch weniger aus wirtschaftlichen, sondern aus Gründen der Performance gemacht.
Performance bei Vanilla-Funktionen
Und die Performance ist bei Servern der größte und schwierigste Punkt. Auch hier ist teilweise zu spüren, dass Minecraft im Kern nicht für Server ausgelegt ist. Bereits in Vanilla ist jede Funktion eines Blocks oder Mobs im Hintergrund mit langen Berechnungen und Prüfungen verbunden, die dann teilweise zu Kettenreaktionen führen. Vereinfachtes Beispiel:
- Darf dieser Zombie nun spawnen? Ist dafür seit dem letzten Spawn genug Zeit vergangen?
- Wenn ja, darf er dann hier spawnen? Ist der Block ein "zulässiger" Block für den Spawn, gibt es genug Freiraum darüber und ist das Lichtlevel niedrig genug? Sind schon zu viele andere feindliche Mobs in der Nähe?
- Wenn eine der Bedingungen nicht erfüllt ist, wird ein neue Block geprüft
- Sind alle Bedingungen erfüllt, spawnt der Zombie mit seiner künstlichen Intelligenz
- Sind andere Wesen oder Blöcke, zB. Dorfbewohner oder Spieler, in der Nähe, die Einfluss auf den Zombie haben?
- Wie darf sich der Zombie bewegen? Kollidiert er evtl mit anderen Wesen, schwimmt auf Wasser oder wird anders beeinflusst? Soll er ein anderes Wesen verfolgen?
Dies sind nur einige von teilweise wesentlich größeren Prüfungen, die allein in Vanilla beim Spawnen eines Zombies gemacht werden. Dies gilt für jedes Mob ebenso, das auf der Karte erscheint. Sobald der Zombie nun auf einen Dorfbewohner trifft, wird das Verhalten für den oder die Dorfbewohner berechnet, evtl. wird sogar noch das Verhalten eines Eisengolems bestimmt.
Solche Prüfungen und Berechnungen sind zwar für die "einfachen" Blöcke nicht notwendig, aber besonders bei Redstone sind sie ebenso weitreichend. Der Unterschied der Prüfungen bei Redstone gegenüber den Mobs ist dabei, dass sie zwar wesentlich kürzer für den einzelnen Block sind, dabei aber wesentlich häufiger ausgeführt werden und wesentlich längere Ketten bilden:
- Ein Signalgeber, wie zB ein Hebel oder Knopf, wird aktiviert.
- Dieser Signalgeber prüft alle umliegenden Blöcke, ob sie bepowert werden sollen/können
- Wird ein Redstone gefunden und bepowert, so prüft auch dies wieder alle umliegenden Blöcke, ob sie bepowert werden können.
- Jeder Block, der bepowert wird, hat dann wieder eigene Funktionen, die entsprechend berechnet werden. Kolben zB. prüfen dabei, wie viele Blöcke direkt vor ihnen liegen bis ein Luftblock vorhanden ist und ob es unter einer Gesamtzahl von 12 liegt. Im nächsten Schritt wird noch geprüft, ob eines dieser Blöcke nicht verschiebbar ist, wie Obsidian oder Öfen.
All diese Berechnungen finden in sekundenschnelle und teilweise gleichzeitig statt. Ein einzelner PC besitzt dabei meist mehr als genug Arbeitsspeicher, um selbst bei den Ressourcenlastigen Elementen und großen Maschinen alle Teile flüssig zu berechnen und auszuführen. Erst gewaltige Maschinen, wie sie bei Youtube zu finden sind, oder sehr viele kleine zeitgleich betriebene Maschinen, führen zu Lags in den Berechnungen.
Performance auf Servern
Der Server besitzt neben den Vanilla-Funktionen weitaus mehr Funktionen durch die hohe Anzahl an Plugins. Durch die Plugins werden teilweise neue Funktionen hinzugefügt, teilweise erweitern sie die bereits bestehenden Vanilla-Funktionen. Nur in seltenen Fällen werden Funktionen eingeschränkt. Im Folgenden gehe ich dabei nur auf den im Thread thematisierten Kolben ein.
Das Plugin Worldguard ermöglicht die Erstellung von Regionen und dementsprechend Städten und Grundstücken. Diese Regionen können modifiziert werden, wie zB. durch die meisten Stadterweiterungen. Eine der größten Funktionen von WorldGuard ist aber, dass es Bauen, Abbauen und Verändern von Blöcken nur für die Regionsbesitzer und -mitglieder erlaubt. Es ist für das Plugin einfach zu prüfen, ob ein Block gesetzt werden darf, wenn ein Spieler ihn mit der Hand setzen möchte. Doch sobald Kolben ins Spiel kommen, ist dies nicht mehr so einfach. Kolben wollen Blöcke verschieben, was in anderen Worten bedeutet, es baut einen Block ab und setzt ihn dann eine Position weiter wieder hin.
In der Vergangenheit gab es einige Griefing-Probleme, weil Worldguard die Kolben nicht mit bedacht hatte. Deshalb muss bei einem Kolben nun beim Ausfahren für jeden einzelnen zu verschiebenden Block geprüft werden, ob er in eine neue Region rein geschoben werden würde. Ist dies der Fall, so verhindert Worldguard das Ausfahren des Kolbens. Da ein Kolben bis zu 12 Blöcke verschieben kann, wird entsprechend häufig nach einer Region geprüft. Somit ist der Ressourcenbedarf für Kolben auf einem Server um ein Vielfaches höher als es im Singleplayer der Fall ist.
Aber auch hier gäbe es wieder eine endlose Anzahl Beispiele, bei denen durch den Spieler kaum spürbare Prüfungen stattfinden, die aber notwendig sind, um den Server zu dem zu machen, was er ist.
Kolben in der Zeit
Damals waren die einzigen Blöcke, die durch Kolben gefarmt wurden: Kürbisse, Melonen, Zuckerrohr und Kakteen. Diese Items wurden kaum gebraucht und entsprechend wenig wurden sie gefarmt. Durch Dorfbewohner wurde aber sehr großer Bedarf erweckt, weshalb die Anzahl und die Größe der Kolbenfarmen immer weiter anstieg. Steigende Spielerzahlen führten natürlich ebenso dazu, dass die Anzahl der Farmen weiter anstieg. Und auch wenn die aktuellen Spielerzahlen und somit auch die Anzahl der aktiven Farmen derzeit vergleichsweise niedrig sind, so existieren alle anderen Farmen weiterhin. Sollte die Zahl aktiver Spieler in den nächsten Monaten wieder steigen, wäre dies also auch wieder ein relevanter Faktor. Durch die letzten Minecraft-Versionen wurden dann auch weitere Items hinzugefügt, die wieder mit Kolben geerntet werden können, was auch wieder zu einem Anstieg der Farmen führte und führen wird.
Es wurde über die letzten Jahre in der Community, aber auch im Team immer wieder und lange darüber diskutiert, ob man diese Farmen einschränken soll und wie dies am Besten möglich wäre. Gerade weil die Spieler auf diesem Server möglichst wenig eingeschränkt werden sollen, wurde bisher auf so eine Einschränkung verzichtet. Doch mit den Updates und Änderungen kommt irgendwann ein Punkt, an dem eine Einschränkung stattfinden muss.
Dabei sollte aber auch gesehen werden, dass nicht einfach Kolben komplett verboten werden, sondern nur deren Funktion in Verbindung mit den farmbaren Items eingeschränkt wird. Somit wurde eine Lösung entwickelt, um weiterhin andere Redstone-Mechnismen mit Kolben nutzen zu können. Hinzu kommt dann noch der Faktor, dass die Spieler nicht mit einer News und der Einschränkung einfach allein gelassen werden und die (teilweise sehr hohe Anzahl) Kolben nur noch rumliegen. Stattdessen wurde eine Sammelquest mit Belohnung geschaffen.
Abschluss
Ich hab nun über 2h an diesem Text geschrieben, um möglichst alles verständlich zu erklären. Es kann sein, dass ich dadurch noch etwas vergessen oder doch unklar ausgedrückt habe. Sollte mir noch etwas einfallen, werde ich es später ergänzen.