City Das City Lager Problem

cryy_

Owner
Owner
13 November 2014
946
3
2.523
121
31
Köln
www.craftstuebchen.de
Account bestätigt
Ja
Moin,
da sich ein bisschen mehr transparenz und Mitspracherecht bei Serververänderungen gewünscht wurde, kläre ich mal auf woran wir zurzeit auf City arbeiten und warum es diese Veränderungen braucht.

Es geht um riesige Tricher/Kisten-Systeme, die an der Serverleistung zerren. Manche Spieler haben teils gigantische Systeme gebaut, die mehr als 20000 Trichter umfassen.
Vorab, wir haben nicht vor euch die Trichter weg zu nehmen. Wir wollen nur die Anzahl etwas reduzieren.


Warum ist das ein Problem ?
Nunja.. Trichter sind nicht wie jeder andere Block, sie gehören zu den sog. Tile-Entities. Diese "Blöcke" werden jeden Server-Tick(20x die Sekunde!!!) einmal gecheckt, wenn sie geladen sind(also jemand in der Nähe ist). Dabei wird überprüft ob der Trichter tun kann was ein Trichter eben so tut^^
Problem an der Sache ist die schiere Masse, die mittlerweile verbaut wurde.

Was also tun ?
Wir wollen zum einen weniger Trichter und Kisten und zum anderen nicht die coolen Systeme zerstören, die man damit basteln kann. Ein Trichterlimit würde ich auch ungern einführen.

Plugin
Einen Ansatz hat @winofi in den letzten Wochen programmiert. Eine (unendliche) Lagerkiste die ein bestimmten Item-Typ, der auf einer Region gedroppt wird, automatisch aufsammelt.
Dadurch würde man sich schonmal riesige Kisten/Trichter Stacks und Platz bei den Lagersystemen sparen UND sie funktionieren zusammen mit Trichtern!
Diese Kisten kann man von überall auf seiner Region öffnen. Entweder per Command oder mit einem bestimmten Schild.
Hierbei gab es Überlegungen ob man diese mit den alten Trichtern (sozusagen als Upgrade Kosten) Verbessern kann, damit diese mehr Items halten können. Eine nicht geupgradete Kiste hätte dann als Beispiel 1000 Slots und kann mit Trichtern immer um n Slots erweitern.
Vielleicht später noch mit Item-Inventar-Übersicht, ist aber erstmal Zukunftsmusik.

Regel
Zusätzlich würde ich gerne eine Art Fair-Use Regel zu solchen Bauten machen. Ich weiß, dass viele gern damit rumspielen, weswegen ich hier keine harte Regel will. Aber man muss es wirklich nicht so übertreiben, dass der Server massig TPS verliert.
Deswegen möchte ich hier mal zur Diskussion anregen wie ihr sowas finden würdet und vor allem wo wir die "Fair-Use" Grenze ziehen?

Liebe Grüße
cryy_
 

Kornx150

Spieler
4 August 2020
50
33
41
Moin,
da sich ein bisschen mehr transparenz und Mitspracherecht bei Serververänderungen gewünscht wurde, kläre ich mal auf woran wir zurzeit auf City arbeiten und warum es diese Veränderungen braucht.

Es geht um riesige Tricher/Kisten-Systeme, die an der Serverleistung zerren. Manche Spieler haben teils gigantische Systeme gebaut, die mehr als 20000 Trichter umfassen.
Vorab, wir haben nicht vor euch die Trichter weg zu nehmen. Wir wollen nur die Anzahl etwas reduzieren.


Warum ist das ein Problem ?
Nunja.. Trichter sind nicht wie jeder andere Block, sie gehören zu den sog. Tile-Entities. Diese "Blöcke" werden jeden Server-Tick(20x die Sekunde!!!) einmal gecheckt, wenn sie geladen sind(also jemand in der Nähe ist). Dabei wird überprüft ob der Trichter tun kann was ein Trichter eben so tut^^
Problem an der Sache ist die schiere Masse, die mittlerweile verbaut wurde.

