Coins & Aktienmarkt

Das Modul economy gibt jedem Spieler ein Coins-Konto, das auf allen Servern gleich ist – oder, mit Clustern, eins pro Servergruppe. Darauf baut der market auf: ein Aktienmarkt im Dashboard, auf dem Spieler mit ihren Coins auf steigende oder fallende Item-Kurse setzen.

Hinweis

Lizenz: economy und market brauchen eine EternalSystem-Lizenz. Kostenlos in der Base sind standardmäßig core, punishments, reports und lobby; welche Module frei sind, kann sich ändern – gesperrte Module zeigt das Dashboard ausgegraut.

Einschalten

ModulbrauchtHinweis
economy–Auf jedem Server, auf dem Coins genutzt werden (auch für MagicItems-Kauf, Clan-Bank, /trade-Coins)
marketeconomy + item-trackingDie Kurse berechnet die REST-API aus den Tracking-Daten

Preset economy schaltet core, inventory-sync, item-tracking, locks, economy und market ein. Siehe Module & Presets.

Coins

Ein Konto pro Spieler und Cluster in der Datenbank (eternal_wallets, Beträge intern in Cent, also zwei Nachkommastellen). Jede Buchung landet in eternal_transactions. Abbuchungen sind atomar – ein Konto kann nicht ins Minus gehen.

config.yml

economy:
  enabled: true
  currency-name: Coin
  currency-name-plural: Coins
  symbol: "$"
  starting-balance: 100     # Startguthaben neuer Konten
  max-pay: 1000000          # Höchstbetrag pro /pay

Dieselben Werte stehen im Abschnitt economy: der api.yml – dort für Anzeige und Markt im Dashboard. Beide Stellen gleich halten.

Befehle

BefehlAliaseRechtBeschreibung
/money/balance, /bal–Eigenes Guthaben
/money <Spieler>– / eternal.economy.balance.othersFremdes Guthaben. Ohne Recht nur, wenn der Spieler „Coins für andere sichtbar“ in /settings an hat
/pay <Spieler> <Betrag>–Überweisen, höchstens max-pay
/baltop–Die 10 reichsten Spieler
/eco give|take|set <Spieler> <Betrag>eternal.economy.adminAdmin-Buchung (give = add, take = remove)

Coins unter dem Namen

Spieler können in /settings Coins unter dem Namen einschalten (wird jede Minute aktualisiert):

EinstellungAndere sehen
Coins unter dem Namen ausnichts – die Zeile ist ganz weg
an, Coins für andere sichtbar andas Guthaben, schön formatiert: 999, 12.345, 1,23 Mio, 4,5 Mrd, 7,8 Bio … (ohne Obergrenze)
an, sichtbar aussich bewegende, verschlüsselte Zeichen – der echte Wert wird gar nicht erst gesendet

Teamler mit eternal.economy.see-hidden sehen verborgene Guthaben in Rot; abschaltbar in /settings → Team → Versteckte Coins sehen. Dafür bekommen sie ein eigenes Scoreboard, das alle 2 s vom Haupt-Scoreboard gespiegelt wird (Teams, Sidebar, Tab anderer Plugins bleiben).

Hinweis

Text statt Zahl (Formatierung, Verschlüsselung) braucht Paper ab 1.20.3. Auf Spigot oder älteren Versionen steht dort die einfache Zahl, verborgene Guthaben zeigen keine Zeile.

Siehe Einstellungen.

Vault und andere Plugins

Der EconomyService ist als Bukkit-Service registriert. Liegt Vault auf dem Server, meldet Eternal sich zusätzlich als Vault-Economy an – ohne Compile-Abhängigkeit auf die Vault-API. Shop-, Jobs- oder Grundstücks-Plugins sehen dann die Eternal-Coins.

Warnung

Nur ein Economy-Plugin pro Server. Läuft daneben noch EssentialsX-Economy o. Ä., entscheidet Vault nach Priorität – Shops buchen dann eventuell auf ein anderes Konto.

Dashboard: Coins & Markt → Coins

Sichtbar für jeden eingeloggten Spieler:

  • eigenes Guthaben und eigene Buchungen
  • Überweisen an andere Spieler
  • Top-Liste
  • fremde Kontostände mit eternal.economy.balance.others
  • Admin-Buchung (geben, nehmen, setzen) mit eternal.economy.admin
  • Auswahl des Clusters, wenn es mehrere gibt

