土球球
本帖最后由 ustc_zzzz 于 2018-8-30 14:15 编辑

Command Blocking Manager
命令屏蔽检查器


命令屏蔽检查器是一个基于Java7编写的服务端插件,可以同时作用于Sponge 1.10-1.12的服务端,也可当作BungeeCord插件使用。

为什么这不是一个Bukkit插件?原因很简单,因为我不会写x

事情起因

有一天我在Hypixel国际服玩的时候,突发奇想,想输入几个常见命令, 不过很快我就发现Hypixel把绝大多数命令屏蔽了,但是我在尝试输入/w,然后按下Tab键时,Hypixel哗啦啦地为我提供了一大堆命令提示:


通过不断地触发这种提示,我甚至可以猜测出来Hypixel装了哪些插件。这对服务器的安全不得不说是一种影响。一个念头就在我脑袋里渐渐成型了——我要做一个屏蔽命令的插件,这个插件不止能屏蔽命令的使用,还可以屏蔽命令提示,而且配置还要足够简单。

然后这个插件诞生了。

使用方法

扔BC端的plugins/目录底下,或者Sponge端的mods/目录底下。

启动后会在配置文件目录底下出现一个commandblockingmanager.conf的文件。这个文件既不是BC常用的YAML格式,也不是Sponge常用的HOCON格式,是一个我自己写的插件自己负责解析的文本格式。

默认的BC端配置文件格式长这样:

  1. - \?
  2. - help
复制代码

这代表禁止玩家使用/?/help两个命令。

默认的Sponge端配置文件格式长这样:

  1. - \?
  2. - help
  3. - sp
  4. - sponge
  5. - sponge:\?
  6. - sponge:help
  7. - sponge:sp
  8. - sponge:sponge
复制代码

这代表禁止玩家使用上面出现的八个命令。

功能配置

这插件用不着权限也没命令,只有一个配置文件需要修改。

配置文件中所有“#”开头的行为注释,暂时不支持为其他行加注释。

配置文件中所有“-”开头的行代表玩家被禁止使用其后的命令。  

支持子命令,比如说可以这么写:

  1. - time add
  2. - time set
复制代码

这将禁用这两个子命令。

支持?*作为通配符,比如说“- time *”代表禁用/time命令的所有子命令,而- t???将同时禁用/tell/time所有命令。

配置文件中所有“+”开头的行代表玩家被允许使用其后的命令。这可以用于白名单模式,比如:

  1. - *
  2. + home
  3. + back
复制代码

这将禁用所有除/home/back之外的命令。再比如:

  1. - weather
  2. + weather clear
复制代码

这将禁用所有/weather的子命令,但/weather clear除外。

使用诸如\?\*这样的转义方式表示这两个字符,比如说- \?表示禁用/?这一命令(通常是/help的简写),而- ?这样的写法就禁用了所有一个字符的命令,一些诸如/w(和/tell等价)的命令就也被禁用了。

当配置文件为空时,默认玩家可以使用所有命令。

此外,可以根据不同的权限分配不同的命令,比如:

  1. - *
  2. + home

  3. [nucleus.back.base]
  4. + back
复制代码

上面的配置文件的意思是默认情况下所有玩家只看得到/home指令,但是如果玩家拥有nucleus.back.base权限,那么他还可以看得到/back指令。

插件截图

这真没啥好截图的。。。我放个BC控制台的截图好了:


下载链接

帖子的开头有。

更新日志

暂时没有。

原创声明

本插件所用所有代码均为原创,不存在借用/抄袭等行为

Markdown备份

整个主题帖使用Markdown编写,并使用相关工具转换为BBCode。该部分内容为备份,和主题正文无关。



来自群组: InfinityStudio

dark7
支持大佬,如果可以添加不同世界不同禁用更加实用

土球球
dark7 发表于 2018-3-7 15:16
支持大佬,如果可以添加不同世界不同禁用更加实用

你可以针对不同的世界使用不同的权限,比如说如果你在用LuckPerms的话,你可以:
  1. /lp group default permission set permission.you.like world=world_nether
复制代码

dark7
ustc_zzzz 发表于 2018-3-8 21:14
你可以针对不同的世界使用不同的权限,比如说如果你在用LuckPerms的话,你可以:
...