Was also tun ?
Wir wollen zum einen weniger Trichter und Kisten und zum anderen nicht die coolen Systeme zerstören, die man damit basteln kann. Ein Trichterlimit würde ich auch ungern einführen.

Plugin
Einen Ansatz hat @winofi in den letzten Wochen programmiert. Eine (unendliche) Lagerkiste die ein bestimmten Item-Typ, der auf einer Region gedroppt wird, automatisch aufsammelt.
Dadurch würde man sich schonmal riesige Kisten/Trichter Stacks und Platz bei den Lagersystemen sparen UND sie funktionieren zusammen mit Trichtern!
Diese Kisten kann man von überall auf seiner Region öffnen. Entweder per Command oder mit einem bestimmten Schild.
Hierbei gab es Überlegungen ob man diese mit den alten Trichtern (sozusagen als Upgrade Kosten) Verbessern kann, damit diese mehr Items halten können. Eine nicht geupgradete Kiste hätte dann als Beispiel 1000 Slots und kann mit Trichtern immer um n Slots erweitern.
Vielleicht später noch mit Item-Inventar-Übersicht, ist aber erstmal Zukunftsmusik.

Regel
Zusätzlich würde ich gerne eine Art Fair-Use Regel zu solchen Bauten machen. Ich weiß, dass viele gern damit rumspielen, weswegen ich hier keine harte Regel will. Aber man muss es wirklich nicht so übertreiben, dass der Server massig TPS verliert.
Deswegen möchte ich hier mal zur Diskussion anregen wie ihr sowas finden würdet und vor allem wo wir die "Fair-Use" Grenze ziehen?

Liebe Grüße
cryy_
Vorerst eine Mega Gute Idee, nun ich hätte nur ein Paar Fragen.

