1
Datenbank
M_Viper edited this page 2026-03-19 06:41:10 +00:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Datenbank & CrossLink

ASC unterstützt zwei Datenspeicher-Backends: YAML (Standard, keine Einrichtung nötig) und MySQL/MariaDB (empfohlen für Netzwerke).


YAML-Modus (Standard)

Ohne MySQL-Konfiguration werden alle Spielerdaten in plugins/AutoSortChest/players.yml gespeichert. Kein weiteres Setup erforderlich.


MySQL aktivieren

In der config.yml:

mysql:
  enabled: true
  host: "localhost"
  port: 3306
  database: "autosortchest"
  user: "autosortchest"
  password: "autosortchest"

Das Datenbankschema wird beim Start automatisch migriert keine manuellen SQL-Befehle nötig.


Datenbank-Tabellen

Tabelle Inhalt
asc_players Spieler-UUIDs und Namen
asc_input_chests Registrierte Eingangstruhen
asc_target_chests Zieltruhen mit Item-Zuordnung und Slot-Index
asc_rest_chests Rest-/Fallback-Truhen
asc_trash_chests Mülltruhen mit Serverzuordnung
asc_trash_items Filter-Listen der Mülltruhen
asc_transfers Ausstehende CrossLink-Transfers zwischen Servern

Mit CrossLink können Zieltruhen auf anderen Servern desselben Netzwerks liegen. Benötigt MySQL.

Funktionsweise

  1. Server A hat die Eingangstruhe und erkennt, dass die Zieltruhe für OAK_LOG auf Server B liegt
  2. Server A schreibt den Transfer in die gemeinsame Datenbank-Tabelle asc_transfers
  3. Server B liest die Transfer-Tabelle periodisch und befüllt seine lokale Zieltruhe automatisch

Einrichtung (BungeeCord / Velocity)

  1. Dieselbe MySQL-Datenbank auf allen Servern eintragen
  2. Auf jedem Server einen eindeutigen server_name setzen
server_crosslink: true
server_name: "survival"   # z. B. "lobby", "survival", "creative"
  1. mysql.enabled: true und server_crosslink: true setzen
  2. Alle Server neu starten

⚠️ Wird server_name leer gelassen, läuft das Plugin im Legacy-Modus (welt-basierte Erkennung, kein BungeeCord).

Voraussetzungen

  • Alle Server nutzen dieselbe MySQL-Datenbank
  • Jeder Server hat einen eindeutigen server_name
  • server_crosslink: true auf allen beteiligten Servern

Import & Export

Zum Wechsel zwischen YAML und MySQL gibt es zwei Admin-Befehle:

Befehl Richtung Beschreibung
/asc import YAML → MySQL Überträgt players.yml in die Datenbank
/asc export MySQL → YAML Exportiert Datenbank zurück in players.yml

Beim Export wird automatisch ein Backup der bestehenden players.yml erstellt:
players_backup_<timestamp>.yml