# Datenbank Sync

## Der Datenbank Sync

### Was ist das Überhaupt?

Der Datenbank Sync von EmergencyOS steht dir aber der Lite Version als Addon zur Verfügung. Mit dem Datenabnk Sync, kannst du die Datenbank deines FiveM Servers mit EmergencyOS verknüpfen und alle Spielerdaten & Fahrzuege mit EmergencyOS Syncronisieren.

### Was bringt dir das?

#### Personenabfrage

Der Datenbank Sync bietet viele Vorteile, dadurch sind alle Spieler auf deinem Server bereits in der Personenabfrage eingetragen und man muss nicht jede Person manuell anlegen, so kannst du direkt nach Namen suchen, desweiteren werden Werte wie die Telefonnummer, das Geburtsdatum und Geschlecht Syncronisiert.

#### Telefonabfrage

Desweiteren kannst du die Telefonabfrage App effektiver Nutzen da du dann automatisch jeden besietzer einer Telefonnummer finden kannst.

#### Fahrzeugregister

Desweiteren hat der Sync auch einen großen Vorteil, wenn du das Fahrzuegregsiter benutzt. Hier werden nähmlich automatisch alle Fahrzuege deines Servers geladen und müssen nicht manuell eingetragen werden, so können deine Staatsfraktionen Kennzeichenabfragen durchführen und können direkt den Besitzer des Fahrzuegs ermittleln.

## Wie kann ich den Datenbak Sync nutzen?

Um den Datenbank Sync zu nutzen, musst du zuerst das Addon aktivieren. Logge dich dazu auf <https://ancomox.com/login> ein. Klicke dann auf **Deine Produkte** links in der Seitenleiste und klicke auf **Einstellungen** bei der EmergencyOS Instanz, bei welcher du den Sync aktivieren möchtest.

<figure><img src="/files/t3jnTjzJeidF2iKwYfvR" alt="" width="375"><figcaption><p>Einstellungen für die gewünschte Instanz</p></figcaption></figure>

Nun bist du auf der Dasboard Seite für dein EmergencyOS, wähle hier im rechten Bereich das Addon **Datenbank Sync** und klicke auf **Aktivieren**, bestäte die AGBs und Buche das Addon für 2.99 Ancoins pro Monat.

<div align="left"><figure><img src="/files/R1XOJnPBps27J1NUe6wc" alt="" width="375"><figcaption><p>Datenbank Sync addon auswählen</p></figcaption></figure></div>

<div align="right"><figure><img src="/files/OozxoXLBiwMcZnCOj5Ry" alt="" width="375"><figcaption><p>Buchung bestätigen</p></figcaption></figure></div>

Nun hast du das Datenbank Sync Addon erfolgreich aktiviert und kannst mit der Einrichtung fortfahren.

## Die Einrichtung

{% hint style="warning" %}
Beachte, dass nur MySQL Datenbanken unterstützt werden
{% endhint %}

### Datenbank konfigurieren

Bevor du mit der eigentlichen Einrichtung starten kannst muss du deine Datenbank so konfigurieren, dass sich unsere Server von außen mit deiner Datenbank verbinden können.

Die Einrichtung Unterscheidet sich zwischen Linux & Windows Servern, wir zeigen dir beide Varianten.

#### Windows Server

Um deine Datenbank auf einem Windows Server zu konfigurieren verbinde dich zunächst über eine Remote Desktop verbindung mit diesem.

{% hint style="info" %}
Zuerst müssen wir überprüfen ob dein Server Zugriff auf unsere IP Addresse hat, öffne hierfür die Kommandozeile **CMD (Appsuche > "CMD")** und tippe folgenden Command ein `ping 141.94.87.67`  solltest zu eine Antwort erhalten, ist alles gut, solltest du eine Fehlermeldung erhalten, kontaktiere bitte deinen Hosting anbieter um unsere IP Adresse Whitelisten zu lassen oder ürberprüfe deien Firewall einstellungen.
{% endhint %}