- Ab welchen Level bekommt man die und wie?
- Wie viele darf jeder haben?
- Verliert man darin nicht seine Item`s?
- Kosten dafür? ( Votecoins, CS ... )

Liebe Grüße Kornilei
 

BatmanIsReal

~Batman
Spieler
13 Dezember 2014
12
22
16
Niedersachsen
Account bestätigt
Ja
Moin,

ich finde gut, dass du das auch öffentlich ansprichst. Da unser Gemeinschaftslager vom "Team Industrie" recht viele Trichter verbaut hat und wir damit scheinbar auch den Server beeinflussen, wollte ich mich auch einmal melden. Auch wenn ich überschlagen eher auf die Hälfte der angesprochenen Trichter komme, sind wir auch wohl mit dem gigantischen System gemeint. Diese stehen allerdings auch verteilt auf bestimmt 6 Grundstücke bzw. die verbundene Fläche entspricht über 12-15 Grundstücken von Spielern lvl 400+.

Wir sind ein Zusammenschluss von einigen sehr aktiven Spielern (7 Spieler + diverse Zweitaccounts) und wollten entsprechend auch ein großes Lager haben, aus meiner Sicht auch nicht übertrieben groß. Darin sind verschiedene Systeme eingebaut, die Items transportieren, wie ein Brenstofflager, ein Craftsystem um den Crafter Job zu leveln eine Kelpfarm mit Ofenanlage etc. Wir haben im Vorfeld bereits gesagt, dass wir ein vollautomatisches Sortierlager bauen werden und auf ein mögliches Plugin gewartet, welche Items in Kisten sortiert und wir dadurch an massiv Trichter bzw. Eisen sparen könnten. Aber da es keine weiteren Anzeichen gab auch das Lager entsprechend gebaut. Es wurden dabei keine unnötigen Trichter gebaut oder Systeme, die den Server absichtlich belasten.

Ich verstehe, dass wir damit auch dafür verantwortlich gemacht werden, dass wir die Server Laggs verursachen würden, allerdings machen wir da auch nur einen gewissen Teil aus und sind nicht das Problem von allem. Natürlich kann ich die Serverauslastung nicht mit Zahlen verfolgen wie ihr, ich überprüfe nur regelmäßig die Tps vor und nach Aktionen wie Kelp abfarmen etc. Gestern Mittag waren wir durchgehend im Lager aktiv mit den entsprechenden Systemen und hatten stabil 20 Tps. Zum Nachmittag hin sind diese teils bis auf 10 gesunken, weil auch einfach mehr Spieler online waren. Ich denke auch nicht, dass es serverschonender wäre wenn jeder der Spieler von uns eine kleine Kelpfarm gebaut hätte und jeder ein kleineres Lager. Wir haben bereits unsere Lagersilos (hochgestackte Truhen-Trichtertürme) abgebaut und umgebaut, da bei den alten jedes Item manuell nach oben geworfen wurde. Aber für diesen Fall gibt es dann ja bald das angekündigte Plugin der unendlichen Truhen für beispielsweise Erde, wovon wir etwa 120 Doppeltruhen haben.

Ich baue zwar regelmäßig Kleinigkeiten um aber das Lager ist fertig und mehr Trichter werden es nicht. Durch die Änderungen vor einigen Tagen, bei der zukünftig 4 Items in den Trichtern transportiert wurden, sind bereits vorhandene Systeme unbrauchbar geworden. Dazu zählt zum Beispiel ein Entleerer, der volle Shulker mit gecrafteten Treppen automatisch entleert und in unsere Brenstoffzufuhr für unsere Öfen entleert (Teilweise sind dadurch Shulker Boxen auch despawnt).

Welche Grenze die dir unter Fair-Use vorstellst weiß ich nicht, aber wenn dann sollte auch die Höhe des Grunstückslevels berücksichtigt werden bzw. wieviele Spieler und Grundstücke sich so ein System teilen. Damit hilft dir dieser Beitrag nicht für einen Wert und stellt nur eine Rückmeldung bzw. Meinung durch mich dar für eine mögliche Diskussion.

Gruß Batman
 

DoktorNemo

CTO der Confederacy
Spieler
19 Juli 2020
3
43
46
Die Idee mit "unendlichen" Truhen finde ich zwar per se nicht verkehrt, allerdings halte ich ein Lagersystem wie auf Sky für deutlich sinnvoller. Dadurch, dass Spieler sich ihr Lager durch Upgrades erst nach und nach erweitern können, hätte man gleichzeitig für Spieler einen langfristigen Anreiz geschaffen, den ich persönlich aktuell leider so nicht sehe. Des Weiteren gehe ich davon aus, dass die Einführung von unendlichen Kisten das Performanceproblem nicht gänzlich lösen kann, da einige Spieler auch mit unendlichen Kisten vermutlich nicht auf ein Sortiersystem verzichten werden.

gez.
Donovan
 
Zuletzt bearbeitet:

BatmanIsReal

~Batman
Spieler
13 Dezember 2014
12
22
16
Niedersachsen
Account bestätigt
Ja
Die Idee mit "unendlichen" Truhen finde ich zwar per se nicht verkehrt, allerdings halte ich ein Lagersystem wie auf Sky für deutlich sinnvoller. Dadurch, dass Spieler sich ihr Lager durch Upgrades erst nach und nach erweitern können, hätte man gleichzeitig für Spieler einen langfristigen Anreiz geschaffen, den ich persönlich aktuell leider so nicht sehe. Des Weiteren gehe ich davon aus, dass die Einführung von unendlichen Kisten das Performanceproblem nicht gänzlich lösen kann, da einige Spieler auch mit unendlichen Kisten vermutlich nicht auf ein Sortiersystem verzichten werden.

gez.
Donovan
Ich habe das Lagersystem in Sky nicht selber benutzt, weiß nur wie es in etwa funktioniert. Find es an sich auch nicht schlecht, finde allerdings auch zum City Server gehört ein haptisches bzw. auch sichtbares Lager, auch um eine zentrale Anlaufstelle zu haben. Zum anderen würde ich natürlich das Lager gerne behalten, was ich wochenlang geplant habe und mir dazu alle stackbaren Items aufgeschrieben, gelistet und sortiert habe. Auch der Aufbau hat etwas gedauert und massiv Geld bzw. Eisen verbraucht.

Der Anreiz des höheren Job levels stellt ja aktuell nur Grundstückserweiterung dar und eben neue Jobs freizuschalten, ich finde auch, dass da irgendwann der Anreiz etwas fehlt. An den Anreizen wird allerdings auch schon anderweitig mit Quests und möglichen Belohnungen gearbeitet.

Die unendlichen Kisten werden in erster Linie nur die Silo Türme ersetzen. Das würde bei uns im Lager bestimmt 25-30% weniger Trichter bedeuten. Auch die müsste ich dann das zweite mal abreißen. Das würden wir aber natürlich machen, wenn das Plugin die Funktionen erfüllt. Den Sortierer wird es nicht ersetzen können, das ist richtig.
 
  • Like
Reaktionen: Tobs3 und DoktorNemo

winofi

SDev
13 November 2014
430
1.010
121
Account bestätigt
Ja
Die unendlichen Kisten werden in erster Linie nur die Silo Türme ersetzen. Das würde bei uns im Lager bestimmt 25-30% weniger Trichter bedeuten. Auch die müsste ich dann das zweite mal abreißen. Das würden wir aber natürlich machen, wenn das Plugin die Funktionen erfüllt. Den Sortierer wird es nicht ersetzen können, das ist richtig.
Richtig das plugin, wie es aktuell geplant ist, wird in erster Linie die Silos ersetzen. Sortieren kann das Plugin allerdings auch selber so das ein großteil der Sortiermaschinen ebenfalls abgebaut werden kann.

Die Idee mit "unendlichen" Truhen finde ich zwar per se nicht verkehrt, allerdings halte ich ein Lagersystem wie auf Sky für deutlich sinnvoller.
Der Ansatz mit den Truhen erlaubt allerdings das weiterhin automatisierte Anlagen gebaut werden können. So kann z.B. Cobblestone eingelagert werden und bei Bedarf automatisiert in Stone "gebacken" werden, wie gewohnt mit Trichtern und Öfen.
- Ab welchen Level bekommt man die und wie?
- Wie viele darf jeder haben?
- Verliert man darin nicht seine Item`s?
- Kosten dafür? ( Votecoins, CS ... )
Was die Dinger kosten werden wissen wir auch noch nicht. Einerseits sollen sie nicht umsonst sein andererseits wollen wir natürlich das sie genutzt werden. Items verliert man normalerweise nicht :cool: .
 

