Database backends/de
![]() |
English • Deutsch • français • italiano |
---|
Contents |
Datenbanken
Minetest untersützt viele Datenbanken. Diese Seite vergleicht vier von ihnen (tatsächlich fünf, allerdings ist der dummy im Allgemeinen nicht nützlich).
Es gibt in Minetest zwei Datenbanken (seit 0.4.16)
- Karten
- Spieler
Kartendatenbank
Die Datenbank wird mittels der Einstellung backend
in world.mt gesetzt.
Falls Sie eine Weltkarte auf eine neue Datenbank migrieren möchten, verwenden Sie minetest --server --migrate <Name der neuen Datenbank> --world <Pfad zu Ihrem “world”-Verzeichnis>
.
Spielerdatenbank
Die Spielerdatenbank wird mittels der Einstellung player_backend
in world.mt gesetzt.
Falls Sie Spieler auf eine neue Datenbank migrieren möchten, verwenden Sie minetest --server --migrate <Name der neuen Datenbank> --world <Pfad zu Ihrem “world”-Verzeichnis>
.
Vergleichstabelle
Datenbank | Geschwindigkeit | Zuverlässigkeit | Kompatibilität zwischen Versionen | Karten | Spieler |
---|---|---|---|---|---|
SQLite3 |
Gut |
Akzeptabel (Probleme bei konkurrierenden Zugriffen möglich) |
Sehr gut (immer unterstützt) |
✔ | ✔ |
LevelDB |
Gut |
Gut |
Meistens unterstützt |
✔ | |
Redis |
Sehr gut (Daten bleiben im Arbeitsspeicher) |
Gut |
Ungünstig (Redis-Server erforderlich) |
✔ | |
PostgreSQL |
Sehr gut (die am häufigsten verwendeten Daten liegen im Speicher, andere werden vom Datenträger abgerufen) |
Sehr gut |
Ungünstig (PostgreSQL-Server erforderlich) |
✔ | ✔ |
Dummy |
Höllisch schnell |
nicht verfügbar (nichts wird auf den Datenträger gespeichert) |
nicht verfügbar (nichts wird auf den Datenträger gespeichert) |
✔ | ✔ |
Sie Spalte Kompatibilität zwischen Versionen ist nur von Bedeutung, falls Sie die Welten verteilen möchten.
SQLite3
SQLite3 ist die Standarddatenbank für alle Minetest-Welten. Sie wird von jeder Minetest-Version unterstützt und ist daher das zum Verteilen von Welten benutzte Standarddatenbankformat.
LevelDB
LevelDB wird meist auf Servern benutzt, da es die Zuverlässigkeit und mögliche Geschwindigkeit verbessert. Sie müssen es zusätzlich installieren.
Redis
Die Redis-Unterstützung wurde im April 2014 zu Minetest hinzugefügt. Redis ist hauptsächlich auf Servern nützlich, da es das Speichern mehrerer Welten in einer Redis-Instanz erlaubt. Sie müssen es zusätzlich installieren (Bibliothek libhiredis).
Informationen über das Aufsetzen eines Redis-Servers können Sie hier finden: https://redis.io/topics/quickstart
world.mt-Einstellungen für Redis
redis_address
-- Die IP oder der Rechnername des Redis-Servers.
redis_port
-- Der Port des Redis-Servers. Optional, Voreinstellung: 6379
redis_hash
-- Hash, wo die Kartenblöcke gespeichert werden, falls Sie mehrere Welten in einer Redis-Instanz betreiben, muss er sich für jede Welt unterscheiden. Falls Sie das nicht benötigen, können Sie z.B. IGNORED
benutzen.
PostgreSQL
PostgreSQL-Unterstützung wurde im Mai 2016 zu Minetest hinzugefügt. Sie ist haupsächlich auf Servern nützlich, da sie mehrere Welten in einer einzigen Instanz in mehreren Datenbanken erlaubt.
PostgreSQL ist eine hervorragende Alternative zu Redis. Sie legt nicht alle Daten im Speicher ab, nur die aktuellen und häufig geladenen. Alle Daten liegen auf dem Datenträger und dieser Speicher ist sehr robust. Sie können außerdem sehr einfach eine Benutzerschnittstelle zu Ihrer Website mit der Datenbank verbinden, um den Anwendern eine Oberfläche zu bieten.
Obwohl auch ältere Versionen untersützt werden, wird mindestens PostgreSQL 9.5 empfohlen.
Um die Leistung von PostgreSQL mit Minetest-Servern zu verbessern, konfigurieren Sie bitte die postgresql.conf
mit mindestens 512 MB shared_buffer
und maximal 50% des verfügbaren Arbeitsspeichers Ihres Servers.
world.mt für PostgreSQL
pgsql_connection
-- PostgreSQL-Verbindungszeichenkette für die Weltkarte | host=<Datenbankrechner> user=<Datenbankbenutzer> password=<Datenbankpasswort> dbname=<Datenbankname>
pgsql_player_connection
-- PostgreSQL-Verbindungszeichenkette für Spieler | host=<Datenbankrechner> user=<Datenbankbenutzer> password=<Datenbankpasswort> dbname=<Datenbankname>
Dummy
Eine Dummy-Datenbank ist eine Datenbank, die Kartenblöcke im Arbeitsspeicher ablegt ohne sie zu speichern. Diese Datenbank wird nicht oft benutzt. CTF-Server verwenden Dummy, da Karten nicht gespeichert werden müssen (sie werden in jeder Runde wiederhergestellt).