Um deine MySql Datenbank auf Windows freizugeben musst du eigentlich nur den SQL Port in der, Windows Firewall freigeben. Gehe hierzu wie folgt vor:\
\
**Schritt 1:**\
Suche nach Firewall in der Windows Suche und wähle "Firewall & Netzwerkschutz"

<figure><img src="/files/JKz5KbJs7tCrMwn68Uvi" alt="" width="375"><figcaption><p>Öffne die Firewall einstellungen</p></figcaption></figure>

Klicke jetzt auf "Erweiterte Einstellungen"

<figure><img src="/files/avvNkrEpUOURenzcVUf2" alt=""><figcaption><p>Klicke auf "Erweiterte Einstellungen"</p></figcaption></figure>

Jetzt solltest du diese Seite sehen, klicke hier rechts oben auf "**Neue Regel**"

<figure><img src="/files/efn5Q68x33yBJbE5WsE1" alt=""><figcaption><p>Klicke hier auf "Neue Regel"</p></figcaption></figure>

Jetzt kannst du, die Portfreigabe Konfigurieren.\
Wähle unter Regeltyp "**Port**" und klicke dann af "**Weiter**", wähle jetzt **TCP** und gebe den Port **3306** ein

<figure><img src="/files/ECh5vFiKgnjXJV6S4Uh7" alt="" width="363"><figcaption><p>Wähle das TCP Protokoll und den Datenbank Port</p></figcaption></figure>

{% hint style="info" %}
Bei manchnen Datenbank Konfigurationen kann es sein, dass die Datenbank auf einem anderen Port läuft, sollte dies der falls sein weißt du aber normalweweise sowiso was du tust.
{% endhint %}

Klicke bei **Aktion & Profil** auf **Weiter**, vergebe einen Namen (eg. MySQL Port) und klicke auf "**Fertigstellen**"

<figure><img src="/files/zP6rTpBPIAet5Vxl6nek" alt="" width="375"><figcaption><p>Vergebe einen Namen und klicke auf Fertigstellen</p></figcaption></figure>

**Jetzt hast du erfolgrich deine Datenbank freigegeben.**

\
Um zu überprüfen, ob die Datenbank richtig Konfiguriert ist, besuche eine Seite wie <https://portchecker.co/> und überprüfe, on der Port 3306 auf deiner IP Addresse geöffnet ist.\
\
Scrolle weiter zu "**Datenbank Benutzer**"

#### Linux (Debian 10) Server

Um deine Datenbank auf einem Linux Server zu konfigurieren verbinde dich zunächst über eine ssh Konsole mit diesem.

{% hint style="warning" %}
Zuerst müssen wir überprüfen ob dein Server Zugriff auf unsere IP Addresse hat, tippe folgenden Command in deine ssh Konsole ein `ping 141.94.87.67`  solltest zu eine Antwort erhalten, ist alles gut, solltest du eine Fehlermeldung erhalten, kontaktiere bitte deinen Hosting anbieter um unsere IP Adresse Whitelisten zu lassen oder ürberprüfe deien Firewall einstellungen.
{% endhint %}

Wenn unser Server erreichbar ist können wir mit der Einrichtubg fortfahren. Führe hierzu folgende Commands hintereinander aus.

{% hint style="info" %}
Wenn du nicht als root Benutzer eingeloggt bist ist es bei machen commands nötig davor **sudo** zu schreiben
{% endhint %}

\
`cd`

`nano /etc/mysql/my.cnf`

{% hint style="info" %}
Dies öffnet die my.cnf (mysql config Datei) im Linux eigenen Editor nano, in einigen fällen kann es sein, dass sich diese Datei an einer anderen stelle befindet, sollte aber zu finden sein:\
\
Du kannst die Datei auch über FTP suchen und mit von dort aus mit deinem Editor bearbeiten.
{% endhint %}

Nun sollte sich eine Datei geöffnet haben und deine consoel sollte ca. so aussehen:<br>