Aleusius_

Spieler
30 Juli 2018
25
42
46
22
Der Ansatz mit den Truhen erlaubt allerdings das weiterhin automatisierte Anlagen gebaut werden können. So kann z.B. Cobblestone eingelagert werden und bei Bedarf automatisiert in Stone "gebacken" werden, wie gewohnt mit Trichtern und Öfen.

Wie schnell würde das brennen denn gehen und wie sieht es mit den Exp aus die man bekommen würde? Wenn wir unseren Ofen abbauen könnten wären das vermutlich auch noch 10-20% der gesamten Hopper im Lager
 

derSola

Admin
4 Dezember 2015
1.215
4
2.133
131
26
Bayern
www.gidf.de
Account bestätigt
Ja
Wie schnell würde das brennen denn gehen und wie sieht es mit den Exp aus die man bekommen würde? Wenn wir unseren Ofen abbauen könnten wären das vermutlich auch noch 10-20% der gesamten Hopper im Lager
Der Ofen muss schon bleiben. Es geht darum, dass die Superchests mit Trichtern in Öfen geleert werden können.
 

winofi

SDev
13 November 2014
430
1.010
121
Account bestätigt
Ja
Einen Ansatz hat @winofi in den letzten Wochen programmiert. Eine (unendliche) Lagerkiste die ein bestimmten Item-Typ, der auf einer Region gedroppt wird, automatisch aufsammelt.
Dadurch würde man sich schon mal riesige Kisten/Trichter Stacks und Platz bei den Lagersystemen sparen UND sie funktionieren zusammen mit Trichtern!
Diese Kisten kann man von überall auf seiner Region öffnen. Entweder per Befehl oder mit einem bestimmten Schild.
Hierbei gab es Überlegungen ob man diese mit den alten Trichtern (sozusagen als Upgrade Kosten) Verbessern kann, damit diese mehr Items halten können. Eine nicht geupgradete Kiste hätte dann als Beispiel 1000 Slots und kann mit Trichtern immer um n Slots erweitern.
Vielleicht später noch mit Item-Inventar-Übersicht, ist aber erstmal Zukunftsmusik.
Das haben wir umgesetzt und funktioniert soweit. Nun ist die Frage wie soll man diese Kisten bekommen?

