- Lizenz
- GNU Affero General Public License v3.0
- Source Code
- https://github.com/theChrisliebaer/CommandBlOp
- Benötigte Abhängigkeiten
- ProtocolLib, NBT API
- Entwickelt für Version
- 1.14 (vielleicht auch höher, ymmv)
WARNUNG
Commandblöcke umgehen das Permissionsystem des Servers. Jeder Befehl in einem Commandblock wird als Console ausgeführt. DIESES PLUGIN VERHINDERT NICHT, DASS JEMAND SCHADHAFTE COMMANDS ÜBER COMMANDBLÖCKS AUSFÜHREN KANN!!!
Was tut das hier
Es ist in Minecraft aktuell nicht möglich Commandblöcke ohne Operatorstatus zu verwenden. Da das ganze fest im Vanillaserver verankert ist, kann das Verhalten auch nicht von Bukkit und Konsorten überschrieben werden. Außerdem kennt der Client inzwischen seinen Operatorstatus und weigert sich daher sogar einen Commandblock anzufassen, solange er kein Operator auf dem Server ist.
Dieses Plugin nutzt ProtocolLib um den Client vorzugaukeln, dass er Operator ist. Außerdem schickt dieses Plugin alle notwendigen Daten an den Client damit dieser Commandblöcke bearbeiten kann. Auf die selbe Weise werden einkommende Anfragen des Clients abgefangen und vom Plugin selbst behandelt, da der Server dies sonst blockieren würde.
Abhängigkeiten
Der Operatorstatus ist auf produktiven Servern unbrauchbar. Wer Operator ist bekommt automatisch auch eine Menge von Permissions zugewiesen, die kaum kontrollierbar sind. Nicht nur dass man damit Features nutzen kann, für die man extra keine Permissions vergeben hat, um sie nicht versehentlich zu nutzen, man bekommt auch viele Bypass Permissions. Mit diesen kann man dann oft bestimmte Limits umgehen. Das ist erstmal toll, aber wenn dann andere Spieler, die eben diese Permissions nicht haben oder Teammitglieder plötzlich Probleme haben, die der Operator nicht hat, dann geht oft eine stundenlange Suche nach dem Fehler los. Wenn man einfach keinen Operator nutzt, bemerkt man das deutlich schneller und kann es auch einfacher testen.
Permissions
Commandblocks können nur im Kreativmodus benutzt werden, das ist eine Vanillaeinschränkung und das Plugin kann daran nichts ändern.
Wenn man einen Commandblock aus dem Inventar platziert, so werden dessen NBT Tags nicht übernommen. Das bedeutet insbesondere der Name, der über den Amboss geändert wurde. Vielleicht mag sich das ja mal jemand angucken. Ansonsten sind mir keine weiteren Einschränkungen bekannt.
Fehler gefunden?
Das ganze wurde noch nicht ausführlich getestet. Es scheinen allerdings alle Features wie man das erwarten würde zu funktionieren. Falls jemandem Fehler auffallen, so kann er diese gerne hier melden. Beachtet bitte, dass ich euch vermutlich einfach ignorieren werde, wenn ihr nicht in der Lage seid grundlegende Informationen über das Problem zu liefern. Wer mir 5MB Logs schickt ist auch raus.
Commandblöcke umgehen das Permissionsystem des Servers. Jeder Befehl in einem Commandblock wird als Console ausgeführt. DIESES PLUGIN VERHINDERT NICHT, DASS JEMAND SCHADHAFTE COMMANDS ÜBER COMMANDBLÖCKS AUSFÜHREN KANN!!!
Was tut das hier
Es ist in Minecraft aktuell nicht möglich Commandblöcke ohne Operatorstatus zu verwenden. Da das ganze fest im Vanillaserver verankert ist, kann das Verhalten auch nicht von Bukkit und Konsorten überschrieben werden. Außerdem kennt der Client inzwischen seinen Operatorstatus und weigert sich daher sogar einen Commandblock anzufassen, solange er kein Operator auf dem Server ist.
Dieses Plugin nutzt ProtocolLib um den Client vorzugaukeln, dass er Operator ist. Außerdem schickt dieses Plugin alle notwendigen Daten an den Client damit dieser Commandblöcke bearbeiten kann. Auf die selbe Weise werden einkommende Anfragen des Clients abgefangen und vom Plugin selbst behandelt, da der Server dies sonst blockieren würde.
Abhängigkeiten
- ProtocolLib für Paketmanipulationen
- NBT API um NBT Daten zu setzen
- Aktuell nur auf 1.14 PaperMC getestet, ich vermute neuere Versionen funktionieren ebenfalls bis sich das Protokoll ändert.
Der Operatorstatus ist auf produktiven Servern unbrauchbar. Wer Operator ist bekommt automatisch auch eine Menge von Permissions zugewiesen, die kaum kontrollierbar sind. Nicht nur dass man damit Features nutzen kann, für die man extra keine Permissions vergeben hat, um sie nicht versehentlich zu nutzen, man bekommt auch viele Bypass Permissions. Mit diesen kann man dann oft bestimmte Limits umgehen. Das ist erstmal toll, aber wenn dann andere Spieler, die eben diese Permissions nicht haben oder Teammitglieder plötzlich Probleme haben, die der Operator nicht hat, dann geht oft eine stundenlange Suche nach dem Fehler los. Wenn man einfach keinen Operator nutzt, bemerkt man das deutlich schneller und kann es auch einfacher testen.
Permissions
Commandblocks können nur im Kreativmodus benutzt werden, das ist eine Vanillaeinschränkung und das Plugin kann daran nichts ändern.
commandblop.fakeop
- Setzt fake Operatorstatus für Client, benötigt Reconnect. Muss für alle anderen Permissions ebenfalls gesetzt sein.commandblop.break
- Erlaubt Commandblocks ohne Operaturstatus zu zerstören.commandblop.view
- Erlaubt das betrachten von Commandblöckencommandblop.edit
- Erlaubt den Zustand eines Commandblocks ohne Operatorstatus zu ändern.commandblop.place
- Erlaubt einen Commandblock ohne Operatorstatus zu platzieren.
Wenn man einen Commandblock aus dem Inventar platziert, so werden dessen NBT Tags nicht übernommen. Das bedeutet insbesondere der Name, der über den Amboss geändert wurde. Vielleicht mag sich das ja mal jemand angucken. Ansonsten sind mir keine weiteren Einschränkungen bekannt.
Fehler gefunden?
Das ganze wurde noch nicht ausführlich getestet. Es scheinen allerdings alle Features wie man das erwarten würde zu funktionieren. Falls jemandem Fehler auffallen, so kann er diese gerne hier melden. Beachtet bitte, dass ich euch vermutlich einfach ignorieren werde, wenn ihr nicht in der Lage seid grundlegende Informationen über das Problem zu liefern. Wer mir 5MB Logs schickt ist auch raus.