<figure><img src="/files/hhEw1xN5Pl02ozQI1nr9" alt="" width="563"><figcaption><p>Die my.cnf Datei</p></figcaption></figure>

Suche in diese Datei nach der Zeile in der `bind-address` steht, falls ein # vor der Zeile steht, entferne dieses und setze bin address auf `bind-address = 0.0.0.0` das sollte in der Datei dann so aussehen.

`bind-address = 0.0.0.0`

Jetzt musst du die Datei Speichern, drücke hierfür in nano editor zuerst **STRG + X**, dann wirst du gefragt ob du die Datei Speichern möchtest, bestätige dies mit **Y** und dann **Enter.**

Jetzt solltest du wieder in der gewohnten Konsole sein, jetzt musst du die Datenbank noch neustarten, mache dies mit folgendem Befehl

`systemctl restart mysql.service`

Solltest du hier eine Fehlermeldung erhalten, überprüfe die Datei nocheinmal. Ansonsten sollte die Datenbank jetzt Konfiguriert sein.\
\
Um zu überprüfen, ob die Datenbank richtig Konfiguriert ist, besuche eine Seite wie <https://portchecker.co/> und überprüfe, on der Port 3306 auf deiner IP Addresse geöffnet ist.

{% hint style="info" %}
In seltenen fällen kann es möglich sein das eine Firewall Konfiguration den Port 3306 blocked, was bei Linux Server aber nicht oft vorkommt.\
\
Sollte es nicht funtionieren und du bist dir sicher dass du alles andere richtig gemacht hast. führe diesen Command aus, um den Port in der Linux Fiewall (iptables) freizugeben:

**`iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT`**
{% endhint %}

{% hint style="warning" %}
Bei besonderen Konfigurationen, ist es möglich, dass die Datenbank nicht auf Port 3306 liegt, sollte das der fall sein, weißt du normalerweise eh was du tust.
{% endhint %}

### Datenbank Benutzer

So, da wir nun unsere Datenbank Konfiguriert haben, müssen wir noch einen neuen Benutzer für EmergencyOS anlegen. Logge dich hierfür mit einem Account mit hohen Berechtigungen bei deinem phpmyadmin ein und befolge folgende schritte:

**Schritt 1**\
Klicke auf das Home Symbol links oben und dann auf den reiter "**Benutzerkonten**" rechts oben.

<figure><img src="/files/QhBkTJkFClfkGqv0tWOx" alt="" width="375"><figcaption><p>Klicke auf Home und dann auf Benutzerkoten</p></figcaption></figure>

**Schritt 2**\
Klicke auf "**Benutzerkonto hinzufügen**"<br>

<figure><img src="/files/6p7znICXHfSPvJFCDtw5" alt="" width="375"><figcaption><p>Klicke auf "Benutzerkonto hinzufügen"</p></figcaption></figure>

**Schritt 3**\
Jetzt kannst du die Daten für den neuen Benutzer anlegen, wäle einen Benutzernamen am besten **emergencyos** oder ähnliches. Jetzt bei Hostname wählst du "Dieser Host" und tippst die IP Addresse **`141.94.87.67`** ein. Um ein sicheres Passwort zu erhalten klicke auf "Generieren" und kopiere dir das Generierte Passwort für später.\
\
Unten bei den Rechten reicht es die **SELECT** rechte freizugeben

<figure><img src="/files/XNUeA7y2SYVufsL0luDI" alt=""><figcaption><p>Erstelle einen neuen Benutzer mit SELECT rechten</p></figcaption></figure>

Klicke jetzt unten auf **OK**

<figure><img src="/files/vMP8GlIf5STB47PW8ZMH" alt="" width="349"><figcaption><p>Erstelle den Account indem du auf OK klickst</p></figcaption></figure>

Jetzt hast du erfolgrich einen Benuteraccount erstellt, nun kannst du diesen Account mit EmergencyOS verbinden, wie das geht erfährst du im nächsten Schritt.