Soll man pro Kiste (also pro Item Art die man speichern kann) bezahlen?
Soll die Kisten Größe limitiert sein? Also dass man die dann mit der Zeit upgraden kann?
Was soll man bezahlen? Geld? Material z.B. Hopper (als Anreiz die bestehenden abzubauen)?
Soll alles kostenlos sein?

Ideen?
 

Kornx150

Spieler
4 August 2020
50
33
41
Das haben wir umgesetzt und funktioniert soweit. Nun ist die Frage wie soll man diese Kisten bekommen?

Soll man pro Kiste (also pro Item Art die man speichern kann) bezahlen?
Soll die Kisten Größe limitiert sein? Also dass man die dann mit der Zeit upgraden kann?
Was soll man bezahlen? Geld? Material z.B. Hopper (als Anreiz die bestehenden abzubauen)?
Soll alles kostenlos sein?

Ideen?
Du kannst eine Normale Truhe craften
- Erste Stufe ( Doppelkiste ) draus machen 1000ct
- Zweite Stufe Doppelte Doppelkiste draus machen 10000ct
- Dritte Stufe Unendlich Platz für 100000ct

So was in die Richtung
 
  • Like
Reaktionen: ysl3000 und winofi

cryy_

Owner
Owner
13 November 2014
946
3
2.523
121
31
Köln
www.craftstuebchen.de
Account bestätigt
Ja
Ein weiterer neuer Ansatz von @ysl3000 :
Und zwar wurde die Hopper Mechanik direkt in der Server-Software (als Paper Patch) verändert.

Hierbei ging es hauptsächlich um das checken nach Items und Minecarts, was bei Hoppern die großen Laggs verursacht.
Anstatt dass der Hopper checkt ob ein Entity in der Nähe ist, checkt das Entity jetzt ob ein Hopper in der Nähe ist.


Subject: [PATCH] Fix hopper lag by making entities look for hoppers.