Cluster

Ein Cluster ist eine Gruppe von Servern, die sich dieselben Konten teilen. So haben z. B. alle CityBuild-Server ein gemeinsames Guthaben, während die Minigame-Server eigene Coins (oder eine eigene Währung wie „Gems“) haben. Ein Spieler hat pro Cluster ein eigenes Konto.

  • Mitglieder sind Servernamen und/oder Cloud-Tasks. Ein Task umfasst jeden seiner Services (<task>-<n>, z. B. citybuild-1, citybuild-2). Steht ein Server mit Namen in einem Cluster und sein Task in einem anderen, gewinnt der Name.
  • Standard-Cluster (default): Jeder Server, den kein Cluster nennt, gehört dazu. Das sind auch alle Konten von vor den Clustern – beim Update wird nichts verschoben oder gelöscht.
  • Währung pro Cluster (optional): Name, Mehrzahl, Symbol und Startguthaben. Leere Felder nehmen die Werte aus economy: in der config.yml des Servers.
  • Ein Server ermittelt seinen Cluster beim Start und prüft alle 30 s auf Änderungen. Alle Buchungen – /money, /pay, /baltop, /eco, Vault, AdminShop, MagicItems, Clans, /trade, Grundstücke – laufen im Cluster des Servers. /pay erreicht nur Konten desselben Clusters.
  • Gespeichert netzwerkweit in eternal_shared_config (economy-clusters.json). Konten und Buchungen hängen am Paar (Cluster, Spieler).

Dashboard: Coins & Markt → Cluster

Mit eternal.economy.admin: Cluster anlegen (Name + ID; die ID ist danach fest), umbenennen, Währung und Startguthaben setzen, Server und Cloud-Tasks zuordnen (Vorschläge aus den gemeldeten Servern und Tasks, freie Eingabe möglich) und löschen. Rechts steht, in welchem Cluster jeder gemeldete Server landet. Ein Server, der einem Cluster zugeordnet wird, verlässt seinen bisherigen Cluster.

Auf Coins und Geld-Statistik wählt man den Cluster oben rechts (nur sichtbar, wenn es mehr als den Standard-Cluster gibt).

Hinweis

Löschen entfernt nur die Zuordnung – die Konten bleiben in der Datenbank. Ein neuer Cluster mit derselben ID bekommt sie zurück; bis dahin zeigt die Cluster-Seite sie als „Konten ohne Cluster“.

Warnung

Erst alle Server auf die Version mit Clustern aktualisieren, dann Cluster anlegen. Ältere Versionen kennen nur ein Konto pro Spieler und würden bei mehreren Konten das falsche erwischen.

  • Aktienmarkt: Er gehört zu einem Cluster, typischerweise CityBuild. Den legst du bei dem Cluster mit Börse fest. Einsatz und Auszahlung laufen über die Konten dieses Clusters, in dessen Währung, egal von wo aus jemand handelt. Ohne Markierung gilt der Standard-Cluster.
  • Clan-Bank: Jeder Cluster hat seine eigene Clan-Bank. /clan bank zeigt und bucht die Kasse des Clusters, auf dessen Server man gerade ist. Die Bank aus der Zeit vor den Clustern liegt im Standard-Cluster.
  • AdminShop-Kontingent: Es gibt netzwerkweit eins für alle Cluster. Ausgezahlt wird in den Cluster des Servers, auf dem verkauft wird.

Überweisen zwischen Clustern

Geld wandert mit einer Überweisung in einen anderen Cluster: auf das eigene Konto dort oder, wo es erlaubt ist, an einen anderen Spieler. Ohne Regel ist keine Strecke offen. Die Regeln pflegst du unter Coins & Markt → Überweisungsregeln (eternal.economy.admin), dort steht auch der Hauptschalter.