### Datenbank mit EmergencyOS verbinden

Um den Datenbank Sync einzurichten musst du auf <https://emergencyos.de/> welcheseln.\
logge dich dort nun mit deinen Admin Zugangsdaten, welche du beim Bestellen des Produkts erhalten hast ein.\
\
Wenn du dich erfolgrich eingeloggt hast befindest du dich auf dem EmergencyOS Desktop, klicke hier links unten auf das EmergencyOS Logo und öffne das Startmenu, klicke im Startmenu links unten auf das Zahnrad Icon um die Einstellungen zu öffnen.

<div align="left"><figure><img src="/files/6e9sqeZaEmJ8Y6u4tGEH" alt="" width="261"><figcaption><p>Einstellungen aufrufen</p></figcaption></figure></div>

<div align="right"><figure><img src="/files/LsVBoa1AYPN15jMNkSL0" alt="" width="375"><figcaption><p>Datenbank Sync einstellungen auswählen</p></figcaption></figure></div>

Wähle in den Einstellungen nun den Punkt **Datenbank Sync** dort solltest du jetzt folgende Seite sehen. Klicke hier auf "**Anlegen**".

<figure><img src="/files/ACNt0V6OpktOo3jNhpaf" alt=""><figcaption><p>Datenbank Sync anlegen</p></figcaption></figure>

Jetzt solltest du nach deinen Datenbank Zugangsdaten gefragt werden, trage diese ein.

{% hint style="info" %}
Eventuell angezeigte Fehler/Warnungen können ignoriert werden.\
Auch falls in den Eingabefeldern sich bereits Text befindet, diesen einfach zuerst löschen.
{% endhint %}

**IP Addresse der Datenbank:**\
Trage hier die IP Adresse des Servers ein auf dem die Datenbank läuft, falls du einen anderen Port als 3306 nutzt auch diesen, also zb. **194.176.82.105:0633**

**Datenbankname**\
Trage hier den Namen der Datenbank ein in welcher deine Server Daten liegen, diesen findest du in phpmyadmin

**Benutzername**\
Bei Benutzername trägst du den Benutzernamen, welchen zu zuvor erstellt hast ein\
\
**Passwort**\
Hier trägst du das Passwort des Benutzers ein welches du zuvor erstellt und kopiert hast

Das sollte jetzt ungefär so aussehen, klicke auf "**Weiter**"

<figure><img src="/files/T3oKI6PoU0rkOzCjBaDD" alt=""><figcaption><p>Nachdem du alle Daten eingetragen hast klicke auf Weiter</p></figcaption></figure>

Nun kann es bis zu einer Minute dauern, bis du weitergeleitet wirst, wir stellen gerade die Verbindung zu deiner Datenbank her.\
\
Solltest du einen Fehler "**Connection Timed Out**" erhalten, überprüfe die Konfiguration deiner Datenbank, deine Eingegebene IP Addresse udn ob dein Server unseren Server erreichen kann wie oben beschrieben.\
\
Wenn du alles richtig gemacht hast, siehst du nun folgende Seite:

<figure><img src="/files/eaHY8oqT8Y8JY3cVNjZw" alt=""><figcaption><p>Hier kannst du die Tabelle für User &#x26; Fahrzuege auswählen</p></figcaption></figure>

Wähle hier die Datenbank Tabelle aus in den deine user und die in der deine Fahrzeuge gespeichert sind. Das sollte bei einem Standart ESX Server so aussehen (**users** & **owned\_vehicles**), klicke nun auf "**Weiter**"

<figure><img src="/files/rztKsJFnRb6yBy9BBKHy" alt=""><figcaption><p>Wähle hier die richtigen Tabllen aus</p></figcaption></figure>

Nun solltest du folgende Seite sehen:<br>

<figure><img src="/files/ZMrQEafm4fM7TyPc2s8P" alt="" width="563"><figcaption><p>Hier musst du die richtigen Spalten für die users Tabelle auswählen</p></figcaption></figure>

