Veränderung von Spieldaten und Administration

**ARBEITSSTAND - ARTIKEL NOCH NICHT FERTIG**

## Allgemeines

Der Artikel soll weder eine Anleitung zum Cheaten noch eine Aufforderung zur Verwendung von Trainern sein, sondern befasst sich mit von Eleon Studios zur Verfügung gestellten Funktionen zu administrativen und anderen Anpassungsmöglichkeiten des Spiels.

Im Lauf der Zeit ist Empyrion - Galactic Survival sehr "modding-freundlich" geworden. Damit ist nicht gemeint, dass die Möglichkeit existiert, Blueprints von Basen und Raumschiffen oder Szenarien über den Steam Workshop zu veröffentlichen und herunterzuladen. In diesem Kapitel soll es um die Möglichkeiten gehen, in der lokalen Installation oder auf einem Dedicated Server selbst in Spieldaten/Spieldateien einzugreifen, um z.B. Spielcontent oder Spielmechaniken zu verändern.

**!!Achtung!! Hier werden essentielle Spieldateien verändert. Bitte erstellt euch vorher Sicherungskopien der veränderten Spieldateien. Es wird keine Gewährleistung bei nicht mehr funktionierenden Installationen übernommen. Meistens ist es notwendig, ein neues Spiel zu starten, um die Änderungen sehen zu können.**

Für das Bearbeiten der Spieldateien werden andere Programme benötigt, die nicht zum Lieferumfang von Empyrion - Galactic Survival gehören. Gebraucht werden ein Texteditor (z.B. Windows Notepad oder Notepad++) und eine Tabellenkalkulation (z.B. MS Excel).

### Besonderheiten beim Dateiformat .yaml

Einige der Spieldateien liegen im Format yaml vor. Wichtig bei der Bearbeitung von yaml-Dateien ist, dass innerhalb der Datei keine Tabs verwendet werden dürfen. Einrückungen und Gliederungen sind mit Leerzeichen zu realisieren. Für eine manuelle Bearbeitung der Dateien möchte ich an dieser Stelle den kostenlosen Texteditor Notepad++ empfehlen. Dieser realisiert Gliederungen und Einrückungen von selbst und stellt diese mit aufklappbaren Kapiteln sehr übersichtlich dar, sodass man sich darüber keine Sorgen mehr machen muss.

Mit der Taste # (Raute) ist es möglich, innerhalb der yaml-Datei Kommentare zu hinterlassen, die bei der Verarbeitung der Datei nicht gelesen werden. Diese Funktion kann man ausnutzen, um Befehle oder Einstellungen in der Datei "auszublenden", ohne die ganze Zeile löschen zu müssen. Dadurch kann man einfach durch entfernen der Raute auch einen Befehl oder eine Einstellung wieder aktiv setzen, ohne sich die Zeilen neu ausdenken zu müssen. Verhält sich das Spiel nach einem Start nicht so wie erwartet, stimmen z.B. Einstellungen auf einem Dedicated Server nicht mit der Erwartung überein, kann es daher durchaus auch nur an einer nicht gelöschten Raute vor dem entscheidenden Befehl in der yaml-Datei liegen.

### Spielverzeichnisse

Im folgenden wird immer wieder auf die Installationsverzeichnisse (Stammverzeichnisse) von Emyprion - Galactic Survival und Empyrion - Dedicated Server referiert. Diese sind innerhalb des Steam-Verzeichnisses an folgender Stelle zu finden:

* Galactic Survival: ...\Steam\SteamApps\common\Empyrion - Galactic Survival\
* Dedicated Server: ...\Steam\SteamApps\common\Empyrion - Dedicated Server\

## Eigene Playfields

In Empyrion - Galactic Survial wird dem Spieler zwar ein fertiges Sonnensystem zum Erforschen und Bereisen an die Seite gegeben, allerdings ist dies dem Einen oder Anderen nicht genug. Besondern auf Servern mit vielen Spielern wird es im original zu Verfügung gestellten Sonnensystem schnell recht eng und man muss sich mit Problemen wie Laggs aufgrund Überbevölkerung herumschlagen. Daher ist es recht vorteilhaft, dass man in Empyrion die Möglichkeit hat, relativ einfach eigene Playfields (Planeten, Orbits, Monde) zu erstellen und ins Spiel einzubinden. Dies funktioniert sowohl mit der eigenen lokalen Installation im Singleplayer-Modus, als auch auf Servern, egal ob der Server von einem Hoster gemietet ist oder auf einem eigenen PC als Dedicated Server läuft.

Im Folgenden soll daher erläutert werden, wie man sich ein bestehendes Playfield anpasst, ein neues Playfield erstellt und eigene Playfields in ein bestehendes Sonnensystem einbindet.

### Playfields erstellen und bearbeiten

Die Playfields, oder zu Deutsch "Spielfelder", in Empyrion - Galactic Survival beinhalten in einer Datei im yaml-Format zusammen gefasst die gesamte Konfiguration eines Planeten, eines Mondes oder eines Orbits. Die einzelnen Playfields sind dabei an folgender Stelle zu finden (Hauptspiel und Server):

* [Stammverzeichnis]\Content\Playfields\

Bearbeitet man Playfields eines Scenarios, muss man natürlich die Playfield-Dateien des jeweiligen Scenarios bearbeiten. Diese sind an folgender Stelle zu finden (Hauptspiel und Server):

* [Stammverzeichnis]\Content\Scenarios\

Hier befinden sich viele Unterverzeichnisse, die jeweils ein einziges Playfield enthalten. Die Konfiguration des Playfields (Flora & Fauna, Dekorationen, POIs, Erzvorkommen uvm.) finden sich in der dort vorhandenen Datei playfield.yaml wieder.

