Safe Command Block
Safe Command Block
What is Safe Command Block?
Safe Command Block makes the management of command blocks easier and safer. There are some problems what command blocks have:
- Command blocks cannot be used from a player who doesn't is a op.
- Command blocks can execute nearly every command (except kick, ban, op, deop, stop), so they aren't safe.
- You can only set a name of a command block only with a anvil.
If you have a public server you won't be able to build a adventure map with other players with this problems. Safe Command Block solves these problems with these features:
- Whitelist or Blacklist Commands
- World Whitelist (optional)
- Commands can be set from players even if they not op and in creative mode
- Set the name of a command block
- Reset the command of a command block
- With permission limitation
- Extra Color Codes
With this plugin you are now able to build a adventure map without worries!
What do I need to run Safe Command Block?
You will need a plugin called ProtocolLib and you need the bukkit build #2685 or higher. Install it and run it together with Safe Command Block. If anythig goes wrong just write a comment.
You may install some other plugins for more safety!
List of Commands/Permissions
Permission | Command | Description |
---|---|---|
SafeCommandBlock.access | Nothing | If someone has access to command blocks (modify the command) |
SafeCommandBlock.bypass | Nothing | If someone can bypass whitelist, blacklist and worldwhitelist |
SafeCommandBlock.color | Nothing | If someone can write the command with color codes to command blocks |
SafeCommandBlock.resetCommand | /resetcommand | If someone can reset the command of a command block (admin command) |
SafeCommandBlock.setCommandName | /setCommandName | If someone can set the name of a command block (admin command) |
SafeCommandBlock.setCommand | /setCommand | If someone can set the command of a command block |
SafeCommandBlock.reload | /scbreload | If someone can reload the config file of Safe Command Block |
Formatting Codes can be found here - Note: You'll use a & instead of a $.
Note: Admin commands won't check for other permissions like blacklist or whitelist!
For config sample click here.
How to use
If you want to modify the command of the command block or use a command from Safe Command Block, please be sure to target the command block directly. If you do so, nothing should go wrong!
Having Problems?
If it is a small problem, just write a comment. If it is a big/heavy problem, then please use the ticket function. Thank you!
@xion87
See http://dev.bukkit.org/bukkit-plugins/safe-command-block/tickets/4-unknown-origin-packet-250/
got this errors sometimes: 17:37:26 ProtocolLib: Unknown origin java.io.DataInputStream@228fb3c3 for packet 250
I also find this very handy in my server with ranks and permissions. We don't want all the admins being OP and using /stop! So we limited our commandblock usage to only head-admins and up! Thank you for this plugin. I'll tell you if i find any bugs!
@JK82NL
Thank you!
Yes, it seems the error comes from BKCommandLib, because I only read or block the packet, I do not modify it!
Thank you, this is awesome !
Because of safety of the server I only use permission based ranks and no OP at all. I've been looking all over the place for using command blocks without OP and not just some substitute for it, just the actual real command block.
This works great ! :-D.
I do however get a little warning message from BKCommonLib after installing your plugin:
[WARNING] [BKCommonLib] [Network] Packet not implemented: Packet250CustomPayload$$EnhancerByCGLIB$$23ada896
But I guess I'd have to contact them since the error comes from BKCommonLib itself.
Somehow, it magically worked! At first it said [@] <message> in purple! I tried the setcommandname and it changed to [<name>] <message>! I have no idea how it started working, but it did!
@thwang81338
Well, this function comes for a adventure map quite handy. But you are right, on bukkit it is [Server] <message>, last time I tested it.
I believe the name feature is only on vanilla minecraft. If you use it with bukkit it should say [Server] <Message> in purple.
@thwang81338
Commandblocks can have a name, so if the commandblock uses /say the name is printed too!
Ok, I figured out that in the new essentials 2.11.1, they fixed a bug which I didn't want fixed! In the old essentials, 2.10.1, command blocks were able to perform ekill, which is the alias for kill. In the new version, they disabled that. All I did was downgrade essentials and commandblocks still work with kill :D!
And what is the point of the setcommandname?
@eyamil
Op have all permissions...
@thwang81338
I am not the developer of /kill, if it is a custom plugin... I don't know if it would work on vanilla...
I can't seem to use "kill <flag>" at all! I use a security system to kill players who jump my fence, but the command doesn't seem to work! Please fix this as soon as possible!
You might remember me from a little while ago as the user who forgot to put in a command correctly. I'm running an all-op server, and I want to enable the use of command blocks on this server, but at the same time, restrict them to admins and higher. I've used SafeCommandBlock.access to let myself and another admin access command blocks, but the problem I'm encountering is that command blocks can still be used normally by their default interface. Is there a way to counter this?
@macks2008
I suggest you make a own group for you friends.
You as owner, with all permissions(op)
The rest (your friends) with an [admin] group. Negate Permissions often doesn't work and it doesn't work on my plugins either.
@KevinW1998
How would I bar an op from using command blocks? negate SafeCommandBlock.bypass and negate the perms for modifying command blocks (access, resetCommand, setCommand), right? and I can block ops from using specific commands by just negating bypass and adding the commands to the blacklist, right?
My issue is that my server is just getting started and currently consists of just my friends and my friends' friends. I've been having a bit of trouble with PermissionsEx (it seems to not be giving normal users ModifyWorld.* even if their permission group has it. I'm still trying to figure out why) and have resorted to oping everyone and negating permissions from there. There are a few people I don't want using command blocks at all, and some that I just don't want them using certain commands (namely /kill and /sudo)
@macks2008
Well, op has got all the permissions. They can bypass every Blacklist/Whitelist. If you want to give someone almost every permission, I suggest to use blacklist.
@Cueball61
I am not quite sure what you mean.. But what I mean is that there are simply permissions. Sorry if there was a misunderstanding. My english is not the best.
Just so we're clear, as it's not that well detailed, when you say "with permission limitation" do you mean it will use the permissions of whoever set the command to see whether it's permitted?
I assume I can negate an op's permission to modify command blocks, right? I have a few people that i want to give *almost* every permission, and I don't want them using things like /sudo in a command block. or would the blacklist suit this purpose better? You weren't very clear as to what the blacklist/whitelist/worldblacklist do.
This is a great plugin. Glad you added the /scbreload command and keeping it updated! Good work!
My only issue is the OP requirement. Can I suggest a permission to set a command rather than having to be an OP. That would be much appreciated.
@ifox111
Try &k&4lol