Hier musst du alle korrekten Spalten für die users tabelle auswählen, diese bedeuten Folgendes

**Zusammengesetzter Name?**\
Wähle das hier ab, wenn sich Name & Nachname in der selben Spalte befinden sollte, das ist aber im normalfall nicht der Fall.\
\
**Identifier**\
Wähle hier die Spalte aus in der der einzigartige Identifer des Spielers befindet (bei ESX `identifier`)

{% hint style="info" %}
Diese identifer wird auch bei dem API Addon verwendet um zb. eine Rechnung auszustellen oder den Job des Spielers zu erhalten.
{% endhint %}

**Telefonnummer**\
Wähle hier die Spalte aus in der die Spalte aus in der sich die Telefonnummer des Spielers befindet. (Bei ESX ist es `phone_number`)

{% hint style="danger" %}
Manche Handy Scripts speichern die Telefonnummer nicht direkt in einer Spalte sonden mit mehreren Daten in einem Feld, wir arbeiten bereits an einer Lösung für dieses Problem.
{% endhint %}

**Vorname**\
Wähle hier die Spalte in der sich der Vorname des Spielers befindet (Bei ESX: `firstname`)

**Nachname**\
&#x20;Wähle hier die Spalte in der sich der Namename des Spielers befindet (Bei ESX: `lastname`)

**Geschlecht**\
Wähle hier die Spalte aus in der das geschlecht des Speielers gespichert wird (Bei ESX `sex` oder `isMale`)\
\
**männlicher Geschlechtswert**\
Gebe hier ein was in der Geschlecht-Spalte als männlich angesehen wird (Bei ESX `m` oder `1`, je nach Version). Beachte: Alle anderen Werte werden als Weblicher Spieler angelegt.\
\
Die Konfiguration sollte jetzt ca. so aussehen (Beispiel für ESX 1.9.4):

<figure><img src="/files/bVECFXSyUJEdHf4nbkhA" alt=""><figcaption><p>Alle Spalten der users Tabelle wurden ausgewählt</p></figcaption></figure>

Scrolle jetzt weiter nach unten um die weiteren Felder zu Konfigurieren

<figure><img src="/files/DrxZN9Okxn3YhGblDvTC" alt=""><figcaption><p>Wähle hier wieder die Richtigen Spalten</p></figcaption></figure>

**Gerburtsdatum**\
Wähle hier die Spalte in der sich das Geburtsdatum des Spielers befindet (Bei ESX: `dateofbirth`)\
\
Jetzt kommen wir zur Fahrzuegkonfiguration:\
\
**Unique ID**\
Hier musst du einen eindutigen Identifier für das Fahrzeug angeben, die gute Methode ist, einen weiteren Index in deiner Fahrzuegtabelle zu erstellen, welcher das Fahrzueg einzigarig macht, das machst du folegndermaßen:\
\
1\. Logge dich in phpmyadmin ein\
2\. Wähle deine Server Datenbank aus\
3\. Wähle die Fahrzeugtabelle aus\
4\. Klicke auf Struktur & Wähle "**Spalte(n) hinzufügen**", dort "**Am Tabellenanfang**" und klicke auf **OK**

<figure><img src="/files/RgtgwXaF4g0DkPaMrJpg" alt="" width="563"><figcaption><p>Lege eine neue Spalte in der Fahrzeugtabelle an</p></figcaption></figure>

4\. Vergebe einen Namen (eg. **id**), wähle den Typ **INT**, die Länge **11**, gebe Bei Index **Unique** and und wähle das Kästchen bei **A\_I** (**Wichtig!!**) und klicke dann auf "**Speichern**"

<figure><img src="/files/uvQfqhuXyFl1Tsnp3YHO" alt=""><figcaption><p>Erstelle einen neuen Unique Index mit dem Namen id</p></figcaption></figure>

