Minecraft(我的世界)中文论坛

标题: [管理|安全]CommandBlockingManager——屏蔽玩家特定命令[InfStudio][1.10.2-1.12.2]

作者: 土球球    时间: 2018-2-16 14:30
标题: [管理|安全]CommandBlockingManager——屏蔽玩家特定命令[InfStudio][1.10.2-1.12.2]
本帖最后由 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。该部分内容为备份,和主题正文无关。



[groupid=534]InfinityStudio[/groupid]
作者: dark7    时间: 2018-3-7 15:16
支持大佬,如果可以添加不同世界不同禁用更加实用
作者: 土球球    时间: 2018-3-8 21:14
dark7 发表于 2018-3-7 15:16
支持大佬,如果可以添加不同世界不同禁用更加实用

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

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

懂了,谢谢大佬
作者: bhyzgzz    时间: 2018-5-5 18:16
连接炸了兄弟
作者: 土球球    时间: 2018-5-5 18:43
bhyzgzz 发表于 2018-5-5 18:16
连接炸了兄弟

指啥链接。。。?下载链接没炸啊
作者: bhyzgzz    时间: 2018-5-5 21:46
ustc_zzzz 发表于 2018-5-5 18:43
指啥链接。。。?下载链接没炸啊

我打不开...
作者: Tollainmear    时间: 2018-6-29 23:15
本帖最后由 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:15
本帖最后由 草原能跳绳 于 2018-7-2 12:22 编辑

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

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

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

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

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

作者: a65w46a    时间: 2018-7-27 19:22
啥意思没看懂怎么用
作者: 1062447360    时间: 2018-8-30 10:23
能不能支持下大小写....比如要禁用/minecraft:me这个指令,玩家只要把任意字母改成大写就还可以使用。。。这个太坑啦
作者: 土球球    时间: 2018-8-30 14:16
1062447360 发表于 2018-8-30 10:23
能不能支持下大小写....比如要禁用/minecraft:me这个指令,玩家只要把任意字母改成大写就还可以使用。。。这 ...

已于 v0.1.1 修复。
作者: situfangjian    时间: 2019-4-22 16:33
这个命令禁止是彻底不能使用了吗?其实我也有同样的源头遭遇, 一个tab一堆命令会出现。如果是彻底禁止了命令无法使用,给管理者会带来很大困难。
个人建议,最好还是设置一个权限,这个权限内的用户无法操作tab 补全命令,但是可以手动打全命令。这样就可以避免一些麻烦
作者: Maotong_qwq    时间: 2019-6-24 10:03
啥意思没看懂怎么用
作者: lrc123250    时间: 2019-6-25 11:03
我这里好像连op都用不了指令了
作者: An-xin    时间: 2019-10-4 16:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: king北辰    时间: 2019-12-25 20:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: king北辰    时间: 2019-12-25 20:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: 抱枕丶蓝晨    时间: 2020-4-7 17:30
为啥我按照你的改了之后没用
作者: 小依扬    时间: 2020-7-17 18:58
阿巴阿巴,加油,奥利给qwq
作者: MC_Xian_Dou_Bao    时间: 2020-8-6 17:16
插件非常不错 能禁止指令 但是无法防tab补全
作者: MC_Xian_Dou_Bao    时间: 2020-8-8 22:39
本帖最后由 MC_Xian_Dou_Bao 于 2020-8-8 23:15 编辑

请作者尽快修复插件 插件问题很明显 只有白名单模式才能防止tab补全
作者: ReLei520    时间: 2020-9-1 12:26
比较不错的插件