• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Bungeecord Bungeecord Ban plugin

Rove_HD

Minecrafter
Registriert
30 Dezember 2017
Beiträge
4
Alter
22
Diamanten
250
Hi ich möchte bei einem bungeecord banplugin abfragen lassen ob der Spieler den man bannen lässt ein Moderator oder höher ist --> weil Moderatoren sollen sich nicht selbst bannen können und auch keine Admins und so deswegen wollte ich fragen wie ich das einbauen kann das die sich nicht gegenseitig bannen können

Danke im vorraus

Den code vom Ban command und vom ban Manager
Die APIs sind BungeYAML und YAMLER

Hier der Ban Command code
pastebin.com/8vcMTsEM
und hier der BanManager
pastebin.com/jn2TTBuV
 

AconTM

Schafhirte
Registriert
15 Juni 2015
Beiträge
118
Alter
29
Diamanten
260
Minecraft
AconTM
Das kannst du relativ simpel mit einbauen. Bevor der Bancommand wirklich ausgeführt wird, fragst du
einfach ab: if(banname.hasPermission("system.moderator") && !sender.hasPermission("system.admin")

Hierbei musst du einen OfflinePlayer definieren so dass du die Permission abfragen kannst, jedoch auch
einen OfflinePlayer bannen kannst. Generell ist die Definition als Player bei solchen befehlen nur von
vorteil ^^


Lg. AconTM
 

FelixKlauke

Erzengel
Ehem. Teammitglied
Registriert
5 Januar 2014
Beiträge
1.038
Diamanten
299
Minecraft
FelixKlauke
Das kannst du relativ simpel mit einbauen. Bevor der Bancommand wirklich ausgeführt wird, fragst du
einfach ab: if(banname.hasPermission("system.moderator") && !sender.hasPermission("system.admin")

Hierbei musst du einen OfflinePlayer definieren so dass du die Permission abfragen kannst, jedoch auch
einen OfflinePlayer bannen kannst. Generell ist die Definition als Player bei solchen befehlen nur von
vorteil ^^


Lg. AconTM

An sich ein möglicher Lösungsweg, wenn es denn hier um Spigot gehen würde. Sowohl durch die Frage als auch durch Code, als auch durch den Tag des Themas wird jedoch deutlich, dass es hier um BungeeCord geht, wo das Konzept des OfflinePlayer's in dem Sinne keine Anwendung findet.

@Rove_HD du wirst als erstes ein Permission System auf Bungee ebene brauchen, dass diese Permissions managed und auch für Spieler die nicht online sind zur Verfügung stellt. Wahlweise kannst du dies natürlich auch anders regeln (d.h. nicht über Permissions). Du kannst von dem was . @AconTM gesagt hat zwar eventuell die Logik übernehmen, mehr aber auch nicht.

Also: Spieler Rechtevergabe auf Bungee Ebene klären, Logik übernehmen, Profit!
 
Zuletzt bearbeitet:

FelixKlauke

Erzengel
Ehem. Teammitglied
Registriert
5 Januar 2014
Beiträge
1.038
Diamanten
299
Minecraft
FelixKlauke
BungeeCord ist letztendlich nichts anderes zwischen dem Spieler und eine Anzahl von an sich eigenständigen Minecraft Servern. Wie du vielleicht schon erkannt hast, sind das erst einmal getrennte Systeme, sprich sowohl der BungeeCord Server kann Berechtigungen haben, aber der Minecraft Server hat von Grund auf eigene Berechtigungen.

Dein Ban Command hat zwei Stelle, an denen du ihn einbetten kannst: Als Befehl auf BugeeCord Ebene, oder auf Minecraft Server Ebene. Je nachdem auf welcher Ebene du ihn implementierst, hast du auch nur Zugriff auf die Berechtigungen dieser Ebene. Auf dem Minecraft Server kann es zum Beispiel sein, dass du die Berechtigungen mit LuckPerms verwaltest. BungeeCord macht seine Berechtigungen standardmäßig über seine Konfigurationsdatei, aber auch hier kannst du natürlich mit Plugins nachrüsten.

LuckPerms beschreibt sich selbst so: "An advanced permissions plugin for Bukkit/Spigot & BungeeCord." - Es scheint BungeeCord also in irgendeiner Weise mit einzubeziehen. Geteilt werden die Berechtigungen in vielen Fällen über eine externe Datenbank, auf die sowohl der BungeeCord als auch die Minecraft Server zugreifen.

Du musst erstmal für dich klären, wie bei dir die Berechtigungen verteilt werden und dan kannst du entscheiden, wo du diesen Befehl implementierst.
 

Rove_HD

Minecrafter
Registriert
30 Dezember 2017
Beiträge
4
Alter
22
Diamanten
250
BungeeCord ist letztendlich nichts anderes zwischen dem Spieler und eine Anzahl von an sich eigenständigen Minecraft Servern. Wie du vielleicht schon erkannt hast, sind das erst einmal getrennte Systeme, sprich sowohl der BungeeCord Server kann Berechtigungen haben, aber der Minecraft Server hat von Grund auf eigene Berechtigungen.

Dein Ban Command hat zwei Stelle, an denen du ihn einbetten kannst: Als Befehl auf BugeeCord Ebene, oder auf Minecraft Server Ebene. Je nachdem auf welcher Ebene du ihn implementierst, hast du auch nur Zugriff auf die Berechtigungen dieser Ebene. Auf dem Minecraft Server kann es zum Beispiel sein, dass du die Berechtigungen mit LuckPerms verwaltest. BungeeCord macht seine Berechtigungen standardmäßig über seine Konfigurationsdatei, aber auch hier kannst du natürlich mit Plugins nachrüsten.

LuckPerms beschreibt sich selbst so: "An advanced permissions plugin for Bukkit/Spigot & BungeeCord." - Es scheint BungeeCord also in irgendeiner Weise mit einzubeziehen. Geteilt werden die Berechtigungen in vielen Fällen über eine externe Datenbank, auf die sowohl der BungeeCord als auch die Minecraft Server zugreifen.

Du musst erstmal für dich klären, wie bei dir die Berechtigungen verteilt werden und dan kannst du entscheiden, wo du diesen Befehl implementierst.
Ja ist mir schon klar ich meinte eigentlich im Programmier technischen Sinne aber kann ich z.b. bungeeperms benutzen
 

FelixKlauke

Erzengel
Ehem. Teammitglied
Registriert
5 Januar 2014
Beiträge
1.038
Diamanten
299
Minecraft
FelixKlauke
Im Falle von BungeePerms, was glücklicherweise Open Source ist, reicht ein Blick auf die Hauptklasse (https://github.com/weaondara/Bungee...a/net/alpenblock/bungeeperms/BungeePerms.java) und man sieht sofort ein Singleton (https://github.com/weaondara/Bungee...t/alpenblock/bungeeperms/BungeePerms.java#L18) und - Oh Wunder - ganz viele Getter für die verschiedenen Manager.
Der generische Weg würde dann vermutlich über https://github.com/SpigotMC/BungeeC...va/net/md_5/bungee/api/CommandSender.java#L76 führen - Das ist die vermutlich eleganteste Variante, falls der Spieler online ist.

Wenn du kein Permissions Plugin benutzt, hilft dir z.B. das hier bereits: https://www.spigotmc.org/threads/offline-permission-checks.1785/

Du siehst: Du musst nur die Daten irgendwoher kriegen. Wenn der Spieler offline ist musst du dich auf die persistierten Daten verlassen.
 
D

deleted202750

Guest
Hi ich möchte bei einem bungeecord banplugin abfragen lassen ob der Spieler den man bannen lässt ein Moderator oder höher ist --> weil Moderatoren sollen sich nicht selbst bannen können und auch keine Admins und so deswegen wollte ich fragen wie ich das einbauen kann das die sich nicht gegenseitig bannen können

Danke im vorraus

Den code vom Ban command und vom ban Manager
Die APIs sind BungeYAML und YAMLER

Hier der Ban Command code
pastebin.com/8vcMTsEM
und hier der BanManager
pastebin.com/jn2TTBuV
Da würde ich dir direkt ein gescheites BanSystem vorschlagen. https://www.spigotmc.org/resources/advancedban.8695/

Kann ich nur empfehlen, da man 1. BungeeCord unterstützung hat und 2. man Spieler mit einer Perm unstrafbar machen kann. Ich geb dir auf wunsch auch eine deutsche Config.
 
Oben