{% hint style="info" %}
Es kann sein dass du bei der Auswahl **Index > Unique** noch ein Fenster angezeigt bekommst in dem du einen Namen vergeben sollst
{% endhint %}

5. Nun hast du erfolgrich einen Unique Index Angelegt, jetzt sollte jedes Fahrzueg am Anfang eine Spalte mit dem namen **id** haben in der siche eine fortlaufende zahl befindet

Du könntest hier Theoretisch auch das Kennzeichen als Unique ID nehmen, da bestht aber das problem, wenn sich das Kennzeichen des Fahrzuegs ändert (durch ein Plate Chnage Script oä.), der Sync dieses nichtmehr erkennt und ein neues Anlegt und im schlimmsten fall fals zwei Fahrzuege das Kennzeichen "tauschen", falsche Daten angezeigt werden. Wie bereits gesagt, diese Methode ist nicht empfohlen.\
\
**Owner**\
Gebe hier die die Spalte an in der der Besitzer des Fahrzuegs deklariert ist, dies muss der selbe "identifer" wie oben bei der User Knonfiguration "identifer" um das Fahrzeug einem user zuordnen zu können. (Bei ESX `owner`)\
\
**Kennzeichen**\
Sollte relativ saelbsterklärend sein, wähle hier die Spalte in der sich dass Kennzeichen des Fahrzuegs befindet (Bei ESX `plate`)

**Fahrzueugdaten**\
Wähle hier die Spalte in der die Fahrzuegdaten hinterlegt sind, meinstens ein Text mit ganz vielen Werten. (Bei ESX `vehicle`)\
\
**Type**\
Wähle hier die Spalte in der der Fahrzueg Typ hinterlegt ist (Bei ESX `type`)

{% hint style="warning" %}
Aktuell werden nur die Types car, boat & plane erkannt, wir arbeiten daran custom Types definieren zu können.
{% endhint %}

Die fertige Konfiguration sollte dann ca. so aussehen, klicke auf den "**Weiter**" Button

<figure><img src="/files/HWClVZbjaB3cVelSGa3V" alt=""><figcaption><p>Wähle alle Spaltwen aus un kllicke auf "Weiter"</p></figcaption></figure>

Jetzt kann es etwas dauern, wir fragen gerade testdaten ab. Nach einiger Zeit solltest du folgede Seite sehen:<br>

<figure><img src="/files/EXsJSqmY41liZpEfiKIB" alt=""><figcaption><p>Überprüfe deine Testdaten und klicke auf "Fertigstellen"<br></p></figcaption></figure>

Überpüfe hier ob die Spieler richtig erkannt werden (Es werden nur die ersten 5 Spieler angezeigt)\
Falls alles richtig ist, klicke auf Fertigstellen und schließe die Seite. Sollten die Spieler nicht richtig erkannt werden, klicke auf "Zurück" un überpüfe deine Eingaben.

{% hint style="warning" %}
Wir sind uns Bewusst, das der "Fertigstellen" Button keine Raktion Zeigt, bitte klicke diesden und schließe dann manuell die Seite. Wir arbeiten bereits daran.
{% endhint %}

Nun ist der Datenbank Syc fertig eingerichtetm du solltest nun in der "Personenregister" & "Fahrzeugreister" App deine Spieler und Fahrzuege finden:\
\
Wenn du jetzt erneut die Datenbank Sync einstellungen öffnest, solltest du diese Seite vorfinden.

<figure><img src="/files/y4HMd0u2yyechcRiVr2a" alt=""><figcaption><p>Aktuell aktivier Sync</p></figcaption></figure>

Hier findest du deine Aktuell aktive Konfiguration und kannst verschienden Aktionen wie eine Neueinrichtung oder einen Mauellen Sync starten.\
\
Jetzt ist deine Datenbank Erfolgrich mit EmergencyOS Verbunden und wird von unserem System automatsich alle 20 Minuten Syncronisiert.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.emergencyos.de/installation/datenbank-sync.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