FeldBedeutung
Von → NachQuell- und Ziel-Cluster, * = alle
Rechtwer die Regel nutzen darf, leer = alle mit eternal.economy.transfer (z. B. eternal.economy.transfer.vip für billigere VIP-Gebühren)
Prioritätpassen mehrere Regeln, gilt die höchste (bei Gleichstand die günstigere)
Kursautomatisch (Standard): Wert des Quell-Clusters ÷ Wert des Ziel-Clusters, den Wert einer Einheit stellst du unter Coins & Markt → Cluster ein (z. B. Standard 1, CityBuild 100 → 100 Standard-Coins = 1 CityBuild-Coin). Oder ein fester Kurs nur für diese Regel: 1 gesendet = Kurs × angekommen.
Gebühr an dich selbstfür Überweisungen auf dein eigenes Konto im anderen Cluster: Prozent + fester Betrag, begrenzt auf mindestens/höchstens. Sie geht vom Betrag ab und verschwindet aus dem Umlauf.
Gebühr an anderemit „eigene Gebühr“ eine eigene Gebühr für Überweisungen an andere Spieler, sonst dieselbe wie an dich selbst
Betragmindestens/höchstens pro Überweisung
Tageslimithöchstens so viel pro Spieler und Tag über diese Regel
WartezeitSekunden zwischen zwei Überweisungen über diese Regel
Tage, Uhrzeitwann die Strecke offen ist (Zeitzone im Kopf der Seite; „Bis“ kleiner als „Ab“ = über Mitternacht)
Auch an andereÜberweisung an einen anderen Spieler im Ziel-Cluster

So überweisen Spieler:

  • Ingame mit /transfer: ohne Argumente zeigt er die Strecken vom aktuellen Cluster mit Gebühr und Zeiten. /transfer <Cluster> <Betrag> [Spieler] zeigt eine Vorschau, /transfer confirm bucht (30 Sekunden gültig).
  • Im Dashboard unter Coins & Markt → Überweisen: Kontostände pro Cluster, Vorschau beim Tippen und alle Strecken.

Abbuchung und Gutschrift laufen in einer Datenbank-Transaktion: entweder beides oder nichts.

Aktienmarkt

Jedes Material, das das Item-Tracking kennt, bekommt jede Minute einen Kurs. Der Kurs hängt von Bestand, Nachschub und Handel ab:

Kurs = Grundwert × (Bestand+1)^-0,35 × 60 × (Neu24h+1)^-0,25 × 2,5 × (Handel24h+1)^0,45 / 3
danach geglättet: 65 % alter Kurs + 35 % neuer Wert
GrößeBedeutungWirkung
BestandStück in Spieler-Inventaren und Kistenmehr → billiger
Neu 24 herstmals getrackte Items/Stapelmehr Nachschub → billiger
Handel 24 hAufheben, Wegwerfen, Kisten rein/raus, Stapeln, Serverwechselmehr Nachfrage → teurer
Grundwertfeste SeltenheitstabelleMagicItems laufen als eigenes Material mit hohem Grundwert

Positionen

  • LONG (setzt auf steigenden Kurs) oder SHORT (setzt auf fallenden Kurs), Einsatz in Coins, mindestens 1,00.
  • Auszahlung beim Schließen: Long = Einsatz × Kurs jetzt ÷ Kurs beim Kauf; Short = Einsatz × (2 − Kurs jetzt ÷ Kurs beim Kauf), nie unter 0.
  • Recht: eternal.market.trade (Standard-Stufe Alle).
  • Kursverlauf: 30 Tage.

Dashboard: Coins & Markt → Aktienmarkt – Liste aller Materialien, Detailseite mit Chart und eigener Position. Ingame gibt es keinen Markt-Befehl.

AdminShop (Modul shop)

Händler-NPCs, an die Spieler Blöcke verkaufen und bei denen sie kaufen können – aufgebaut auf dem alten Adam-Shop (Bauarbeiter, Minenarbeiter, Kategorien, Stufen 1/8/16/32/64). Beim ersten Start legt Eternal genau diese Shops mit den alten Preisen an (umgerechnet auf Stückpreise).

  • Händler setzen: /adminshop spawn <shop> an der eigenen Position, /adminshop remove entfernt den nächsten Händler, /adminshop list zeigt Shops und Kontingent, /adminshop reload lädt sofort neu.
  • Öffnen: Rechtsklick auf den Händler oder /shop [shop] (abschaltbar mit shop.command: false in config.yml).
  • Handeln: Linksklick kauft, Rechtsklick verkauft, der Trichter verkauft alles von diesem Item. Verkauft werden nur unveränderte Items (kein Name, keine Lore, keine Verzauberung, nicht gesperrt).

