Server Files: ErklÀrung und Bedeutung

  • Thema:



    economy.xml


    Hier geht es erst mal um ein relativ kleinen und einfachen Abschnitt,

    denn hier kann man im Grunde einfach nur vorab einstellen,

    ob z.B. Objekte, Tiere, Fahrzeuge, etc. ĂŒberhaupt gespawnt,

    Bzw. geladen oder gespeichert werden sollen.


    Wir haben zu aller erst einmal wieder unsere altbekannte Originaldatei

    und schauen anschließend die einzelnen Abschnitte an.


    Code
    <economy>
        <dynamic init="1" load="1" respawn="1" save="1"/>
        <animals init="1" load="0" respawn="1" save="0"/>
        <zombies init="1" load="0" respawn="1" save="0"/>
        <vehicles init="1" load="1" respawn="1" save="1"/>
        <randoms init="0" load="0" respawn="1" save="0"/>
        <custom init="0" load="0" respawn="0" save="0"/>
        <building init="1" load="1" respawn="0" save="1"/>
        <player init="1" load="1" respawn="1" save="1"/>
    </economy>


    Wie wir sehen, ist es tatsÀchlich nicht viel und im Grunde auch alles relativ gleich oder Àhnlich.

    Jede Zeile hat einen Bereich, fĂŒr den sie verantwortlich ist und lĂ€sst somit fĂŒr jeden Abschnitt anpassen.


    Es gilt auch ĂŒberall nur der Wert "1" fĂŒr aktiviert oder "0" fĂŒr deaktiviert.


    Fangen wir aber mit den 4 Grundeinstellungen an, die in jeder Zeile gleich sind

    und auch immer dieselbe Funktion besitzen.

    Da ich immer noch kein IT oder Programmierprofi bin, kann ich mehr anhand der Bedeutung erahnen,

    wofĂŒr welche Einstellung gedacht ist und wie es am logischsten zusammen passt.

    Leider lÀsst sich da auch keine direkte ErklÀrung von Bohemia oder sonst wem finden,

    aber das soll uns nicht aufhalten und ggf. kann gern einer eine genaue ErklÀrung nachreichen

    oder ich schaffe es mal zu testen und berichtige ggf. meine aussagen😊.


    init = Initialisieren


    Hiermit wird festgelegt, ob der Server beim Starten mit den vorgegeben oder zugehörigen Dateien und Werten arbeiten soll.

    Einfach erklĂ€rt wĂ€re es an Objekten, wo wir dem Server hiermit z.B. sagen, ob er gleich zum Start die Map mit vorgegeben Werten fĂŒllen,

    oder es im Laufe der Zeit gespawnt werden soll. So wÀre es glaube am einfachsten erklÀrt.


    load = Laden


    Hier wird festgelegt, ob der Server SpeicherstĂ€nde laden soll oder nicht. In Kombination auch gern ein Wipe durchfĂŒhren,

    indem wir alte SpielstĂ€nde von z.B. Fahrzeugen nicht laden lassen, aber dafĂŒr neue speichern. Das hat zur Folge,

    dass die SpielstĂ€nde der alten Fahrzeuge ĂŒberschrieben werden.

    HierfĂŒr sollte aber der Server etwa 10-15 min arbeiten und am besten auch Spieler frei sein.


    respawn = Respawnen


    Mit dieser Einstellung kann festgelegt werden, ob z.B. Objekte respawnen oder nicht. Ist dies also deaktiviert,

    sollte man wohl mit seiner AusrĂŒstung vorsichtig sein 😜. Wenn alle dann alle đŸ€Ł.


    save = Speichern


    Hiermit können wir noch festlegen, ob der Server ĂŒberhaupt SpeicherstĂ€nde anlegen soll.

    Damit können wir also sagen, dass z.B. Spieler mit jedem Server Neustart von vorne anfangen sollen.



    Soweit sollte die Werte oder allgemeinen Einstellungen geklÀrt sein.

    Jetzt haben wir noch die einzelnen Bereiche, fĂŒr die wir die Einstellungen anpassen können.


    dynamic = Dynamische Objekte / Loot


    Hierunter wird also mit den o.g. Einstellungen alles fĂŒr den Normalen Loot bzw. Objekte angepasst.


    animals = Tiere


    Hier kann wie auch beim Loot das ganze fĂŒr Tiere angepasst werden.


    zombies = Infizierte


    Wie auch schon bei den Tieren, können hier die Einstellungen fĂŒr Infizierte / Zombies eingestellt werden.


    vehicles = Fahrzeuge


    Auch hier gelten die gleichen Möglichkeiten, nur eben auf Fahrzeuge bezogen.


    randoms = Events


    Hier nochmal dasselbe fĂŒr die Events.


    custom = Benutzerdefinierte Objekte


    FĂŒr benutzerdefinierte Objekte. Dazu kommen wir aber ggf. spĂ€ter noch.


    building = GebÀude


    Hier fĂŒr GebĂ€ude, wobei sich dies wohl eher auf die TĂŒren bezieht.


    player = Spieler / Charaktere


    Hier gilt dasselbe wie bei allem anderen.



    Wie man hoffentlich sieht, ist es eigentlich recht simpel, wenn man erst mal durch diese ganzen Einstellungen durchgewĂŒhlt hat.

    Obwohl es so wenig aussieht, können diese Einstellungen ganze Server zunichtemachen.

    Einmal in der falschen Zeile an der fachen Position die falsche der Falsche wert und schwupp sind alle Charaktere oder Basen weg.

    Daher ist also immer ein Backup wichtig und geht immer auf Nummer sicher und geht immer nochmal alles durch, bevor ihr etwas speichert.


    Das sollte aber bei diesem Thema ausreichen glaube ich und schlage vor, wir gehen zum nÀchsten,

    denn wie immer kann man mich gern berichtigen oder Änderungen vorschlagen 😊.

  • Thema:



    globals.xml


    Hierbei handelt es sich um globale Einstellungen bezĂŒglich der gesamten Server Ökonomie.

    Es können einfache Einstellungen vorgenommen werden, wie das Verrotten von Lebensmitteln,

    wie viele Zombies es geben soll oder ob Objekte beim Spawnen beschÀdigt sein sollen.


    Fangen wir einfach wieder mit der Datei und der Grundkonfiguration an

    und kÀmpfen uns dann wieder bis zum Ende durch.



    Zu aller erst muss ich sagen, dass ich keine Ahnung habe, wofĂŒr genau das "type="0"" steht 😅.

    Aber tendenziell ist es fĂŒr das, was man mit seinen persönlichen Einstellungen machen möchte

    auch nicht so wichtig, denn hier sind es mehr die "values" auf die es tatsÀchlich ankommt.


    WICHTIG!!! Nicht jede Einstellung hat dieselbe Art von Wert. Sie können in "sec", "m", "%",

    der Anzahl oder wieder einfach nur die Werte "1" fĂŒr aktiviert und "0" fĂŒr deaktiviert angegeben werden.

    Es kommt einfach auf die jeweilige Einstellung an.


    Fangen wir also wieder mit den einzelnen Zeilen an.


    name="AnimalMaxCount" = max. Tierpopulation mit Wert in "Anzahl"


    Bei dieser Einstellung handelt es sich um die maximale Anzahl an Tieren, die auf dem Server gleichzeitig vorhanden sein darf.

    Hierbei sollte man beachten, dass dieser Wert sich nicht auf jedes einzelne, sondern alle Tiere gleichzeitig beruht.

    Mit jedem neu hin zu gefĂŒgten Tier wird dieser Wert eben auch mit diesen geteilt, wodurch die Anzahl der anderen Tiere weniger,

    und eben die der neuen einberechnet wird.


    "CleanupAvoidance" = Despawn Verbot von Objekten um den Spieler in "m"


    Hier kann ein Radius um einen Spieler in Metern angegeben werden, der verhindert, dass Objekte innerhalb dieses Radius verschwinden.

    WÀre dieser Wert auf "0" gesetzt, könnte es durchaus vorkommen, dass mal eben beim Looten das Objekt der Begierde

    vor dem Spieler einfach verschwindet als wĂŒrde Thanos mit dem Finger schnippen 😅.

    Wichtig ist hier zu beachten, dass es ein Radius ist, stellt man den Wert also auf "500" betrÀgt der Bereich also "1000" Meter,

    da "500" um den Spieler in jede Richtung gerechnet wird.


    "CleanupLifetimeDeadAnimal" = Verweildauer von toten Tieren in "s"


    Hierbei kann in Sekunden festgelegt werden, wie lange ein getötetes Tier liegen bleibt, bis es despawnt.

    Maximal wÀre hier zu beachten, ob die in der Types.xml hinterlegte Lebensdauer greift,

    wenn der hier eingetragene Wert diese ĂŒbersteigt. Tiere, die von Spielern bewegt werden mĂŒssten in der Theorie

    von diesem Wert abweichen und sollten auf den in der Types.xml hinterlegten Wert zurĂŒckgreifen.


    "CleanupLifetimeDeadInfected" = Verweildauer von getöteten Infizierten in "s"


    Wie bei den Tieren kann hier in Sekunden festgelegt werden, wie lange Leichen von Infizierten liegen bleiben, bis es despawnt.

    Maximal wÀre auch hier zu beachten, ob die in der Types.xml hinterlegte Lebensdauer greift,

    wenn der hier eingetragene Wert diese ĂŒbersteigt. Auch hier sollte in der Theorie der Wert der Types.xml genutzt werden,

    sobald ein Spieler mit einer Leiche bzw. ihrem Inventar interagiert hat.


    "CleanupLifetimeDeadPlayer" = Verweildauer von Spielerleichen in "s"


    Hier wird die Zeit in Sekunden festgelegt, wie lange die Leiche eines Spielers liegen bleibt, bevor diese verschwindet.

    Leider scheint dies aber aus irgendeinem Grund nicht so ganz zu funktionieren. Bei meinen ersten geh versuchen mit dieser Einstellung,

    Wurde der Wert immer wieder auf den Standardwert zurĂŒckgesetzt bzw. gar nicht erst gegriffen.


    Aber vlt. hat sich dies ja mittlerweile geĂ€ndert đŸ€”.


    "CleanupLifetimeDefault" = Verweildauer von allgemeinen Objekten in "s"


    Damit wird, wie auch bei den Vorherigen, die Lebensdauer in Sekunden angegeben, wie lange diese in der Welt verweilen dĂŒrfen.

    Wie auch bei den Kleintieren und den Infizierten sollte der in der Types.xml hinterlegte Wert

    nach der Interaktion mit einem Objekt gelten. Dieser Wert entspricht also nur Objekten, die von Spielern z.B. nicht in die Hand genommen wurden.


    "CleanupLifetimeLimit" = Anzahl an gleichzeitig zu löschenden Objekten


    Mit diesem Wert lÀsst sich die Anzahl an Objekten festlegen, die zur gleichen Zeit despawnen können.


    "CleanupLifetimeRuined" = Verweildauer von Ruinierten / Verrotteten Objekten in "s"


    Hier wird in Sekunden festgelegt, wie lange z.B. ein verrotteter Apfel liegen bleibt, bevor er verschwindet.

    Zu berĂŒcksichtigen ist natĂŒrlich, dass ein verrotteter Apfel, mit dem niemand interagiert hat,

    wieder auf den Wert von "CleanupLifetimeDefault" zurĂŒckgreift.


    "FlagRefreshFrequency" = Fahnenmast Auffrischungsrate in "s"


    Mit diesem Wert wird in Sekunden festgelegt, wie lange es dauert, bis die Lebensdauer von Objekten im Radius des Fahnenmastes wieder zurĂŒckgesetzt werden.


    "FlagRefreshMaxDuration" = Fahnenmast Lebensdauer in "s"


    Hiermit wird in Sekunden festgelegt, wie lange es dauert, bis der Fahnenmast seine Wirkung verliert

    und die Objekte im Radius wieder auf ihre ursprĂŒngliche Lebensdauer zurĂŒckgreifen.


    "FoodDecay" = Einstellung fĂŒr Verderben von Lebensmitteln


    Damit lÀsst sich verhindern, dass Lebensmittel in der Spielwelt verderben können.


    Auf "1" gesetzt können sie mit der Zeit verderben und auf "0" wiederum nicht.


    Wichtig hierfĂŒr ist die Einstellung "WorldWetTempUpdate", denn diese muss aktiviert sein,

    wenn man Lebensmittel verderben lassen möchte.


    "IdleModeCountdown" = Timer in "s" fĂŒr Server Ruhemodus


    Dies ist ein Countdown, der in Sekunden angegeben wird und nach Ablauf dieses Timers, den Server in einen Ruhemodus versetzt,

    sobald er merkt das keinerlei Spieler mehr auf dem Server sind.


    "IdleModeStartup" = Einstellung fĂŒr Server Ruhemodus


    Damit lÀsst sich mit "1" (Aktiviert) oder "0" (Deaktiviert) die Ruhefunktion des Servers ein oder ausschalten und

    ist auch erst mit dem nÀchsten Serverneustart eingestellt.


    "InitialSpawn" = Rate des ersten Lootspawns in "%"


    Hier wird mit einem prozentualen Wert die erste Loot Verteilung angegeben.

    Dies sorgt ggf. das beim in Betrieb nehmen des Servers,


    nicht gleich alles auf einmal, sondern erst im Laufe der Zeit nach spawnt

    und Spieler nicht beim ersten Betreten von Objekten erschlagen werden.


    "LootDamageMax" = max. Schadensrate von gespawnten Objekten in "%"

    "LootDamageMin" = min. Schadensrate von gespawnten Objekten in "%"


    Bei diesen beiden Werten handelt es sich um den minimalen und maximalen Schaden, den Objekte beim Spawnen haben können.

    Es handelt sich hierbei wieder um einen prozentualen Wert, zwischen dem sich anschließend Objekte per Zufall bewegen.

    Wenn min. auf "0.0" und max- auf "1.0" (1.0 = 100 %) gestellt, können Objekte von ruiniert bis makellos Spawnen.

    Wenn beides auf "1.0" gestellt, spawnen alle Objekte in einem makellosen Zustand.


    "LootProxyPlacement" = Einstellung fĂŒr Loot in Containern


    Hiermit lĂ€sst sich ganz einfach einstellen, ob Container (darunter ZĂ€hlen hierfĂŒr auch KleidungsstĂŒcke) Loot enthalten können.

    Mit dem Wert "1" kann Loot enthalten sein, mit "0" ist kein Loot mehr enthalten.


    "LootSpawnAvoidance" = Spawn Verbot von Objekten, um den Spieler in "m"


    Wie schon beim Despawnen, ist es eigentlich dasselbe, nur umgekehrt. In Metern wird somit angegeben,

    in welchem Radius um den Spieler kein Loot Spawnen darf.

    Auch hier gilt wieder der Thanos Finger Schnipper, nur dass Objekte in dem Falle nicht verschwinden, sondern vor dem Spieler

    aufploppen wĂŒrden, wenn der Wert "0" betragen wĂŒrde. Und das mit dem Radius muss ich glaube nicht nochmal erklĂ€ren 😅.


    "RespawnAttempt" = Respawnversuche von einzelnen Objekten


    Hier wird als Wert die Anzahl festgelegt, wie oft der Server versuchen soll ein Item zu Respawnen. Aufgrund der einzelnen Einstellungen,

    kommt es nun mal vor das z.B. ein Spieler in der NĂ€he ist oder sich in eine Ortschaft verirrt und somit kein Item Spawnen kann, da dieser das ganze Blockiert.

    Der Server versucht dies dann einfach noch einmal zu Spawnen, da es ja sein kann, dass der Spieler weiter gezogen ist.

    So in etwa kann man sich dies am leichteste Vorstellen glaube ich. Der Server versucht und ĂŒberprĂŒft einfach den gewĂ€hlten Punkt und wenn nach der Anzahl,

    der festgelegten Versuche das Item nicht Spawnen kann, sucht er sich eben einen neuen.


    "RespawnLimit" = Anzahl gleichzeitiger Spwans von Objekten des gleichen Typs


    Bei dieser Einstellung wird mit einem Wert die Anzahl festgelegt, wie viele Objekte vom selben Typ Spawnen dĂŒrfen.

    Ich bin mir unsicher, ob es sich hierbei um den Typ im Sinne von z.B. Kleidung oder um die explizite Bezeichnung eines Objektes wie z.B. einem grauen Hoodie handelt.

    WĂŒrde aber eher auf ersteres tippen, damit ggf. ein Ort nicht von Kleidung ĂŒberflutet wird.


    "RespawnTypes" = Anzahl gleichzeitiger Spwans von Objekten Arten


    Hier wird nochmal mit einem Wert die Anzahl an Objektarten festgelegt, die gleichzeitig spawnen können.

    Im Prinzip also wie die vorherige Einstellung, und insgesamt hat es wohl alles eher mit der Performance und dem Balancing zu tun.


    "RestartSpawn" = Rate des Lootspawns nach jedem Neustart in "%"


    Hier kann mit einem Wert festgelegt werden, zu wie viel Prozent sÀmtlicher Loot nach jedem Neustart wieder auf nominal bzw. auf maximal gesetzt wird.

    Also wird einfach nach jedem Neustart alles an Loot auf sein festgelegtes Maximum gespawnt, wenn der Wert z.B. "100" betragen wĂŒrde.


    "SpawnInitial" = Anzahl an Test Spwans von Objekten


    Hierbei wird wieder mit einem Wert die Anzahl festgelegt, wie oft der Server einen Spawn Test fĂŒr Objekte erlaubt sind.

    Es ist quasi wie mit Verbindungsversuchen fĂŒr das Internet, denn auch da macht man zwar seinen Browser an, aber die ganze Technik dahinter ist etwas komplizierter

    als nur eine Taste zu drĂŒcken. Und genau dasselbe passiert eben auch mit dem Server, er testet die Spawns von Objekten eben bis zu z.B. 1200-mal,

    bevor er ein Objekt am Ende tatsÀchlich spawnt.


    "TimeHopping" = Wartezeit fĂŒr Serverbeitritt bei Server Hopping in "s"


    Damit wird einfach nur in Sekunden festgelegt, wie lange man beim Server Hopping warten muss, bis man dem neuen Server beitreten darf.


    "TimeLogin" = Wartezeit fĂŒr Serverbeitritt in "s"


    Hier wird die Wartezeit in Sekunden festgelegt, wie lange ein Spieler warten muss, bis er dem Server beitritt.

    Und ja, wir kennen alle den Countdown, der nach den ersten Ladebildschirmen auftaucht, denn genau diese Zeit wird hier angegeben 😜.


    "TimeLogout" = Wartezeit fĂŒr den Logout in "s"


    Und auch hier wird wieder in Sekunden angegeben, wie lange wir warten mĂŒssen, bis wir endgĂŒltig ausgeloggt sind.

    Hier sollte nur beachtet werden, dass wÀhrend dieses Countdowns unser Charakter die ganze Zeit die bekannte Sitzposition einnimmt

    und wehrlos in der Welt sitzt, wĂ€hrend wir warten 😅.


    "TimePenalty" = Strafzeit fĂŒr Spieler, die noch in einer Sitzung sind in "s"


    Dies ist eine zusĂ€tzliche Zeit (natĂŒrlich wieder mit einem Wert in Sekunden), die wir z.B. warten mĂŒssen, wenn wir uns einfach Disconnecten oder Ausloggen

    aber die Zeit nicht abwarten und einfach einem anderen Server beitreten oder wieder neu Connecten.


    "WorldWetTempUpdate" = Einstellung fĂŒr Temperatur und Feuchtigkeit bei Objekten


    Hier kann zum Aktivieren mit dem Wert "1" und Deaktivieren mit dem Wert "0" festgelegt werden, ob die Umwelt Einfluss auf Objekte haben darf.

    Ist diese Einstellung deaktiviert, können Lebensmittel mit der Zeit nicht mehr schlecht werden.

    Wichtig ist hier in der Theorie, dass es sich dabei um ein Updaten der EinflĂŒsse hat, nicht, dass es gar nicht mehr funktioniert.

    Sollte es also passieren, dass ein Objekt schon gefroren Spawnt, könnte es unter UmstÀnden passieren, dass es gefroren bleibt.


    "ZombieMaxCount" = Anzahl an maximal gleichzeitigen Zombies auf der Map


    Hierbei wird mit einem Wert die maximale Zombieanzahl festgelegt, die ĂŒber die Map streifen.

    Dabei ist es egal, ob dynamische Zombies oder statische (Zombies, die auch spawnen, wenn kein Spieler in der NĂ€he ist).

    Hier sollte man es nicht ĂŒbertreiben, denn jeder Zombie benötigt Ressourcen, was wiederum die Performance des Servers beeintrĂ€chtigen kann.


    "ZoneSpawnDist" = Entfernung zum Spawnen von dynamischen Zombies in "m"


    Hier wird in Metern festgelegt, ab welcher Entfernung dynamische Zombies spawnen sollen,

    wenn sich ein Spieler einer solchen Spwan Zone nÀhrt.



    Dies sollte hoffentlich erst einmal genĂŒgen und hoffentlich wieder soweit verstĂ€ndlich sein 😅.

    Ist leider halt ein etwas trockenes Thema, aber spÀter eventuell wichtig, wenn man sich die Objekte oder allgemein nachfolgende Dateien anschaut.


  • Thema:



    cfgignorelist.xml


    Hier kommen wir mal zum, meiner Meinung nach, einfachsten und schnellste Thema.

    Zumindest davon ausgehend, dass tatsĂ€chlich und ĂŒberhaupt etwas in dieser Datei enthalten ist đŸ˜…đŸ€Ł.


    Kern dieser Datei ist eigentlich nur folgender Inhalt:



    Dabei handelt es sich im Grunde auch nur um eine Auflistung von Objekten,

    die vom Spiel oder Server nicht geladen und ignoriert werden sollen.

    Dabei ist es egal, ob diese Objekte irgendwo hinterlegt sind,

    sei es beim Start Gear, einfaches Objekt oder sonstiges.


    Die Liste kann ganz einfach weitergefĂŒhrt werden, wobei nur wichtig ist, dass nicht die Bezeichnung, sondern der Name des Objektes,

    welcher in der Config hinterlegt ist, einzutragen ist. Also nicht "BaseballschlÀger" sondern "BaseballBat".

    Ansonsten gilt einfach nur eine neue Zeile anlegen, Namen eintragen und fertig 😅.

    Simpel und einfach.


    Bsp.:

    .

    .

    .

    <type name="Wreck_Mi8"></type>

    <type name="BaseballBat"></type>

    </ignore>


    Schon gÀbe es keinen BaseballschlÀger mehr zu finden.


    Und das war es tatsÀchlich auch schon,

    Sag ja, ist nicht viel đŸ€Ł.


    Damit ab zum nĂ€chsten Part 😁