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 #
| Command | Syntax | Permission | Default | Beschreibung |
|---|---|---|---|---|
/cweb | /cweb | core. | true | Erzeugt/erneuert den persönlichen Einmal-Link |
| Weitere Permissions | Default | Beschreibung |
|---|---|---|
core. / claims / jobs / teams / warps / economy | true | Blendet die jeweilige Kategorie ein |
core. | false | Link-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:
plugins/CoreEngine/modules/websession.öffnen undyml public-urlauf deine IP/Domain setzen (ohnehttp://).- Port 8196 (TCP) in Firewall/Hoster-Panel freigeben.
- 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., public-url: "https://panel., behind-proxy: true. Erlaubt dein Hoster keine Zusatzports, setze websession., damit Spieler keine toten Links bekommen.
Konfiguration (modules/websession.yml) #
# 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 #
| Problem | Ursache | Lösung |
|---|---|---|
Link zeigt localhost | public-url leer oder in der falschen Datei | In modules/websession. setzen (nicht config.), reload, Log prüfen |
| Link lädt ewig | Port nicht erreichbar | Port 8196 (TCP) freigeben |
| „Web-Interface nicht verfügbar" | Modul aus oder Port belegt | websession.; Log auf Could not start web server prüfen |
| „Link abgelaufen" | Älter als 5 Minuten oder schon benutzt | /cweb erneut tippen |
| Session endet plötzlich | Spieler offline oder Inaktivität | Verbinden und /cweb neu ausführen |
| Kategorie fehlt | Permission fehlt oder Modul deaktiviert | core. vergeben, Modul aktivieren |
| „CSRF failure" | Cookie-/Browser-Problem | Cache leeren, neuen Link öffnen |
| Rate-Limit blockiert | Zu viele Anfragen/Fehlversuche | 10 Minuten warten |
Komplette Beispiel-Config #
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"