CoreEngineWIKI
ESC
NavigierenEnter ÖffnenESC Schließen

Web-Interface (/cweb)

Eingebautes Web-Panel ohne externe Abhängigkeiten: /cweb erzeugt einen persönlichen Einmal-Link, im Browser verwaltet der Spieler Homes, Claims, Jobs, Teams, Warps und Economy. Kein Login, kein Passwort; der Spieler muss während der Session online bleiben.

Commands & Permissions #

CommandSyntaxPermissionDefaultBeschreibung
/cweb/cwebcore.web.usetrueErzeugt/erneuert den persönlichen Einmal-Link
Weitere PermissionsDefaultBeschreibung
core.web.category.homes / claims / jobs / teams / warps / economytrueBlendet die jeweilige Kategorie ein
core.web.cooldown.bypassfalseLink-Cooldown umgehen

So funktioniert es #

Der Link ist einmalig und läuft nach link-expiry-seconds ab; eine neue /cweb-Nutzung beendet die alte Session. Alles im Browser ist nur Anzeige: Erst beim Klick auf Apply prüft der Server jede Änderung live gegen Permissions, Team-Ränge, Kontostand und Cooldowns und speichert nur bei Erfolg (mehrere Änderungen werden einzeln geprüft, ein Fehlschlag verwirft die anderen nicht). Die Session endet nach session-timeout-minutes Inaktivität oder beim Verlassen des Servers. Der Webserver ist mit Rate-Limiting gegen Anfrage-Fluten abgesichert.

Kategorien: Homes (ansehen/löschen; setzen nur ingame), Claims (ansehen/aufgeben, braucht CoreEngineClaim), Jobs (Level, Verdienst, Quests, Toplisten), Teams (Mitglieder, Ränge, Bank, Container und die Team-Warps inklusive der Team-internen: umbenennen, Icon per Item-ID, Beschreibung, Sichtbarkeit umschalten, löschen; alles nach Team-Rang, inklusive Team-Erstellung zu denselben Regeln wie ingame), Warps (öffentliche Liste verwalten: umbenennen, Icon per Item-ID wie cobblestone, Beschreibung, Kategorie, löschen; anlegen und verschieben passiert bewusst nur ingame, weil die Position vom Spieler kommt), Economy (Kontostand, letzte 50 Transaktionen, /pay).

Einrichtung auf öffentlichen Servern #

Lokal funktioniert /cweb sofort auf http://localhost:8196. Öffentlich muss einmalig die public-url gesetzt werden:

  1. plugins/CoreEngine/modules/websession.yml öffnen und public-url auf deine IP/Domain setzen (ohne http://).
  2. Port 8196 (TCP) in Firewall/Hoster-Panel freigeben.
  3. Neustarten oder /ce reload; im Log muss [WebSession] /cweb links will use: http://... deine Adresse zeigen.

Für HTTPS: Reverse Proxy (nginx/Caddy) auf 443, bind-address: "127.0.0.1", public-url: "https://panel.deinserver.de", behind-proxy: true. Erlaubt dein Hoster keine Zusatzports, setze websession.enabled: false, damit Spieler keine toten Links bekommen.

Konfiguration (modules/websession.yml) #

YAML
# Schaltet das Web-Interface-Modul ein oder aus.
enabled: true

websession:
  # Web-Interface einzeln abschaltbar.
  enabled: true
  # Port des eingebauten HTTP-Servers.
  port: 8196
  # Bind-Adresse. 127.0.0.1 für Reverse-Proxy-Setups.
  bind-address: "0.0.0.0"
  # Adresse in den Links. IP/Domain reicht (http:// und Port werden
  # ergänzt), volle URLs wie https://... werden unverändert benutzt.
  # Auf öffentlichen Servern Pflicht, sonst zeigen Links auf localhost.
  public-url: ""
  # X-Forwarded-Header vertrauen (NUR hinter einem Reverse Proxy).
  behind-proxy: false
  # Sekunden, die ein unbenutzter Link gültig bleibt.
  link-expiry-seconds: 300
  # Cooldown für NEUE Links; ein noch gültiger Link wird wiederverwendet.
  # Bypass: core.web.cooldown.bypass.
  command-cooldown-seconds: 10
  # Session endet nach N Minuten Inaktivität im Browser.
  session-timeout-minutes: 20
  # Optionaler Website-Link im Footer des Panels.
  website-url: ""

Troubleshooting #

ProblemUrsacheLösung
Link zeigt localhostpublic-url leer oder in der falschen DateiIn modules/websession.yml setzen (nicht config.yml), reload, Log prüfen
Link lädt ewigPort nicht erreichbarPort 8196 (TCP) freigeben
„Web-Interface nicht verfügbar"Modul aus oder Port belegtwebsession.enabled: true; Log auf Could not start web server prüfen
„Link abgelaufen"Älter als 5 Minuten oder schon benutzt/cweb erneut tippen
Session endet plötzlichSpieler offline oder InaktivitätVerbinden und /cweb neu ausführen
Kategorie fehltPermission fehlt oder Modul deaktiviertcore.web.category.<name> vergeben, Modul aktivieren
„CSRF failure"Cookie-/Browser-ProblemCache leeren, neuen Link öffnen
Rate-Limit blockiertZu viele Anfragen/Fehlversuche10 Minuten warten

Komplette Beispiel-Config #

YAML
enabled: true

websession:
  enabled: true
  port: 8196
  bind-address: "127.0.0.1"
  public-url: "https://panel.meinserver.de"
  behind-proxy: true
  link-expiry-seconds: 180
  command-cooldown-seconds: 30
  session-timeout-minutes: 15
  website-url: "https://meinserver.de"