Persistenz/Persistence (Eugen Harton)

  • Moin,

    kurz vor dem Release hat sich Eugen Harton auf Reddit heute morgen mal zum Thema Persitenz geäußert.

    Wir haben den Beitrag mal für Euch übersetzt. Wir sind immer noch alles gespannt, was uns morgen erwartet...


    "Hallo Leute,

    ich habe dieses Thema erstellt um zu erklären, was genau Persistenz macht und warum. Wir speichern den Stand der Karte und schreiben diesen in eine binäre Datei in der Grund Server Struktur. Es repräsentiert den aktuelles Stand der Karte, der in regelmäßigen Abständen gespeichert wird, als auch bei korrektem Herunterfahren eines Servers.

    Bis zum heutigen Tag konnten wir keinen neuen Weg reproduzieren, durch den die Objekte in der Welt entfernt werden. Elemente werden entweder zur Laufzeit des Servers entfernt, wenn sich kein Spieler in der Nähe befindet (wir prüfen die Entfernung und den Sichtkegel), oder durch die Dauer der Persistenz.

    Elemente werden außerdem bei Ablauf ihrer Lebenszeit entfernt. Alle mit dem Basebuilding verbundenen Elemente (Fässer, Zelte usw.) haben z.B. eine Lebensdauer von 45 Tagen (in Echtzeit). Die Lebensdauer wird aktualisiert, wenn mit dem Element interagiert wird. Dies ist ein Sicherheitsnetz für die Serverleistung, um sicherzustellen, dass Dinge, die das System stören, zu einem bestimmten Zeitpunkt entfernt werden, wenn sie nicht verwendet werden.

    Elemente werden auch entfernt, wenn sie zerstört (ruined) werden, wenn die oben genannten Bedingungen zutreffen.

    Wenn ein Gegenstand beschädigt wird, wird er nicht geladen und verschwindet somit. Dies kann durch Schließen des Servers durch Beenden des Prozesses oder Absturz geschehen. Gerade jetzt, da wir es immer noch nicht reproduzieren können, und der Person, die zumindest das von ihnen gesendete Ticket gemacht hat (danke u/DAYZMISFITS). Es scheint so zu sein, dass die Leute (oder die Hoster) den Server nicht korrekt beenden, sondern nur den Prozess beenden. Im Moment kann man das Problem wahrscheinlich in 1 von 25 Fällen durch inkorrektes Beenden replizieren.

    Daher möchte ich alle, die eigene Server hosten oder Probleme mit der Persistenz haben, fragen, ob es bei Euch zufällig daran liegen könnte.


    In Liebe Eugen <3"




    Quelle: https://www.reddit.com/r/dayz/…gvkn/persistence_how_why/

  • So ein Horst, sorry


    Wir bauen erst mal fleißg mit der 1.0 und hoffen das nix verschwindet.


    Aktuell haben wir jetzt sehr lange keine Berichte mehr von verschwundenen Sachen auf Server 1 oder 2.


    Auch die Crashs sind sehr viel weniger gewurden. Wir müssen einfach mal schaun, wie Crash-anfällig die Version 1.0 ist.


    Die Despawnten Basen sind auf usneren Server nur in Verbindung mit den Crashs passiert. Wir kennen Berichte von anderen Servern das auch Zeug ohne Crash verschwunden ist. Bei uns waren die Sachen aber immer nur nach den Crash weg.


    Wir werden sehen was wird. Scheinbar bekommen die es ja einfach nicht auf die Reihe. Ach nein wartet, es liegt ja alles nur an uns, genau ^^

  • Ist doch gut, dass er endlich klargestellt hat wie es zu den ganzen Wipes kommt. Es gibt 2 Möglichkeiten:


    1) Servercrashes (daran wird mit Hochdruck gearbeitet)

    2) Falsch durchgeführte Serverrestarts, bei denen die Prozesse einfach per Script o.ä. gekillt werden


    Letzteres könnte, wie auch im reddit Thread erwähnt, durch zusätzliche Änderungen an der Backup-Pipeline abgesichert werden, aber das scheint ne Baustelle für nächstes Jahr zu sein. Wenn sie also die Servercrashes in den Griff kriegen, sollte die Persistenz einwandfrei funktionieren.

  • Das wissen wir bereits seit 4 Wochen.


    Von den Basen-Despawns bei denen wir als Spieler direkt betroffen waren und oft auch live dabei, kam der Despawnbug von Crahs und nicht von Restarts.

    das Problem wahrscheinlich in 1 von 25 Fällen

    Und das hier klingt nicht nach einer hohen Wahrscheinlichkeit oder einer Handfesten Aussage.


    Abgesehen davon, wissen die selber nicht wie man Server "korrekt" Neustartet. Geben sie ja offen zu. Und Früher war das auch nie ein Problem.


    Die finden den Fehler eben einfach nicht, das ist das Problem. Und das ist für eine 1.0 (wo sich alle auf feste Basen freuen) einfach zu wenig.


    Ein Backup bzw ein Roleback nach Basen-Despawn ist auch Käse. Das geht auf Servern mit 10 Leuten. Aber hier bei uns, müsste das direkt mit einem Crash auch ein Roleback geben. Das muss manuell passieren. Es müsste also ein Admin jederzeit bereit stehen ein Roleback zu machen und das immer sofort nach einem Crash. Schon 30 Minuten später wäre es für alle anderen Spieler eine Benachteiligung (es verschwindet ja por Crash auch nicht von allen was sondern immer nur von vereinzelten Leuten, wenn überhaupt was weg kommt).


    Aber du hast recht, weniger Crashs heißt weniger Despawns. Daher werden wir ausgibig testen und dann sehen.


    Die haben schon den Beta-Hipe gekillt mit vielen schlechten Fixes und der Tatsache das man viel zu schnell in einer Base ist.


    Nun hoffe ich, das sie wenigstens mit der 1.0 nicht die selben Fehler wieder machen. Das die Version zu früh kommt muss aber jedem klar sein.

  • Also rucksacke verschwinden musste ich feststellen laut wiki haben die presitence 7 tage aber habe meine rücksacke auf anderen servern verloren hatte die aufen boden abgelegt vergrabene rucksacke sind länger da


    das stimmt einfach nicht. Rucksäcke despawnen nach spätestens 4 stunden. Wiki ist unaktuell.


    Vergraben halten sie wahrscheinlich so lange wie Fässer. Mein vergrabenes Zeug war vor dem Despanwbug 10 Tage da ohne das ich sie angerührt habe.


    Ohne Bug gehe ich ebenfalls von 45 Tagen aus.

  • das stimmt einfach nicht. Rucksäcke despawnen nach spätestens 4 stunden. Wiki ist unaktuell.


    Vergraben halten sie wahrscheinlich so lange wie Fässer. Mein vergrabenes Zeug war vor dem Despanwbug 10 Tage da ohne das ich sie angerührt habe.


    Ohne Bug gehe ich ebenfalls von 45 Tagen aus.

    Dachte ich mir das Wiki unaktuell ist aber 4 std das schon hart ;( Danke für die infos hoffe das bleibt auch mit version 1.0 und höher so

  • Servus


    Spiele seid November auf Server 2

    Fässer, Rucksäcke und kleine Zelte despawnen bei mir wöchentlich einmal komplett, alle zur gleichen zeit mit allen Gegenständen. Nur das was ich direkt nach beta releas gebaut und vor dem 1 update fertig hatte steht immer noch wie am ersten Tag in dem Fall sind das 1 Cartent 2 Fässer + Tower und ca. 20 walls.


    Soweit meine Erfahrung und vielen DANK:thumbup: für die Übersetzung.

  • schon seltsam.


    Bei mir war alles weg was seit dem ersten Beta Tag stand.


    Ist das bei dir einfach so weg gewesen wenn dauernd was bei dir weg ist oder hast du gemerkt das es direkt nach einem Crash weg war? So wars bei uns.

  • also bei mir auf dem Server, seit dem letzten Fix wo sie die Crashes "behoben" haben, verschwinden in gewissen Abständen immer noch Sachen. Jedoch ohne Crashes zuvor.


    Durch diesen Text von ihm würde mich nun aber mal wirklich interessieren, was die unter Server ordentlich beenden so verstehen

    Man kann zugleich Optimist und Skeptiker sein, darf aber nicht als Pessimist resignieren und kapitulieren (Manès Sperber 1905 - 1984)

  • Es gibt ja in der "types.xml" die Definition von Lifetime zB:


    Aber gilt die Lifetime generell? Es gibt ja unterschiedliche Situationen:

    - Item liegt am Spawnpunkt

    - Item befindet sich im Inventar von einem (ggf. offline) Character

    - Item befindet sich im Inventar von einem Container (Zelt / Tonne / Auto)

    - Item befindet sich abgelegt irgendwo in der Welt

    - Item befindet sich vergraben im Inventar eines Rucksacks


    Hier kann man wohl davon ausgehen, das das Lifetime nicht generell gelten kann, sondern überschrieben wird von dem Lifetime des Containers, wenn es denn in einem liegt. Die Container haben aber auch nur ihr eigenes Lifetime, welches man konfigurieren kann. Und das bezieht sich wohl eher nicht auf die Inhalte des Inventars des Containers. Wo also findet man den Wert für die Lifetimes der Items in einem Inventar?


    Oder ist die Lifetime eines Zeltes (hier beim Beispiel Cartent = 3888000 = 45 Tage) doch auch gleichzeitig die Lifetime der Items in dessen Inventar?

  • ich habe bei mir auch die Lifetime der fireplaces erhöht.

    Ein Lagerfeuer besteht nun 30 Tage ohne Interaktion, ein kaminfeuer 45 Tage.


    Eine Gaslampe überlebt bei mir nun auch 14 Tage, so muss ich diese im Zelt oder im Haus nicht ständig einpacken.

    Wenn ich in der Nacht den Server verlasse schalte ich nur das Licht aus und gut ist...


    Einzig beim voll ausgebauten Lagerfeuer zum Ofen besteht weiterhin der Fehler, dass nach dem Restart nur noch das Lagerfeuer da ist.

    Die 8 Steine sind aber noch im Inventar des Lagerfeuers, sodass man es gleich wieder zum Ofen aufbauen kann...

    Ich möchte mich für vermutlich unnötige Fragen im Forum, die man sich evtl durch testen usw selber beantworten könnte entschuldigen.

    Leider bin ich beruflich bedingt immer mal für 12 ganze Tage am Stück nicht zuhause!

    Ich arbeite deutschlandweit im Schichtdienst und das gut und gerne auch mal bis zu 16 Stunden.

    Mir steht nicht die Möglichkeit zur Verfügung einen Patch, eine Mod oder etwas anderes auf die schnelle zu testen.

  • Wenn du n gut besuchten Server betreibst, könnten die Fireplaces ganz schön was an Serverperformance fordern

  • so ist es. Undenkbar bei 60 oder 90 vollen server wenn das fleisch wieder gebraten werden muss.


    Ist ehrlich gesagt auch quatsch. Das gehört zu den einfachsten sachen von der herstellung her. Einzelspieler ok aber im mp total überflüssig.

  • mein Server bietet nur Platz für 10 Leute.

    Ist nur ein kleiner Freundeskreis, wo jeder für sich spielt.

    Ich möchte mich für vermutlich unnötige Fragen im Forum, die man sich evtl durch testen usw selber beantworten könnte entschuldigen.

    Leider bin ich beruflich bedingt immer mal für 12 ganze Tage am Stück nicht zuhause!

    Ich arbeite deutschlandweit im Schichtdienst und das gut und gerne auch mal bis zu 16 Stunden.

    Mir steht nicht die Möglichkeit zur Verfügung einen Patch, eine Mod oder etwas anderes auf die schnelle zu testen.

  • mein Server bietet nur Platz für 10 Leute.

    Ist nur ein kleiner Freundeskreis, wo jeder für sich spielt.

    Ja da könnt ihr machen was ihr wollt :D.... gibt sogar Leute die Server betreiben wo jeder Freshspawn mit nem fahrbereiten Auto spawned... und die wundern sich warum der Server RIP geht...