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.
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
| Modul | braucht | Hinweis |
|---|---|---|
economy | – | Auf jedem Server, auf dem Coins genutzt werden (auch für MagicItems-Kauf, Clan-Bank, /trade-Coins) |
market | economy + item-tracking | Die 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
| Befehl | Aliase | Recht | Beschreibung |
|---|---|---|---|
/money | /balance, /bal | – | Eigenes Guthaben |
/money <Spieler> | – / eternal.economy.balance.others | Fremdes 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.admin | Admin-Buchung (give = add, take = remove) |
Coins unter dem Namen
Spieler können in /settings Coins unter dem Namen einschalten (wird jede Minute aktualisiert):
| Einstellung | Andere sehen |
|---|---|
| Coins unter dem Namen aus | nichts – die Zeile ist ganz weg |
| an, Coins für andere sichtbar an | das Guthaben, schön formatiert: 999, 12.345, 1,23 Mio, 4,5 Mrd, 7,8 Bio … (ohne Obergrenze) |
| an, sichtbar aus | sich 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).
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.
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 derconfig.ymldes 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./payerreicht 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).
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“.
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 bankzeigt 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.
| Feld | Bedeutung |
|---|---|
| Von → Nach | Quell- und Ziel-Cluster, * = alle |
| Recht | wer die Regel nutzen darf, leer = alle mit eternal.economy.transfer (z. B. eternal.economy.transfer.vip für billigere VIP-Gebühren) |
| Priorität | passen mehrere Regeln, gilt die höchste (bei Gleichstand die günstigere) |
| Kurs | automatisch (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 selbst | fü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 andere | mit „eigene Gebühr“ eine eigene Gebühr für Überweisungen an andere Spieler, sonst dieselbe wie an dich selbst |
| Betrag | mindestens/höchstens pro Überweisung |
| Tageslimit | höchstens so viel pro Spieler und Tag über diese Regel |
| Wartezeit | Sekunden zwischen zwei Überweisungen über diese Regel |
| Tage, Uhrzeit | wann 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 confirmbucht (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öße | Bedeutung | Wirkung |
|---|---|---|
| Bestand | Stück in Spieler-Inventaren und Kisten | mehr → billiger |
| Neu 24 h | erstmals getrackte Items/Stapel | mehr Nachschub → billiger |
| Handel 24 h | Aufheben, Wegwerfen, Kisten rein/raus, Stapeln, Serverwechsel | mehr Nachfrage → teurer |
| Grundwert | feste Seltenheitstabelle | MagicItems laufen als eigenes Material mit hohem Grundwert |
Positionen
LONG(setzt auf steigenden Kurs) oderSHORT(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 removeentfernt den nächsten Händler,/adminshop listzeigt Shops und Kontingent,/adminshop reloadlädt sofort neu. - Öffnen: Rechtsklick auf den Händler oder
/shop [shop](abschaltbar mitshop.command: falseinconfig.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:
| Modus | Verhalten |
|---|---|
| fest | Der eingetragene Preis gilt immer |
| dynamisch | Verkä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
| Recht | Standard-Stufe | Zweck |
|---|---|---|
eternal.economy.balance.others | Team | Fremde Kontostände ingame und im Dashboard |
eternal.economy.see-hidden | Team | Verborgene Coins unter dem Namen sehen (rot), /money <Name> |
eternal.shop.use | Alle | Händler und /shop |
eternal.shop.admin | Admin | /adminshop spawn|remove|list|reload |
eternal.web.shop | Admin | AdminShop im Dashboard |
eternal.web.economy.stats | Team | Geld-Statistik im Dashboard |
eternal.economy.admin | Admin | /eco, Dashboard-Buchungen, Cluster verwalten (braucht eternal.economy.balance.others) |
eternal.market.trade | Alle | Positionen im Aktienmarkt |
eternal.economy.transfer | Alle | Ü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:
economyist auf diesem Server nicht aktiv. - Markt bleibt leer:
item-trackingläuft nicht oder die API sieht die Tracking-Daten nicht (gleiche MySQL-Datenbank nötig). - Unterschiedliche Währungsnamen im Spiel und im Dashboard:
economy:inconfig.ymlundapi.ymlangleichen. - „… 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>).