Every tick hoppers try and find an block-inventory to extract from.
If no tile entity is above the hopper (which there often isn't) it will
do a bounding box search for minecart chests and minecart hoppers.
If it can't find an inventory, it will then look for a dropped item,
which is another bounding box search.
This patch eliminates that expensive check by having dropped items and
minecart hoppers/chests look for hoppers instead.
Hoppers are tile entities meaning you can do a simple tile entity lookup
to find the nearest hopper in range.
Pushing out of hoppers causes a bouding box lookup, which this patch
replaces with a tile entity lookup.

This patch may causes a decrease in the performance of dropped items,
which is why it can be disabled in the configuration.

Aktuell ist das noch nicht auf dem Server, wir würden es aber gerne ab dem nächsten Restart mal testen.
Nur als Vorwarnung :p

Gruß cry
 

Kornx150

Spieler
4 August 2020
50
33
41
Du kannst eine Normale Truhe craften
- Erste Stufe ( Doppelkiste ) draus machen 1000ct
- Zweite Stufe Doppelte Doppelkiste draus machen 10000ct
- Dritte Stufe Unendlich Platz für 100000ct

So was in die Richtung
So über die Schönen Weihnachts Tage ist mir noch eine Gute Idee im Kopf entfallen,
Wie wäre es wenn man von Joblevel 1 mit /chest eine Kleine Truhe Öffnen könnte und Pro Job Level bekommt 1 Slot dazu, Pro 100 Bekommt man noch eine Kleine Kiste hinzugefügt so das weniger Truhen Benötiget werden und somit Lags reduzieren kann. Natürlich wäre es Praktisch wenn man oben nach bestimmten Items Suchen könnte und das man Diese Besagte Truhe noch hinstellen könnte und darauf Trichter platzieren könnte.

Also kurz Zusammengefasst
-> Ab Joblevel 1 27 Slots Truhe und Pro Job Level +1 Slots Pro Hundert +27 Slots
-> Überall Erreichbar mit /chest
-> Sortierer und Suchmaschine
-> Platzierbar sodass Trichter darauf könnten.

LG Korn. ( PS /fb middle wäre super!!! )
 

cryy_

Owner
Owner
13 November 2014
946
3
2.523
121
31
Köln
www.craftstuebchen.de
Account bestätigt
Ja
Ein weiterer neuer Ansatz von @ysl3000 :
Und zwar wurde die Hopper Mechanik direkt in der Server-Software (als Paper Patch) verändert.

Hierbei ging es hauptsächlich um das checken nach Items und Minecarts, was bei Hoppern die großen Laggs verursacht.
Anstatt dass der Hopper checkt ob ein Entity in der Nähe ist, checkt das Entity jetzt ob ein Hopper in der Nähe ist.


Subject: [PATCH] Fix hopper lag by making entities look for hoppers.

Every tick hoppers try and find an block-inventory to extract from.
If no tile entity is above the hopper (which there often isn't) it will
do a bounding box search for minecart chests and minecart hoppers.
If it can't find an inventory, it will then look for a dropped item,
which is another bounding box search.
This patch eliminates that expensive check by having dropped items and
minecart hoppers/chests look for hoppers instead.
Hoppers are tile entities meaning you can do a simple tile entity lookup
to find the nearest hopper in range.
Pushing out of hoppers causes a bouding box lookup, which this patch
replaces with a tile entity lookup.

This patch may causes a decrease in the performance of dropped items,
which is why it can be disabled in the configuration.

Aktuell ist das noch nicht auf dem Server, wir würden es aber gerne ab dem nächsten Restart mal testen.
Nur als Vorwarnung :p

Gruß cry
so, haben jetzt sehr viele Varianten der Trichter getest und müssen leider sagen, dass das alles nicht so schön optimiert funktioniert wie wir uns das gedacht haben :/ deshalb kommt jetzt erstmal wieder die unmodifizierte Server Software drauf.
In Zukunft probieren wir noch ein bisschen rum mit den Trichtern, aber es sieht wohl danach aus als müssten wir den Cityserver spalten, in mehrere Server, damit wir 20 TPS hin bekommen. Warum das hilft hat @winofi hier beantwortet.
Ist alles noch ganz am Anfang der Planung, aber Ziel ist es den Server zu spalten, sodass wir für jede Welt einen eigenen Server haben, ohne dass man es wirklich merkt!
Das ganze ist aber ein riesen Unterfangen und kann nicht von jetzt auf gleich passieren. Es müssen viele Plugins umgeschrieben werden, Inventare übertragen uvm. Deshalb würde ich erstmal damit beginnen die Farmwelten(Farm,Nether,End) auf einen Server auszulagern und nach und nach Plugins anpassen.

Grüße cry
 
Zuletzt bearbeitet:

McB_sser

Spieler
16 November 2014
310
476
86
Wenn du Geld ausgeben willst kannst du auch die dir mal anschauen
UltraStorage: Physische Chest mit diversen Funktionen:

ExtraStorage: Virtuelle Chest mit diversen Funktionen:

WildChests: wenn es kostenlos sein soll (Auf Entwicklerseite, bei Spigot kostet es was):

alles natürlich auf ihre art und weise anders, sind aber so meine Favoriten. Alternative wäre noch HopperSorter, oder generell Hopper orientierte Plugins kosten aber auch meistens, wenn die gut sein sollen.

gibt auch noch mehr bei: spigotmc.org