Preise: fest oder dynamisch

Jedes Item hat einen Verkaufs- und einen Kaufpreis pro Stück (0 = nicht angeboten) und einen Modus:

ModusVerhalten
festDer eingetragene Preis gilt immer
dynamischVerkäufe drücken den Preis, Käufe heben ihn; der Effekt klingt mit der Halbwertszeit ab (Standard 24 h). Optional folgt der Preis zusätzlich dem Trend des Aktienmarkts (Kurs ÷ 7-Tage-Schnitt). Unter- und Obergrenze einstellbar (Standard 10 % / 300 %). Der Kaufpreis liegt immer über dem Verkaufspreis – Kaufen und Zurückverkaufen bringt kein Geld

Kontingent

Das Kontingent begrenzt, wie viel Geld der Shop netzwerkweit auszahlt: ein Betrag pro Periode (täglich, wöchentlich, monatlich oder nur manuell). Ist es leer, sind Verkäufe gesperrt – im Menü steht „Kontingent leer“, Kaufen geht weiter. Optional füllen Käufe das Kontingent wieder auf, zusätzlich gibt es ein Limit pro Spieler und Tag. Das Abbuchen ist atomar in der Datenbank: auch wenn mehrere Server gleichzeitig verkaufen, wird nie mehr ausgezahlt als übrig ist. Kann eine Auszahlung nicht gedeckt werden, bekommt der Spieler seine Items sofort zurück.

Dashboard: Coins & Markt → AdminShop

Kontingent (Stand, Auffüllen, Betrag setzen/hinzufügen), Umsatz 24 h / 7 d, alle Shops mit Kategorien und Items (Modus, Preise, Grenzen, Elastizität, Markt-Trend, aktueller Preis) und der Verlauf aller Verkäufe. Server übernehmen Änderungen in ≤ 10 s.

Geld-Statistik

Coins & Markt → Geld-Statistik (eternal.web.economy.stats): Geld im Umlauf, Anzahl Konten, Durchschnitt, Median, Anteil der Top 10, reichstes Konto, Verlauf (stündlich gemessen, 7 Tage bis 1 Jahr) und alle Geldflüsse nach Art (AdminShop, Aktienmarkt, Admin, /pay, Clans …) für 24 h, 7 d und 30 d.

Rechte

RechtStandard-StufeZweck
eternal.economy.balance.othersTeamFremde Kontostände ingame und im Dashboard
eternal.economy.see-hiddenTeamVerborgene Coins unter dem Namen sehen (rot), /money <Name>
eternal.shop.useAlleHändler und /shop
eternal.shop.adminAdmin/adminshop spawn|remove|list|reload
eternal.web.shopAdminAdminShop im Dashboard
eternal.web.economy.statsTeamGeld-Statistik im Dashboard
eternal.economy.adminAdmin/eco, Dashboard-Buchungen, Cluster verwalten (braucht eternal.economy.balance.others)
eternal.market.tradeAllePositionen im Aktienmarkt
eternal.economy.transferAlleÜberweisen zwischen Clustern (/transfer, Dashboard); die Regeln können zusätzliche Rechte verlangen

Typische Stolperfallen

  • „Coins-Modul ist aus“ beim MagicItem-Kauf oder bei der Clan-Bank: economy ist auf diesem Server nicht aktiv.
  • Markt bleibt leer: item-tracking läuft nicht oder die API sieht die Tracking-Daten nicht (gleiche MySQL-Datenbank nötig).
  • Unterschiedliche Währungsnamen im Spiel und im Dashboard: economy: in config.yml und api.yml angleichen.
  • „… zeigt sein Guthaben nicht“ bei /money <Spieler>: Der Spieler hat „Coins für andere sichtbar“ ausgeschaltet.
  • Guthaben „weg“ nach dem Zuordnen eines Clusters: Der Server bucht jetzt im neuen Cluster, das alte Guthaben liegt weiter im bisherigen (meist Standard). Im Dashboard unter Coins den Cluster wechseln; umbuchen per Admin-Buchung.
  • Welcher Cluster gilt hier? Die Server-Konsole meldet beim Start und bei jeder Änderung Economy-Cluster: <Name> (<id>).