RE: News zum 01.05 - Sitzen, liegen und mehr...
Hallo zusammen,
wir haben die Testphase der Bluemap nun 3 Wochen laufen lassen und haben einiges an Feedback erhalten. Vielen Dank an der Stelle.
Ich möchte nochmal erklären, warum wir die Testphase auf dem Liveserver durchführen mussten:
Die Dynmap ist eines der ältesten und unflexibelsten Plugins auf unserem Server. Die Dynmap verbraucht bei 20-30 Spielern in etwa 10-15% der Serverleistung. Das Plugin nutzt den Paperthread um die jeweiligen Tiles (Bilder) neu zu generieren. Java ist grundsätzlich nicht Multi-Core fähig. Das bedeutet, der Paperserver läuft auf Core 1 (0 ist der erste Core für Betriebssystem und Webserver) sowieso annähernd an der 100% Grenze.
Die Generierung läuft bei der Dynmap leider eventbasiert, sodass jedes Blockupdate (Abbau von Blöcken, Wachsen von Feldern, Lichtupdates, etc) zu einem Rerendern des jeweiligen Chunks führt. Aktuell laufen wir bei 32 Online-Spielern häufig in den 18-19 TPS Bereich. Das ist für uns nicht zufriedenstellend. Wir haben in den letzten Wochen bereits einige Anpassungen an den Spawn-Regeln von Monstern und Tieren vorgenommen. Dies hat zwar zu einer signifikanten Verbesserung geführt, allerdings bleiben die TPS Drops bei >= 30 Spielern. Gerade für die Dynmap gilt: Umso mehr Spieler, umso mehr Updates, umso mehr Rendern.
Die Bluemap arbeitet hier komplett anders: Das Update der Daten erfolgt erst, wenn der jeweilige Chunk gespeichert wird. Dieser wird dann auf Grund seines Timestamps von einem extra MC-Client auf dem Core 3-7 berechnet. Somit verbraucht die Bluemap zwar insgesamt mehr Performance, kostet aber den Core 2 – wo der Paperthread läuft – keinerlei Performance.
Der Liveserver hat auf Grund seiner Hardware wesentlich mehr Performance was die CPU- sowie Übertragungsgeschwindigkeit angeht – auf dem Testserver sind hier nur etwa 20% der Leistung vorhanden. Wir hatten die Map natürlich vorher auf dem Testserver installiert, angepasst und bereits einer kleinen Gruppe von etwa 10-15 Spielern gezeigt. Das Feedback war hier durchweg positiv, sodass wir uns entschlossen haben, die Testphase auf den Liveserver auszuweiten.
Wir wussten, dass die Bluemap noch nicht die Dynmap in allen Punkten ersetzen kann. Wir brauchen aber verlässliche Werte und Vergleichswerte, sowie Feedback von allen Spielern.
Auf Grund eures Feedbacks und unseren Beobachtungen ist folgende Liste der größten Baustellen entstanden:
1. Performance Server (Übertragungsgeschwindigkeit zum Client)
2. Performance Client (Rendergeschwindigkeit, GPU Auslastung)
3. Überblick (Um einen groben Überblick zu erhalten, muss die gesamte Map geladen werden)
4. Free-Flight Kamera (Nicht Serverseitig einstellbar, sodass es möglich wäre, Geheimnisse zu entdecken)
5. Spieler verstecken (Gerade bei Events)
6. Grundstücke vom Rendern ausschließen nicht möglich (Schnitzeljagden)
Das Plugin Bluemap ist noch recht neu in der MC-Scene aber faktisch die einzige Alternative zur Dynmap. Wir haben uns daher letzte Woche als Blockminers-Team mit dem Bluemap-Entwickler (Nickname: Blue) ausgetauscht. Das Gespräch war durchweg positiv und viele unserer Punkte stehen bereits auf der To-Do Liste. Wer Interesse hat, kann sich gerne den GitHub ansehen und eigene Ideen einbringen:
https://github.com/BlueMap-Minecraft/BlueMap
Ideenliste:
https://github.com/BlueMap-Minecraft/BlueMap/projects/1
Blue hat bereits angekündigt für uns eine API Schnittstelle zu implementieren, sodass wir die Punkte 5+6 selbst lösen können.
Die Punkte 1-3 hat Blue ebenfalls erkannt und bereits eine Lösung anvisiert. Hier auch nochmal Danke an Mathew – wir haben deine Idee der Tiles anstatt der Mesh-Daten bei kleinem Zoom weitergegeben. Es ist bereits eine ähnliche Idee bei Blue vorhanden, aber er hat es mitgenommen
Der Punkt 4 steht in der Ideen-Liste relativ weit unten. Da dieses Feature viele Probleme von Sichtwinkeln etc., beheben würde, möchte wir uns hier ebenfalls einbringen und den Code entsprechend erweitern.
An der Stelle: Wer sich in Java-Programmierung auskennt und sich beteiligen möchte -> Die BlueMap ist ein Git und kann jederzeit geforked werden. Falls ihr Interesse / Fragen habt, sprecht uns gerne an.
Da uns durchaus bewusst ist, dass viele der Punkte – auch wenn sie bereits auf einer To-Do-Liste stehen – wahrscheinlich nicht schnell bearbeitet werden, haben wir uns für einen Kompromiss entschieden:
Langfristig würden wir gern die BlueMap als Hauptmap nutzen. Solange allerdings die oben genannten Punkte nicht größtenteils erledigt sind, werden wir beide Maps laufen lassen. Dies ist möglich, da die Bluemap nicht auf dem Minecraft-Core berechnet wird.
Um trotzdem die Performance zu Stoßzeiten zu verbessern wurden einige Einstellungen der Livemap geändert: Die Map wird nun nicht mehr eventbasiert Rendern, sondern nur noch nach dem Server Reboot ab 5 Uhr. Das bedeutet: Die Dynmap zeigt die Änderungen erst am nächsten Tag, Grundstücke sind sofort sichtbar. Detailiertere Einstellungen sind mit der Livemap leider nicht möglich.
Die Hauptmap (Dynmap) werdet ihr wieder wie gewohnt unter http://map.blockminers.de finden.
Die neue Map (Bluemap) findet ihr unter http://bluemap.blockminers.de
Aktuelle Änderungen an euren Bauwerken findet ihr auf der BlueMap.
Ich denke, mit dieser Lösung, haben wir einen guten Kompromiss gefunden und alle Spieler können sich damit anfreunden.
Viele Grüße
Cola, Kali, Razen
P.S. Die Änderungen werden am 24.05. umgesetzt.
wir haben die Testphase der Bluemap nun 3 Wochen laufen lassen und haben einiges an Feedback erhalten. Vielen Dank an der Stelle.
Ich möchte nochmal erklären, warum wir die Testphase auf dem Liveserver durchführen mussten:
Die Dynmap ist eines der ältesten und unflexibelsten Plugins auf unserem Server. Die Dynmap verbraucht bei 20-30 Spielern in etwa 10-15% der Serverleistung. Das Plugin nutzt den Paperthread um die jeweiligen Tiles (Bilder) neu zu generieren. Java ist grundsätzlich nicht Multi-Core fähig. Das bedeutet, der Paperserver läuft auf Core 1 (0 ist der erste Core für Betriebssystem und Webserver) sowieso annähernd an der 100% Grenze.
Die Generierung läuft bei der Dynmap leider eventbasiert, sodass jedes Blockupdate (Abbau von Blöcken, Wachsen von Feldern, Lichtupdates, etc) zu einem Rerendern des jeweiligen Chunks führt. Aktuell laufen wir bei 32 Online-Spielern häufig in den 18-19 TPS Bereich. Das ist für uns nicht zufriedenstellend. Wir haben in den letzten Wochen bereits einige Anpassungen an den Spawn-Regeln von Monstern und Tieren vorgenommen. Dies hat zwar zu einer signifikanten Verbesserung geführt, allerdings bleiben die TPS Drops bei >= 30 Spielern. Gerade für die Dynmap gilt: Umso mehr Spieler, umso mehr Updates, umso mehr Rendern.
Die Bluemap arbeitet hier komplett anders: Das Update der Daten erfolgt erst, wenn der jeweilige Chunk gespeichert wird. Dieser wird dann auf Grund seines Timestamps von einem extra MC-Client auf dem Core 3-7 berechnet. Somit verbraucht die Bluemap zwar insgesamt mehr Performance, kostet aber den Core 2 – wo der Paperthread läuft – keinerlei Performance.
Der Liveserver hat auf Grund seiner Hardware wesentlich mehr Performance was die CPU- sowie Übertragungsgeschwindigkeit angeht – auf dem Testserver sind hier nur etwa 20% der Leistung vorhanden. Wir hatten die Map natürlich vorher auf dem Testserver installiert, angepasst und bereits einer kleinen Gruppe von etwa 10-15 Spielern gezeigt. Das Feedback war hier durchweg positiv, sodass wir uns entschlossen haben, die Testphase auf den Liveserver auszuweiten.
Wir wussten, dass die Bluemap noch nicht die Dynmap in allen Punkten ersetzen kann. Wir brauchen aber verlässliche Werte und Vergleichswerte, sowie Feedback von allen Spielern.
Auf Grund eures Feedbacks und unseren Beobachtungen ist folgende Liste der größten Baustellen entstanden:
1. Performance Server (Übertragungsgeschwindigkeit zum Client)
2. Performance Client (Rendergeschwindigkeit, GPU Auslastung)
3. Überblick (Um einen groben Überblick zu erhalten, muss die gesamte Map geladen werden)
4. Free-Flight Kamera (Nicht Serverseitig einstellbar, sodass es möglich wäre, Geheimnisse zu entdecken)
5. Spieler verstecken (Gerade bei Events)
6. Grundstücke vom Rendern ausschließen nicht möglich (Schnitzeljagden)
Das Plugin Bluemap ist noch recht neu in der MC-Scene aber faktisch die einzige Alternative zur Dynmap. Wir haben uns daher letzte Woche als Blockminers-Team mit dem Bluemap-Entwickler (Nickname: Blue) ausgetauscht. Das Gespräch war durchweg positiv und viele unserer Punkte stehen bereits auf der To-Do Liste. Wer Interesse hat, kann sich gerne den GitHub ansehen und eigene Ideen einbringen:
https://github.com/BlueMap-Minecraft/BlueMap
Ideenliste:
https://github.com/BlueMap-Minecraft/BlueMap/projects/1
Blue hat bereits angekündigt für uns eine API Schnittstelle zu implementieren, sodass wir die Punkte 5+6 selbst lösen können.
Die Punkte 1-3 hat Blue ebenfalls erkannt und bereits eine Lösung anvisiert. Hier auch nochmal Danke an Mathew – wir haben deine Idee der Tiles anstatt der Mesh-Daten bei kleinem Zoom weitergegeben. Es ist bereits eine ähnliche Idee bei Blue vorhanden, aber er hat es mitgenommen
Der Punkt 4 steht in der Ideen-Liste relativ weit unten. Da dieses Feature viele Probleme von Sichtwinkeln etc., beheben würde, möchte wir uns hier ebenfalls einbringen und den Code entsprechend erweitern.
An der Stelle: Wer sich in Java-Programmierung auskennt und sich beteiligen möchte -> Die BlueMap ist ein Git und kann jederzeit geforked werden. Falls ihr Interesse / Fragen habt, sprecht uns gerne an.
Da uns durchaus bewusst ist, dass viele der Punkte – auch wenn sie bereits auf einer To-Do-Liste stehen – wahrscheinlich nicht schnell bearbeitet werden, haben wir uns für einen Kompromiss entschieden:
Langfristig würden wir gern die BlueMap als Hauptmap nutzen. Solange allerdings die oben genannten Punkte nicht größtenteils erledigt sind, werden wir beide Maps laufen lassen. Dies ist möglich, da die Bluemap nicht auf dem Minecraft-Core berechnet wird.
Um trotzdem die Performance zu Stoßzeiten zu verbessern wurden einige Einstellungen der Livemap geändert: Die Map wird nun nicht mehr eventbasiert Rendern, sondern nur noch nach dem Server Reboot ab 5 Uhr. Das bedeutet: Die Dynmap zeigt die Änderungen erst am nächsten Tag, Grundstücke sind sofort sichtbar. Detailiertere Einstellungen sind mit der Livemap leider nicht möglich.
Die Hauptmap (Dynmap) werdet ihr wieder wie gewohnt unter http://map.blockminers.de finden.
Die neue Map (Bluemap) findet ihr unter http://bluemap.blockminers.de
Aktuelle Änderungen an euren Bauwerken findet ihr auf der BlueMap.
Ich denke, mit dieser Lösung, haben wir einen guten Kompromiss gefunden und alle Spieler können sich damit anfreunden.
Viele Grüße
Cola, Kali, Razen
P.S. Die Änderungen werden am 24.05. umgesetzt.