懂了,谢谢大佬

bhyzgzz
连接炸了兄弟

土球球

指啥链接。。。?下载链接没炸啊

bhyzgzz
ustc_zzzz 发表于 2018-5-5 18:43
指啥链接。。。?下载链接没炸啊

我打不开...

Tollainmear
本帖最后由 Tollainmear 于 2018-6-29 23:23 编辑
  1. @Listener
  2.     public void onReload(GameReloadEvent event)
  3.     {
  4.         this.rulePermissionPairs = this.getRulePermissionPairs();
  5.         this.logger.info("{} rule(s) loaded in total.", this.rulePermissionPairs.size());
  6.     }
复制代码


只能这么重载么,这会导致一些。。。。。。小问题。。。

草原能跳绳
本帖最后由 草原能跳绳 于 2018-7-2 12:22 编辑

我原封不动复制:
- *
+ home

[nucleus.back.base]
+ back
并使用,似乎并不能实现有这个权限就有back指令这个功能

建议直接设置成:不限制op使用指令,不然对于管理服务器很不方便

还有就是,mcbbs里的那个@插件,也被限制了,不止能否修改,使用插件后,@+玩家ID首字母+tab键不能快捷补充玩家名称,产生不便

另外,亲测如果编辑如+tpa后,客户端输入/tpa +玩家ID首字母+tab键可以快捷补充玩家名称,这个是好的

a65w46a
啥意思没看懂怎么用

1062447360
能不能支持下大小写....比如要禁用/minecraft:me这个指令,玩家只要把任意字母改成大写就还可以使用。。。这个太坑啦

土球球
1062447360 发表于 2018-8-30 10:23
能不能支持下大小写....比如要禁用/minecraft:me这个指令,玩家只要把任意字母改成大写就还可以使用。。。这 ...

已于 v0.1.1 修复。

StMan_
这个命令禁止是彻底不能使用了吗?其实我也有同样的源头遭遇, 一个tab一堆命令会出现。如果是彻底禁止了命令无法使用,给管理者会带来很大困难。
个人建议,最好还是设置一个权限,这个权限内的用户无法操作tab 补全命令,但是可以手动打全命令。这样就可以避免一些麻烦

Maotong_qwq
啥意思没看懂怎么用

lrc123250
我这里好像连op都用不了指令了

An-xin
还是不懂怎么才能不同世界禁止不同得权限,版主大人

king北辰
支持一下!

king北辰
服务器正好缺少这种插件!

抱枕丶蓝晨
为啥我按照你的改了之后没用

小依扬
阿巴阿巴,加油,奥利给qwq

MC_Xian_Dou_Bao
插件非常不错 能禁止指令 但是无法防tab补全

MC_Xian_Dou_Bao
本帖最后由 MC_Xian_Dou_Bao 于 2020-8-8 23:15 编辑

请作者尽快修复插件 插件问题很明显 只有白名单模式才能防止tab补全

ReLei520
比较不错的插件

94776417559
谢谢大佬,非常好用的插件 支持

RMBQAQ
非常好的插件谢谢楼主

凉风知南意
大佬冒昧的问一句 这个插件判断的指令是 模糊判断还是只判断配置所存在的同样指令

94776417559
感谢大佬的插件 期待大佬的更新

LegentMan
神乎其技!6的飞起

小浩123456
挺好的,但为什么不直接不给权限呢

ggbssb
感谢分享

2501926835
好厉害啊  大佬

24244020
還是先感謝一波

dsyq乌合之众
不得不说,好用!

Harry_2005
好东西,感谢作者

zhaoyahuia
好强...感谢分享

821896444
看了眼源码,发现居然没有&cUnknown command的代码,这玩意要咋改呀?

qq2873404500
很好。有用

821896444
草原能跳绳 发表于 2018-7-2 12:15
我原封不动复制:
- *
+ home

如果你是把这插件放到BungeeCord的话,子服的op并不能获取bc的权限,所以用不了

盛开午夜
建议加个白名单来决定哪个玩家可以不被这个插件影响

2508640361
MCbbs有你更精彩~

第一页 上一页 下一页 最后一页