Die vorhandenen Playfields lassen sich in 2 Kategorien einteilen

* Playfields mit prozedural generierten Welten
* Playfields mit handgearbeiteten Planeten/Monden

Bei Playfields mit prozedural generiertem Aussehen führt jede Änderung des Planeten-Seed zu einem neuen Planeten mit anderem Aussehen. Für handgearbeitete Playfields hat die Seedeingabe keine Auswirkung, das Aussehen des Planeten ist fest in einer ecf-Datei festgelegt, die im selben Verzeichnis liegt.

Seit Umstellung der Empyrion-Galaxie auf die Multi-Solar-System-Variante werden fast alle Playfields beim Spielstart zufällig generiert, was die Möglichkeit von Eingriffen stark einschränkt. Jedoch werden zumindest die Startplaneten fest über die yaml-Dateien definiert, um einen Spielstart nicht unnötig schwer bis unmöglich zu gestalten - ein Start auf einem Planeten, auf dem es beispielsweise kein Eisen gibt, ist von Vornherein zum Scheitern verurteilt. So ist es zumindest für die Start-Planeten ohne weiteres Möglich, jedes einzelne Detail manuell anzupassen.

#### Mindestanforderungen an einen eigenen Sektor

Wenn man sich einen eigenen Sektor aufbauen möchte, benötigt man zu allererst einen Orbit. Hierzu kann auf einen bestehenden Orbit aus dem Playfields-Verzeichnis zurück gegriffen werden. Es wird jedoch in solch einem Fall, wie auch bei Planeten und Monden, dringendst empfohlen, das gesamte Verzeichnis des gewählten Playfields zu kopieren und unter einem eigenen Namen neu zu speichern. Dies hat den großen Vorteil, dass bei einem Spiel-Update keine eigenen Kreationen mit dem Standard überschrieben werden.

Die Mindestanforderung an einen Sektor ist damit bereits erfüllt. Im Idealfall fügt man jetzt noch einen Planeten und/oder einen Mond hinzu. Auch dafür kann man sich eins der originalen Playfields als Vorlage nehmen und dieses nach den eigenen Vorstellungen umgestalten.

Es ist auch möglich, einen Sektor mit mehr als einem Planeten oder auch mit mehreren Monden zu bestücken. Hier sollte jedoch bedacht werden, dass es erfahrungsgemäß, vor allem in Multiplayer-Spielen auf gut besuchten Servern, zu massiven Performance-Problemen in diesem Sektor kommen kann.

### Playfields einbinden

Entscheidend dafür, dass man das selbst erdachte Sonnensystem auch im Spiel zur Verfügung hat, ist die Datei sectors.yaml. Diese ist innerhalb der Empyrion Installation (Hauptspiel und Server) an folgender Stelle zu finden:

* [Stammverzeichnis]\Content\Scenarios\[Szenario-Name]\Sectors

Dies gilt nicht für die Standard-Szenarien für Multiplayer (Default Multiplayer) und Singleplayer (Default Random). Hier gibt es keine vordefinierte Sektoren-Datei. Bei beiden Spielversionen wird anhand von verschiedenen Eigenschaften beim Spielstart ein einzigartige Galaxie mit vielen Sonnensystemen, Sektoren und Planeten zufällig generiert.

### Hilfsmittel

Man muss nicht zwingend eine komplette yaml-Datei im Texteditor selbst schreiben. Für das Erstellen bzw. Bearbeiten von Playfield-Dateien und auch für das Aufbauen der Sektoren kann man auf verschiedene Hilfstools zurück greifen.

#### Bearbeiten von Playfield-Dateien

Komfortables Bearbeiten und Erstellen von Playfield-Dateien ist mit dem Empyrion Playfield Designer vom Empyrion-Forum-User jmcburn möglich. Dieses Tool ist zwar eine enorme Hilfe und erspart viel Zeit, jedoch sollte man nach dem Speichern die fertige Playfield.yaml-Datei noch einmal überfliegen, da sich immer wieder kleine Formatierungs-Fehler einschleichen. Tut man das an dieser Stelle nicht und es existieren tatsächlich noch Fehler, wird man spätestens beim Spielstart in einer kurzen Fehlermeldung darauf hingewiesen (welche Datei und Zeile innerhalb der Datei).

#### Bearbeiten der Sectoren-Datei

Das Bearbeiten der Sectoren-Datei ist recht komfortabel mit dem Empyrion Playfield Generator von HWS möglich. Die einzelnen Playfields (Orbits, Planeten, Monde) müssen dafür bereits fertig vorhanden sein. Das Tool ist dann eine große Hilfe, die Sektoren innerhalb des Sonnensystems zu positionieren und die Datei sectors.yaml korrekt aufzubauen.

#### Bearbeitung von kompletten Sonnensystemen

Komplette Sonnensysteme auf einmal können auch mit dem inzwischen von Eleon selbst zur Verfügung gestellten Solar System Generator entworfen und bearbeitet werden. Der Solar System Generator ist innerhalb der lokalen Empyrion-Installation an folgender Stelle zu finden:

* [Stammverzeichnis]\SolarSystemgenerator

## Spieleinstellungen auf einem Dedicated Server

Den Dedicated Server zu Empyrion - Galactic Survival kann man, wenn man das Spiel erworben hat, kostenlos in Steam herunterladen und installieren.

### Dedicated.yaml

Analog dem Spielstart in einem Singleplayer-Szenario kann man hier gewisse Spieleinstellungen vorgeben, die dann für alle auf dem Server eingeloggten Spieler gelten. Jedoch hat man für die Einstellungen des Dedicated Server kein komfortables Fenster wie im Singleplayer-Spielstart zur Verfügung. Die Einstellungen findet man in der Datei dedicated.yaml. Die Datei ist im Stamm-Verzeichnis der Dedicated Server Installation zu finden.

