Hallo,
da es in letzter Zeit einige Fragen zum Anpassen der Saintly DayZ Datenbank gab, möchte ich euch mit dieser Anleitung eine kleine Einstiegshilfe geben. Die Anleitung wird längst nicht alles erklären (können), aber sie wird euch dabei behilflich sein den richtigen Pfad einzuschlagen.
Bevor ihr mit der Anleitung fortfahrt, solltet ihr folgende Vorbereitungen treffen:
1) Stopt den Gameserver im Webinterface
2) Ladet folgende Dateien per FTP von eurem Gameserver herunter:
- Die ibdata1 Datei (server_setup\xampp\mysql\data)
- Das xampp.rar Archiv (server_setup)
3) Installiert die folgenden Programme
Lokalen MySQL Server einrichten
- Erstellt euch auf eurem Desktop einen neuen Ordner Namens "gsdb" und öffnet danach das xampp.rar Archiv
- Entpackt nun den "mysql" Ordner (den Ordner selbst, nicht nur dessen Inhalt) und die beiden .bat Dateien "mysql_start.bat" und "mysql_stop.bat" aus dem xampp.rar Archiv in den zuvor erstellten "gsdb" Ordner
- Kopiert eure "ibdata1" Datei nach "gsdb/mysql/data" und überschreibt die bereits vorhandene Datei
- Löscht in "gsdb/mysql/data" den "dayz" Ordner
- Ladet die Ordner "dayz" und "lingors" (lingors ignorieren, wenn er sich nicht auf eurem Gameserver befindet) per FTP von eurem Gameserver (server_setup/xampp/mysql/data) in "gsdb/mysql/data" herunter
- Startet euren lokalen MySQL Server mit einem Doppelklick auf die "mysql_start.bat" (gsdb)
Da das xampp.rar Archiv nicht länger von uns benötigt wird, könnt ihr dieses nun schließen. Den "gsdb" Ordner benötigen wir vorerst
auch nicht mehr und minimieren ihn daher.
Verbindungsaufbau mit HeidiSQL
Startet HeidiSQL, klickt auf den "New"-Button und verwendet folgende Verbindungsdaten:
- Hostname / IP: 127.0.0.1
- Username: dayz
- Password: 123456
- Database: dayz
Speichert die Verbindung mit einem Klick auf den "Save"-Button ab und klickt auf den "Open"-Button.
Anmerkung für Neukunden ab dem 10.11.2012:
Die oben genannten Daten beziehen sich auf die Chernarus-Datenbank, Lingor-Server verwenden ab dem 10.11.2012 ihre eigene Datenbank:
- Hostname / IP: 127.0.0.1
- Username: lingors
- Password: 123456
- Database: lingors
Die Datenbanktabellen
Nachdem ihr die Verbindung mit HeidiSQL zu eurer lokalen Datenbank hergestellt habt, seht ihr nun eine Auflistung aller sich
darin befindlichen Scripte und Tabellen. Mit einem Doppelklick auf den jeweiligen Script / jeweilige Tabelle öffnet ihr ihn/sie
und könnt euch die darin gespeicherten Daten anschauen oder sie euren Wünschen entsprechend anpassen.
Da die Scripte für diese Anleitung unwichtig sind, fasse ich mich (mehr oder weniger) kurz und gebe euch einen Überblick über
die wichtigsten Tabellen.
- instances
Die "instances"-Tabelle ist wohl mit eine der interessantesten Tabellen für Admins. Diese Tabelle bietet Admins nicht nur die
Möglichkeit ihren Server mit einer bestimmten Timezone (Zeitzone) starten zu lassen, sondern auch, wenn sie dies wünschen, ein
Loadout für neue Spieler zu erstellen. Das Loadout definiert quasi ALLE Gegenstände, welche für jeden neuen Spieler vom Einstieg
an zur Verfügung stehen sollen.
Wer seinen Server mit BEC bzw. dem Scheduler-System neustartet, sollte bei der Timezone allerdings auch folgendes berücksichtigen:
- 1 Saintly DayZ Server kann immer nur eine instance Id besitzen (standardmäßig ist dies die 1)
- Der Server wird immer mit der eingestellten Timezone gestartet. Startet er um 6:00 Uhr frühs mit der Timezone -6 neu, so ist es im Spiel 24:00 Uhr nachts. Wer also einen Day Only Server haben möchte, sollte sich genau überlegen welche Timezone er verwendet und wann und wie oft er den Server neustarten lässt
- main
Die "main"-Tabelle beinhaltet alle Spielerbezogenen Daten, u.a. eine einzigartige Id mit der ein Spieler identifiziert werden kann, sein Name, Inventar, Rucksack, Gesundheitsstatus, angelegte Waffen, Outfit usw. usw..
- objects
Die "objects"-Tabelle beinhaltet die Daten (Koordinaten, Inventar, Zustände etc.) aller gespawnten Fahrzeuge und Objekte auf eurem Gameserver. Möchtet ihr ein Fahrzeug per Hand in der Datenbank modifizieren, so habt ihr hier die Möglichkeit dazu.
- spawns
Die "spawns"-Tabelle kann man als eine Art Spawn-Template für den vehicles.pl Script verstehen. Dieser Script greift auf die Einträge dieser Tabelle zu, wählt zufällig mehrere Einträge aus und verwendet ihre Daten dazu, um euch ein Fahrzeug (mit zufällig gewählten Zuständen (mit 4 Rädern, ohne Räder, 3 Räder, 2 Räder aber beschädigt, 50% Sprit etc.)) in der "objects"-Tabelle einzutragen.
Inwiefern ein Zusammenhang zwischen dieser und der "objects"-Tabelle in Hinsicht auf verlinkung besteht, kann ich zum jetzigen Zeitpunkt (noch) nicht genau sagen. Da der vehicle.py Script zerstörte Fahrzeuge automatisch beim nächsten Restart löscht und der "objects"-Tabelle auch automatisch neue Einträge hinzufügt, dürfte es eigentlich keinen wirklich bedeutenten Zusammenhang geben.
Ok, ok, und wie kriege ich die angepasste Datenbank nun wieder auf meinen Server - Fragezeichen
Sobald ihr die Datenbank euren Wünschen entsprechend angepasst habt, beendet ihr euren lokalen MySQL Server durch einen Doppelklick auf die "mysql_stop.bat" und arbeitet die nun folgenden Punkte ab:
- Erstellt ein Backup der sich momentan auf dem Gameserver befindlichen ibdata1 Datei (server_setup/xampp/mysql/data)
- Ladet die angepasste ibdata1 Datei (gsdb/mysql/data) per FTP wieder auf euren Gameserver hoch (server_setup/xampp/mysq /data)
- Startet euren Gameserver neu
Das wars dann auch schon!
Anmerkung: Zum jetzigen Zeitpunkt müsst ihr diese Schritte leider immer wiederholen, wenn ihr Änderungen an eurer Datenbank vornehmen wollt.
Es grüßt
Naseweis