Zentralisierter Datenbankmanager

  • Zentralisierter Datenbankmanager
  • Zentralisierter Datenbankmanager
  • Zentralisierter Datenbankmanager
  • Zentralisierter Datenbankmanager
  • Zentralisierter Datenbankmanager
  • Zentralisierter Datenbankmanager
LeGrizzly
40 Abonnenten
V2.0.0.0
1 595

Zentralisierte Speicher- und VS-Code-Tools für Modder

SiloDB ist ein wesentliches Infrastrukturtool für den Landwirtschafts-Simulator 25. Es bietet Mod-Erstellern eine zentralisierte und strukturierte Datenbank zum dauerhaften Speichern von Informationen, ohne dass das Risiko von Konflikten zwischen Mods dank eines „Namespace“-Isolationssystems besteht.

Keine komplexen XML- oder JSON-Dateien mehr, die für jeden Mod manuell verwaltet werden müssen. Mit SiloDB werden Daten organisiert, eingegeben und automatisch in Ihrem Spielordner (Savegame) gespeichert.

Hauptmerkmale:
- 📦 Komplettes ORM-System: Definieren Sie Ihre Datenmodelle (Felder, Typen, Standardwerte).
- 🛡️ Totale Isolation: Jeder Mod hat seinen eigenen Speicherplatz (Namespace).
- 💾 Automatische Persistenz: Daten werden mit dem aktuellen Backup verknüpft.
- ⚡ Optimierte Leistung: Leichte NoSQL-Engine basierend auf JSON.
- 🛠️ Entwicklertools: Konsolenbefehle enthalten, um die Datenbank in Echtzeit zu überprüfen und zu ändern.
- 🔗 Keine Konfiguration: Integriert sich über eine einfache Abhängigkeit in modDesc.xml.

Um Ihren Workflow zu beschleunigen, ist eine spezielle VS-Code-Erweiterung inklusive IntelliSense, Code-Snippets und einem Live-Baum enthalten, mit dem Sie Ihre Datenbankdateien direkt im Editor überprüfen können.

---

Leitfaden „Erste Schritte“ (Moderatoren)

Um SiloDB in Ihrem Projekt zu verwenden, fügen Sie zunächst die Abhängigkeit in Ihre modDesc.xml ein:

1 <Abhängigkeiten>
2 <Abhängigkeitsname="FS25_SILODB" />
3 </dependencies>

Implementierungsbeispiel (API v2.0):

So initialisieren Sie die API, definieren eine Vorlage und speichern Daten in wenigen Zeilen:

-- 1. Initialisierung (Zugriff auf globale API)
local SILODB = g_globalMods["FS25_SILODB"]

wenn SILODB und SILODB.isReady() dann
-- Verbindung zu Ihrem dedizierten Speicherplatz
lokale Datenbank = SILODB.bind("FS25_MonMod")

-- 2. Modelldefinition (Datenstruktur)
db:define("PlayerStats", {
Felder = {
name = { type = "string", erforderlich = true },
Punkte = { Typ = "Zahl", Standard = 0 },
isVIP = { type = "boolean", default = false },
Optionen = { Typ = "Tabelle" }
}
})

-- 3. Daten speichern (Set / Create)
local newRecord, err = db:create("PlayerStats", {
Name = „Grizzly“,
Punkte = 150,
isVIP = wahr
})

Wenn nicht, dann irren
print("Daten gespeichert mit ID: " .. newRecord.id)
Ende

– Aktualisieren eines vorhandenen Datensatzes
db:update("PlayerStats", newRecord.id, { Punkte = 200 })
Ende

---

Konsolenbefehle (Debug):
- dbList <Namespace>: Alle Schlüssel/Modelle eines Mods auflisten.
- dbGet <namespace> <model> <id>: Zeigt den Inhalt eines Datensatzes an.
- dbSet <namespace> <key> <value>: Ändert schnell einen einfachen Wert.

---

Machen Sie mit
Wir sind auf der Suche nach Feedback! Egal, ob Sie einen Fehler melden, eine Funktion anfordern oder eine Integration vorschlagen möchten, nehmen Sie an der Diskussion auf GitHub teil.

Kaution und Unterlagen:
SILODB: https://github.com/LeGrizzly/FS25_SILODB
VSCode-Erweiterung: https://github.com/LeGrizzly/VS_Code_SILODB
Discord: https://discord.gg/7xUh3AsJPZ

Server
Konsolen
Änderungsprotokoll
2
  • Wesentliche Änderungen:
    - Komplettes Rebranding: DBAPI wird zu SILODB (modDesc, Skripte, Konsolenbefehle und API).
    - Übergang zu ORM: Einführung eines strukturierten Datenverwaltungssystems (CRUD: Create, Update, Delete, Find).
    - Abfrage-Engine: QueryEngine (Filterung, Sortierung, Paginierung) und SchemaValidator hinzugefügt.

    Wichtige Änderungen:
    - Entfernung des Schlüsselwerts: Die alten Methoden getValue, setValue, deleteValue und listKeys werden entfernt.
    - Neuer Export: Skripte müssen jetzt SILODB statt DBAPI aufrufen.

    Verbesserungen:
    – BeispielDbUsage.lua mit Fehlerbehandlung aktualisiert.

Credits
Kommentare
0