#### Wichtige Einstellmöglichkeiten

Im Folgenden soll kurz auf einige wichtige Einstellungen innerhalb der dedicated.yaml eingegangen werden. Einige Einstellungen sind standardmäßig mit einer vorangestellten Raute (#) deaktiviert. Um diese Zeilen im Coding zu aktivieren, muss die vorangestellte Raute entfernt werden.

* Srv\_Name: Hier kann dem Server ein Name vergeben werden. Unter diesem Namen ist der Server dann auch in der Serverliste im Spiel zu finden.
* Srv\_Password: Möchte man den Zugriff auf seinen Server einschränken, so hat man hier die Möglichkeit ein Passwort zu vergeben. Dieser Qualifier ist standardmäßig deaktiviert.
* Srv\_MaxPlayers: Dieser Wert stellt die maximal gleichzeitig für den Server zugelassenen Spieler dar. Qualifier ist standardmäßig deaktiviert.

Wichtig: Je mehr Spieler sich gerade auf dem Server befinden, umso Ressourcen-fordernder wird das Spiel. Dies sollte unbedingt beachtet werden, um den lokalen PC, auf dem der Server läuft, nicht zu überlasten und Lags zu vermeiden.

* Srv\_Description: Hier kann man eine kurze Bescgreibung des Servers einfügen, die nach Auswahl des Servers in der Serverliste im Spiel auch angezeigt wird. Die Beschreibung darf maximal 127 Zeichen lang sein.
* Srv\_Public: Diese Einstellung erlaubt das "Verstecken" des Servers, definiert also, ob der Server in der Serverliste im Spiel angezeigt wird oder nicht. Einstellmöglichkeiten:
	+ true - Server wird angezeigt
	+ false - Server wird ausgeblendet

Ist der Server ausgeblendet, so erfolgt das Einloggen entweder über eine IP-Adresse oder indem man dem Spiel eines Freundes beitritt.

* EACActive: aktiviert oder deaktiviert EasyAntiCheat. Einstellmöglichkeiten:
	+ true - EAC aktiviert
	+ false - EAC deaktiviert

Ist auf Serverebene EAC aktiv geschaltet, so muss auch in den Client Spieleinstellungen EAC auf aktiv gesetzt werden, anderenfalls wird der Client beim Einloggen abgewiesen.

* MaxAllowedSizeClass: Erlaubt eine Einschränkung der maximal erlaubten Blueprintgröße für die Fabrik. Einstellmöglichkeiten:
	+ 1 - nur kleine Blueprints sind erlaubt
	+ 10 - sehr große Blueprints sind erlaubt
	+ 50 - gigantisch große Blueprints sind erlaubt
	+ 0 - keine Einschränkungen

Alle übrigen Werte zwischen 1 und 50 sind ebenfalls möglich. Je größer der Wert, umso größer sind die erlaubten Blueprints.

* AllowedBlueprints: Möglichkeit, die Fabrik-Produktion nach Blueprint-Typen einzuschränken. Einstellmöglichkeiten:
	+ None: Blueprints sind generell deaktiviert, jede Struktur muss von Grundauf selbst gebaut werden. Wichtig: Es erfolgt im Spiel keine Warnung. Man kann nach wie vor seinen Blueprint in die Fabrik geben, mit Ressourcen bedienen und die Produktion starten. Erst nach Abschluss der Produktion beim Versuch, die Struktur (Basis, Schiff...) zu spawnen, erscheint die Meldung, dass dies nicht möglich ist.
	+ StockOnly: Nur die Standardblueprints des Spiels sind erlaubt. Spawnen von Eigenkreationen und aus dem Workshop geladenen Bluprints ist nicht möglich.
	+ All: keine Einschränkungen, alle Blueprints sind erlaubt.

Unabhängig dieser Einstellungen kann aber trotzdem auf Playfield-Ebene die Verwendung von Blueprints deaktiviert sein. Solch eine Playfield-speziefische Einstellung übersteuert die Servereinstellungen "All" und "StockOnly".

* KickPlayerWithPing: Spieler mit einem Ping höher als der hier vorgegebene Wert werden automatisch vom Server getrennt. Dieser Qualifier ist standardmäßig deaktiviert.
* GameName: Name des Savegames. Diese Einstellung erlaubt es, schnell zwischen verschiedenen Savegames hin- unf herzuschalten. Die Savegames werden standardmäßig im Verzeichnis [Stammverzeichnis]\Saves abgelegt.
* Mode: Definiert den Spielmodus des Servers. Einstellmöglichkeiten:
	+ Survival
	+ Creative
* Seed: Hier kann Global für den Server ein spezieller Seed für die Generierung der Spielwelt vorgegeben werden. Diese Einstellung kann auf Playfield-Ebene innerhalb einer yaml-Datei übersteuert werden.
* CustomScenario: Diese Einstellung definiert das für den Server verwendete Szenario. Standardmäßig ist hier das Szenario "Default Multiplayer" vorgegeben. Das Szenario kann durch jedes andere aus dem Verzeichnis [Stammverzeichnis]\Content\Scenarios\ ersetzt werden.

### Gameoptions.yaml

Die Datei gameoptions.yaml definiert die Schwierigkeitseinstellungen des Dedicated Servers. Die Datei ist an folgender Stelle zu finden:

* [Stammverzeichnis]\Content\Scenarios\[Szenario-Name]\

Innerhalb der Datei sind die Schwierigkeitseinstellungen in 2 Blöcke geteilt. Der erste Bock, mit dem die Datei anfängt, definiert die Einstellungen für ein Singleplayer-Spiel. Der darauf folgende Abschnitt befasst sich mit den Einstellungen für ein Multiplayer-Spiel. In der ersten Zeile jedes Blocks (ValidFor) findet man hier auch einen Hinweis darauf, welche Einstellungen man gerade bearbeitet: SP = Singleplayer, MP = Multiplayer. Hier ist auch gleich die größte Fehlerquelle für Multiplayer-Spiele zu finden. In den meisten Fällen, wenn sich das Spiel nach dem Start nicht so verhält, wie man es sich vorgestellt hat, liegt es einfach nur daran, dass man den Singleplayer-Block bearbeitet hat.

Die zweite Hälfte des Multiplayer-Blocks befasst sich mit diversen Schwierigkeitseinstellungen, die in einem Singleplayer-Spiel beim Spielstart manuell gesetzt werden können, z.B. Größe von Erzlagern, Produktionsgeschwindigkeit von Konstruktoren usw. Da beim Start eines Dedicated Servers diese Einstellungen nicht abgefragt werden, müssen diese zwingend über die gameoptions.yaml mitgegeben werden.

#### Wichtige Einstellmöglichkeiten

Im Folgenden soll kurz auf einige wichtige Einstellungen innerhalb der gameoptions.yaml eingegangen werden. Einige Einstellungen sind standardmäßig mit einer vorangestellten Raute (#) deaktiviert. Um diese Zeilen im Coding zu aktivieren, muss die vorangestellte Raute entfernt werden. Ist eine Einstellungszeile durch die Raute deaktiviert, wird immer auf den Standardwert zurück gegriffen, der aus diesem Grund bei jeder Einstellung mit angegeben wird. Bei einigen Einstellung kann es nötig sein, ein neues Spiel zu starten, um die Auswirkungen im Spiel sehen zu können.

* DecayTime: Zeit in Real-Stunden, nach der von Spielern gebaute Strukturen ohne Kern und kleiner als 10 Blöcke automatisch entfernt werden, sollten sie nicht besucht werden. Für Deaktivierung ist der Wert 0 zu verwenden, der Standardwert liegt bei 24.
* WipeTime: Zeit in Real-Stunden, nach der jede jede von Spielern gebaute Struktur automatisch entfernt wird, sollte sie nicht besucht werden. Für Deaktivierung ist der Wert 0 zu verwenden, welcher auch den Standard darstellt.
* ProtectTime: Zeitbereich in Real-Stunden, in dem Strukturen eine Offline-Protection haben. Für Deaktivierung ist der Wert 0 zu verwenden, der Standardwert liegt bei 48.
* ProtectDelay: Zeit in Real-Sekunden, bis Offline-Protection aktiviert wird.
* MaxStructures: Maximal erlaubte Anzahl an Strukturen für ein Playfield. Dies sollte reduziert werden, wenn es auf dem Playfield zu Performance-Problemen auf Grund "Überbevölkerung" kommt.
* AntiGriefDistancePvE: Entfernung in Metern rund um eine Basis auf einem PvE-Playfield, in der keine Basen anderer Fraktionen gebaut werden können. Für Deaktivierung ist der Wert 0 zu verwenden, der Standardwert liegt bei 30.
* AntiGriefDistancePvP: Entfernung in Metern rund um eine Basis auf einem PvP-Playfield, in der keine Basen anderer Fraktionen gebaut werden können. Für Deaktivierung ist der Wert 0 zu verwenden, der Standardwert liegt bei 300.
* AntiGriefOresDistance: Entfernung in Metern rund um ein unterirdisches Erzvorkommen, in der keine Basen gebaut werden können. Für Deaktivierung ist der Wert 0 zu verwenden, der Standardwert liegt bei 30.
* AntiGriefOresZone: Definiert die Playfield-Arten, auf denen der Wert von AntiGriefOresDistance verwendet wird. Mögliche Einstellungen:
	+ PvE - nur auf PvE-Playfields
	+ PvP - nur auf PvP-Playfields
	+ All - auf allen Playfields

Der Standardwert für diese Einstellung ist PvE.

* EnableMaxBlockCount: Aktiviert oder deaktiviert das Blocklimit für bestimmte Geräte, z.B. die Maximalanzahl von Waffen auf einer Basis oder an einem Raumschiff. Mögliche Einstellungen:
	+ True - Blocklimit ist aktiviert
	+ False - Blocklimit ist deaktiviert

Der Standardwert für diese Einstellung ist True.

* EnableVolumeWeight: Aktiviert oder Deaktiviert die Volumenbeschränkung für Inventar und Frachtboxen. Mögliche Einstellungen:
	+ True - Volumenbeschränkung ist aktiviert
	+ False - Volumenbeschränkung ist deaktiviert

Der Standardwert für diese Einstellung ist False.

* EnableCPUPoints: Aktiviert oder deaktiviert die CPU-Beschränkungen für Basen und Schiffe. Mögliche Einstellungen:
	+ True - CPU-Beschränkung ist aktiviert
	+ False - CPU-Beschränkung ist deaktiviert

Der Standardwert für diese Einstellung ist False.

* AutoMinerDepletion: Definiert, ob automatische Bergbaugeräte ein unterirdisches Ressourcenvorkommen abbauen. Mögliche Einstellungen:
	+ True - Unterirdische Ressourcenvorkommen werden durch ein Bergbaugerät abgebaut
	+ False - Unterirdische Ressourcenvorkommen werden durch ein Bergbaugerät nicht abgebaut (unendliche Ressourcenförderung)

Der Standardwert für diese Einstellung ist True.

* GroundedStructureSpawn: Definiert, ob für das Spawnen von Schiffen aus der Fabrik (von einem Blueprint) ein fester Untergrund in Form einer Basis oder eines Großen Raumschiffs nöig ist. Mögliche Einstellungen:
	+ True - Schiffe können nur über einer Basis oder einem Großen Raumschiff gespawnt werden
	+ False - Schiffe können an jeder Stelle der gesamten Spielwelt gespawnt werden, eine Basis oder ein Großes Raumschiff ist nicht nötig

Der Standardwert für diese Einstellung ist True.

* TurretUndergroundCheck: Aktiviert oder deaktiviert eine Prüfung, die Geschütze abschaltet, die sich unterhalb des Terrain- bzw. Wasserlevels befinden. Mögliche Einstellungen:
	+ True - Check ist aktiviert, d.h. Geschütze unterhalb des Terrain- bzw. Wasserlevels sind deaktiviert
	+ False - Check ist deaktiviert, d.h. Geschütze unterhalb des Terrain- bzw. Wasserlevels sind aktiviert

Der Standardwert für diese Einstellunge ist False.

* FriendlyFireInPvP: Aktiviert oder deaktiviert für PvP-Playfields die Möglichkeit, dass durch "Freundesbeschuss" Strukturen der eigenen Fraktion beschädigt werden. Mögliche Einstellungen:
	+ True - Strukturen der eigenen Fraktionen können durch Beschuss beschädigt werden
	+ False - Strukturen der eigenen Fraktionen können durch Beschuss nicht beschädigt werden

Diese Einstellung beschränkt sich ausschließlich auf Strukturen, Spieler können andere Spieler derselben Fraktion nach wie vor verletzen. Der Standardwert für diese Einstellunge ist True.

* MaxSpawnedEnemies: Setzt eine Maximalanzahl von Feinden, die um den Spieler herum spawnwn können. Der Standardwert für diese Einstellung ist 60.
* DespawnEscapePod: Definiert, ob die Rettungskapsel nach einer gewissen Wartezeit despawnt. Mögliche Einstellungen:
	+ True - Rettungskapsel despawnt
	+ False - Rettungskapsel despawnt nicht und kann weiter als Lagerplatz bzw. im Singleplayer-Spiel als Schlafplatz zum Überspringen der Nacht verwendet werden.

Der Standardwert für diese Einstellung ist False.

* RegeneratePOIs: Aktiviert oder deaktiviert die Regeneration von POIs. Voraussetzung für die Regeneration nach einer bestimmten Zeit ist, dass für die POIs in der Datei playfield.yaml der Parameter für die Regeneration aktiviert wurde und eine Regenerationszeit festgesetzt wurde - dies ist für jeden POI separat möglich. Mögliche Einstellungen:
	+ True - Regeneration ist aktiviert
	+ False - Regeneration ist deaktiviert

Der Standardwert für diese Einstellung ist False.

* FOWTransparency: Definiert, ob auf der Map ein FogOfWar vorhanden ist und wenn ja, welchen Transparenzgrad dieser hat. Mögliche Einstellungen:
	+ Werte zwischen 0 und 100, wobei 0 = komplett undurchsichtig und 100 = nicht vorhanden bedeutet. Bei Einstellung 0 kann man somit auf dem Map-Bildschirm nicht in Bereiche schauen, in denen man noch nicht gewesen ist, die sozusagen noch nicht erkundet wurden. Unabhängig davon wird aber trotzdem ein gewisser Transparenzgrad dargestellt, sobald sich der Spieler zum ersten Mal im All befunden hat und somit den gesamten Planeten von oben sehen konnte.

Der Standardwert für diese Einstellung ist 0.

* ForcePvP: Erzwingt für alle Playfields PvP, unabhängig von der Einstellung der einzelnen Playfields. Mögliche Einstellungen:
	+ True - Alle Playfields sind PvP, es gibt keine PvE-Playfields
	+ False - PvP existiert nur auf den Playfields, die so definiert wurden

Der Standardwert für diese Einstellung ist False.

* ThrustersNeedOpenSpace: Definiert, ob hinter einer Schubdüse ein freier Block vorhanden sein muss, damit die Schubdüse funktioniert. Mögliche Einstellungen:
	+ True - Hinter jeder Schubdüse muss ein freier Block vorhanden sein, anderenfalls wird die Schubdüse automatisch deaktiviert.
	+ False - Es muss kein freier Block hinter einer Schubdüse vorhanden sein, Schubdüsen können komplett eingebaut werden, ohne dass die Funktion eingestellt wird.

Der Standardwert für diese Einstellung ist False.

* UndergroundBpSpawn: Aktiviert oder deaktiviert die Möglichkeit, Blueprints auch unterhalb des Terrains zu spawnen. Mögliche Einstellungen:
	+ Always - Spawnen von Strukturen unterhalb des Terrains ist immer möglich.
	+ PvE - Spawnen von Strukturen unterhalb des Terrains ist nur auf PvE-Playfields möglich.
	+ Never - Spawnen von Strukturen unterhalb des Terrains ist nicht möglich. In dieser Einstellung ist es somit nicht mehr möglich, sich eine Basis aus der Fabrik unter die Erde zu spawnen und diese danach auszugraben. Möchte man eine Basis mit "Keller" haben, muss man diese entweder manuell bauen oder, ähnlich wie im echten Leben, zuerst eine entsprechend tiefe "Baugrube" ausheben, in die man dann die Basis spawnen kann.

Der Standardwert für diese Einstellung ist Always.

#### Spezielle Schwierigkeitsgradeinstellungen

* DiffEscapePodContent: Definiert den Inhalt der Rettungskapsel. Mögliche Einstellungen:
	+ Easy - Leicht (am Meisten Inhalt in der Rettungskapsel)
	+ Medium - Mittel
	+ Hard - Schwer (am Wenigsten Inhalt in der Rettungskapsel)

Der Standardwert dieser Einstellungen ist Medium.

* DiffPlayerProgression: Definiert, wie schnell der Spieler XP sammelt und somit in den Spielerlevels Fortschritt erarbeitet. Mögliche Einstellungen:
	+ Slower - langsamer Fortschritt (Abschüsse und Sammeln von Ressourcen ergeben weniger XP)
	+ Normal - normale Fortschritt-Geschwindigkeit
	+ Faster - schneller Fortschritt (Abschüsse und Sammeln von Ressourcen ergeben mehr XP)

Der Standardwert dieser Einstellung ist Normal.

* DiffDegradationSpeed: Definiert, wie schnell sich Waffen abnutzen. Mögliche Einstellungen:
	+ Low - langsame Abnutzung
	+ Normal - normale Abnutzung
	+ High - schnelle Abnutzung
	+ Off - Abnutzung ist deaktiviert

Der Standardwert dieser Einstellung ist Normal.

* DiffPlayerBackpackDrop: Definiert, ob man das Inventar oder Teile dessen nach dem Tod behält. Mögliche Einstellungen:
	+ DropNothing - Man behält nach dem Tod seine gesamten Items (Inventar + Schnellzugriffsleiste).
	+ DropBagOnly - Man behält nach dem Tod nur die Items aus der Schnellzugriffsleiste, der Rest des Inventars wird im Backpack-Container an der Todesstelle abgelegt.
	+ DropEverything - Man behält nach dem Tod nichts, die gesamten Items (Inventar + Schnellzugriffsleiste) werden im Backpack-Container an der Todesstelle abgelegt.

Der Standardwert dieser Einstellung ist DropEverything.

* DiffFoodConsumption: Definiert den Nahrungsverbrauch des Spielers. Mögliche Einstellungen:
	+ Low - niedriger Nahrungsverbrauch
	+ Normal - normaler Nahrungsverbrauch
	+ High - hoher Nahrungsverbrauch
	+ Off - Nahrungsverbrauch ist deaktiviert

Der Standardwert für diese Einstellung ist Normal.

* DiffOxygenConsumption: Definiert den Sauerstoffverbrauch des Spielers. Mögliche Einstellungen:
	+ Low - niedriger Sauerstoffverbrauch
	+ Normal - normaler Sauerstoffverbrauch
	+ High - hoher Sauerstoffverbrauch
	+ Off - Sauerstoffverbrauch ist deaktiviert

Der Standardwert für diese Einstellung ist Normal.

* DiffRadiationTemperature: Definiert den Einfluss von Radioaktivität und Temperatur auf den Spieler. Mögliche Einstellungen:
	+ Low - niedrige Auswirkungen von Radioaktivität und Temperatur
	+ Normal - normale Auswirkungen von Radioaktivität und Temperatur
	+ High - hohe Auswirkungen von Radioaktivität und Temperatur
	+ Off - Auswirkungen von Radioaktivität und Temperatur sind deaktiviert

Der Standardwert für diese Einstellung ist Normal.

* DiffNumberOfDeposits: Definiert die Anzahl von Erzvorkommen auf den Planeten. Mögliche Einstellungen:
	+ Plenty - viele Vorkommen pro Planet
	+ Normal - normal Vorkommen pro Planet
	+ Few - wenige Vorkommen pro Planet

Der Standardwert für diese Einstellung ist Normal.

* DiffAmountOfOre: Definiert, wieviele Erze sich in den Erzvorkommen von Planeten befinden. Mögliche Einstellungen:
	+ Rich - viele Ressourcen pro Vorkommen
	+ Normal - normale Ressourcen pro Vorkommen
	+ Poor - wenige Ressourcen pro Vorkommen

Der Standardwert für diese Einstellung ist Normal.

* DiffAttackStrength: Definiert den generellen Schwierigkeitsgrad beim Angriff durch oder auf Feinde. Mögliche Einstellungen:
	+ Easy - leicht
	+ Medium - mittel
	+ Hard - schwer

Der Standardwert für diese Einstellung ist Medium.

* DiffDronePresence: Definiert die generelle Präsenz von feindlichen Drohnen auf einem Planeten. Mögliche Einstellungen:
	+ Low - wenige Drohnen
	+ Normal - normale Anzahl an Drohnen
	+ High - viele Drohnen
	+ Off - keine Drohnen

Der Standardwert für diese Einstellung ist Normal.

* DiffDroneBaseAttack: Definiert die Frequenz von feindlichen Angriffen auf die eigene Basis. Mögliche Einstellungen:
	+ Low - niedrige Freqenz, viel zeit zwischen den Angriffen
	+ Normal - normale Frequenz
	+ High - hohe Frequenz, wenig Zeit zwischen den Angriffen
	+ Off - keine feindlichen Angriffe auf die eigene Basis

Der Standardwert für diese Einstellung ist Normal.

* DiffConstrCraftTime: Definiert die Produktionsgeschwindigkeit der Konstruktoren. Mögliche Einstellungen:
	+ Faster - schnellere Produktionsgeschwindigkeit, niedrige Wartezeit
	+ Normal - normale Produktionsgeschwindigkeit
	+ Slower - langsamere Produktionsgeschwindigkeit, hohe Wartezeit
	+ Instant - sofortige Produktion, keine Wartezeit

Der Standardwert für diese Einstellung ist Normal.

* DiffBpProdTime: Definiert die Produktionsgeschwindigkeit von Blueprints in der Fabrik sowie die Reparatur-Geschwindigkeit von Reparatur-Blocks. Mögliche Einstellungen:
	+ Faster - schnellere Produktions- und Reparaturgeschwindigkeit, niedrige Wartezeit
	+ Normal - normale Produktions- und Reparaturgeschwindigkeit
	+ Slower - langsamere Produktions- und Reparaturgeschwindigkeit, hohe Wartezeit
	+ Instant - sofortige Produktion und Reparatur, keine Wartezeit

Der Standardwert für diese Einstellung ist Normal.

### Adminconfig

Über eine weitere Datei besteht die Möglichkeit, für den Dedicated Server einzelnen Usern Administrations-Stufen (Game Master, Moderator, Administrator) zuzuweisen. Die Zuweisung erfolgt über die Datei adminconfig.yaml . Die Datei muss innerhalb der Dedicated Server Installation an folgender Stelle angelegt werden:

* [Stammverzeichnis]\Saves

An dieser Stelle befindet sich standardmäßig nur die Datei adminconfig.example.yaml . Diese Datei ist eine Beispiel-Vorlage und muss auf den anderen Namen umbenannt werden. Die Einstellungen werden dann automatisch bei einem Start des Dedicated Server ausgelesen und verwendet.

Beispiel einer Zuweisung:

- Id: 11111111111111111
  Permission: 6

Die lange Nummer in der Zeile entspricht dabei der Steam-ID des Users. Die folgende Zahl bestimmt die zugewiesene Administrations-Stufe:

* 3 - GameMaster
* 6 - Moderator
* 9 - Administrator

## Stackgrößen, "Rezepturen", Eigenschaften

Mit Spielversion Alpha 7.5.0 wurden im Spielstandard Stackgrößen von vielen Items, teilweise zum großen Unmut der Spieler, neu und sehr klein definiert. Gleichzeitig wurde jedoch die Möglichkeit geschaffen, über die Datei config.ecf vom Standard abweichende:

* Stackgrößen
* Material- und Geräte-Rezepturen sowie
* Geräte- und Waffeneigenschaften

zu definieren. Die Datei muss innerhalb der Empyrion Installation (Hauptspiel und Server) an folgender Stelle abgelegt werden:

* [Stammverzeichnis]\Content\Configuration

An dieser Stelle befindet sich standardmäßig nur die Datei Config\_example.ecf . Diese Datei ist eine Vorlage mit den aktuellen Standard-Einstellungen des Spiels und muss auf den anderen Namen umbenannt werden.

Um die Einstellungen in einem Multiplayer-Spiel tätigen zu können, benötigt man entweder einen lokal laufenden Dedicated Server (kostenlos über Steam herunterladbar) oder einen gemieteten Server mit Root-Zugriff. Auf gemieteten Servern ohne Root-Zugriff besteht keine Möglichkeit, diese Datei anzupassen.

Für eine Bearbeitung ist es nötig, sich zuerst das zu bearbeitende Item herauszusuchen. Innerhalb der Datei wird jedoch auf die spielinternen Namen der Items zurückgegriffen. Daher ist es hilfreich und zu empfehlen, die Datei [Stammverzeichnis]\Content\Extras\Localization.csv als Hilfestellung zu verwenden. Hier kann man nach dem bekannten Item-Namen suchen (auch deutsche oder anderssprachige Ensprechungen im Spiel).

Beispiel: Ich suche den internen Namen für die Munition eines Plasmageschützes für eine Basis. Der Klartext-Name in der deutschen Spielversion ist "PK Ladung BA". Nach dieser Bezeichnug gesucht, findet man in der Localization-Datei als Ergebnis recht schnell diese Zeile:

TurretBAPlasmaCharge,Pl.Charge BA,PK Ladung BA,Charge PI BA,Carica al Plasma BA,Carga de plasma (BA),CargaPl. BA,Carga de CanhÃ£o Pl - BA,Pl. ogniwo BA,ÐŸÐ». Ð·Ð°Ñ€ÑÐ´ Ð‘Ð,ãƒ—ãƒ©ã‚ºãƒžãƒãƒ£ãƒ¼ã‚¸(BA),ç­‰ç¦»å­ç‚®ç”µæ±

Diese ist nach folgendem System aufgebaut, jeweils durch Kommas getrennt:

Spielinterne Bezeichnung, englischer Name, deutscher Name, französischer Name, ... [weitere Sprachen]

Ganz vorn in der Zeile findet man also die spielinterne Bezeichnung "TurretBAPlasmaCharge", mit der man nun in der Datei Config.ecf weiterarbeiten kann.

### Bearbeitung von Stackgrößen

Mit der Überarbeitung der Stackgrößen auf bis zu 4000 Einheiten in Spielversion Alpha 12.0.0 für die meisten Items ist eine Bearbeitung der Stackgrößen nicht mehr wirklich nötig. Dennoch ist es möglich, sollten diese Werte jemandem noch immer zu niedrig oder vielleicht sogar zu hoch sein.

Um beim oben benannten Beispiel zu bleiben, versuchen wir jetzt, die Stackgröße für die Munition von Basis-Plasmageschütztürmen zu verändern. Dazu muss der eben ermittelte interne Item-Name gesucht werden. Als Ergebnis findet man recht schnell diesen Block:

*{ Item Id: 2218, Name: TurretBAPlasmaCharge, Ref: TurretMSPlasmaCharge*
  Mass: 50, type: float, display: true, formatter: Kilogram

  Volume: 25, type: float, display: true, formatter: Liter

  {

    Damage: 15525

    BlastRadius: 3, display: true

    BlastDamage: 15525, display: true

    Speed: 400

    Range: 600

    SpeedSpace: 485

    RangeSpace: 1000

    Ballistic: false

    DamageMultiplier\_1: 0.05, data: head|body

    DamageMultiplier\_2: 0.01, data: stone|dirt

    DamageMultiplier\_3: 10, data: rock

    DamageMultiplier\_4: 0.1, data: shield

    BlastDamageMultiplier\_1: 0.05, data: head|body

    BlastDamageMultiplier\_2: 0.2, data: stone|dirt

    BlastDamageMultiplier\_3: 0, data: shield

*}*
}

Zur Stackgröße benötigt man eine Zeile mit dem Qualifier "StackSize:". Hier kann es jetzt 2 Möglichkeiten geben:

1. Solch eine Zeile ist nicht vorhanden.
2. Es gibt eine Zeile und nach dem Doppelpunkt steht eine Zahl, z.B. StackSize: 2000

Bei beiden Varianten wird im Normalfall auf den Spielstandard zurückgegriffen. Einziger Unterschied: Ist die Zeile bereits da, so muss nur die Zahl geändert werden. Fehlt die Zeile, muss man sie ergänzen. Zu empfehlen ist hierbei, dass man die Stackgröße gleich in die nächste Zeile nach der Item ID schreibt, wo sie auch standardmäßig zu finden ist, sollte sie bereits vorhanden sein.

Nehmen wir an, wir wollen die Stackgröße auf 10.000 Einheiten erhöhen. Mit der eingefügten Zeile sieht der Block für die Munitionsart dann so aus:

*{ Item Id: 2218, Name: TurretBAPlasmaCharge, Ref: TurretMSPlasmaCharge*
  StackSize: 10000

  Mass: 50, type: float, display: true, formatter: Kilogram

  Volume: 25, type: float, display: true, formatter: Liter

  {

    Damage: 15525

    BlastRadius: 3, display: true

    BlastDamage: 15525, display: true

    Speed: 400

    Range: 600

    SpeedSpace: 485

    RangeSpace: 1000

    Ballistic: false

    DamageMultiplier\_1: 0.05, data: head|body

    DamageMultiplier\_2: 0.01, data: stone|dirt

    DamageMultiplier\_3: 10, data: rock

    DamageMultiplier\_4: 0.1, data: shield

    BlastDamageMultiplier\_1: 0.05, data: head|body

    BlastDamageMultiplier\_2: 0.2, data: stone|dirt

    BlastDamageMultiplier\_3: 0, data: shield

  }

}

Um die Änderung im Spiel zu haben, muss kein neues Savegame gestartet werden, die Änderung ist beim nächsten Spielstart im Spiel.

### Bearbeitung von Material- und Geräte-Rezepturen

Ähnlich wie die Stackgrößen kann man auch Rezepturen (Templates) der einzelnen Materialien und Geräte sehr einfach über die Datei Config.ecf bearbeiten. Nehmen wir einmal an, wir möchten das "Rezept" für den Verbesserten Konstruktor bearbeiten. Über die Localization-Datei haben wir bereits heraus gefunden, dass der spielinterne Name für den Verbesserten Konstruktor "ConstructorT2" ist. Also suchen wir in der Konfigurationsdatei nach diesem Namen und finden den folgenden Block:

*{ Template Name: ConstructorT2*
  CraftTime: 60

  Target: "LargeC,AdvC"

  { Child Inputs

    SteelPlate: 10

    OpticalFiber: 4

    MechanicalComponents: 10

    Motor: 2

    Computer: 4

    EnergyMatrix: 5

    CobaltAlloy: 50

    FluxCoil: 10

  }

}

Hier hat man jetzt die Möglichkeit folgende Eigenschaften zu ändern:

* CraftTime - ändert die Zeit, die benötigt wird, bis die Produktion fertig ist
* Target - definiert, wo das Item hergestellt werden kann (SurvC,SmallC,HoverC,BaseC,LargeC,AdvC)
* OutputCount - definiert, wieviele Items mit einem Produktionsvorgang hergestellt werden (wird i.d.R. nur aufgeführt, wenn mehr als 1 Item pro Produktionsvorgang hergestellt wird, z.B. bei der Herstellung von Barren aus Erzen)
* Child Inputs - listet die zur Produktion benötigten Materialien auf

Nehmen wir einmal an, wir möchten den Block für den Verbesserten Konstruktor so bearbeiten, dass

1. die Produktionszeit 2 Minuten dauern soll
2. der Konstruktor auch im Überlebenskonstruktor herstellbar sein soll
3. pro Produktionsvorgang 2 Konstruktoren hergestellt werden sollen und
4. alle benötigten Ressourcen verdreifacht werden, dafür aber keine Fluxspulen mehr benötigt werden

Nach der Änderung des Blocks sollte dieser jetzt so aussehen:

*}*
{ Template Name: ConstructorT2

  CraftTime: 120

  OutputCount: 2

  Target: "SurvC,LargeC,AdvC"

  { Child Inputs

    SteelPlate: 30

    OpticalFiber: 12

    MechanicalComponents: 30

    Motor: 6

    Computer: 12

    EnergyMatrix: 15

    CobaltAlloy: 150

  }

}

Um die Änderung im Spiel zu haben, muss kein neues Savegame gestartet werden, die Änderung ist beim nächsten Spielstart im Spiel.

## Administrator-Befehle

Im Spiel wird dem Spieler eine umfangreiche Palette von Befehlen zur Verfügung gestellt. Diese reicht vom simplen "Godmode" bis hin zu komplexen Debugging-Funktionen. Um die Befehle auszuführen, öffnet man mit der Taste Ö die Eingabekonsole, gibt den entsprechenden Befehl ein und bestätigt mit Enter. Einige der Befehle (informative Befehle, z.B. *di* oder *ents*) können dabei, auch in einem Multiplayer-Spiel, von jeden Spieler ausgeführt werden. Für andere Befehle sind höherwertige Berechtigungsrollen (Game Master, Moderator, Administrator) notwendig.

Im Folgenden ist eine Liste von verschiedenen Befehlen und deren Auswirkung zu finden. Die Liste ist mit Sicherheit nicht vollständig, Ergänzungen sind erwünscht.