紫乻?
本帖最后由 紫乻? 于 2022-10-5 10:54 编辑

简介


可以阻止白名单以外的命令执行以及TAB补全命令


插件特点

它可以阻止1.12版本以下的旧式命令补全 也可以阻止1.13版本以上的新式命令补全 应该是最完善的一个 阻止补全命令的插件了

阻止命令补全和阻止命令是分别控制的 可以实现 某个命令无法补全 但是可以使用
并且 它在服务器运行了跨版本的插件后 依旧可以正常拦截命令的补全

此插件采取的是白名单制 除了允许的命令以外其他的命令都无法运行和补全

可以有效地去除大面积的 /bukkit:xxxxx /essentials:xxxxx(同时也可以防止玩家知晓服务器所安装的插件)

使用方法

新的配置文件可能介绍有些不足
  1. # 使用命令白名单
  2. command-whitelist:
  3.   # 启用
  4.   enable: true
  5.   # 阻止后发送的消息
  6.   blocked-message: '&cNot Command.'
  7.   # 列表 (&是Yaml的锚点符)
  8.   list: &cmd
  9.     - about
  10.     - hehe
  11.     - haha
  12.     - help

  13. # Tab补全白名单
  14. tab-complete-whitelist:
  15.   # 启用
  16.   enable: true
  17.   # 使用ProtocolLib(拦截数据包) 1.13以下必须开启
  18.   protocol-lib: true
  19.   # 列表 (与命令白名单相同)
  20.   list: *cmd
复制代码

命令 /cmdw reload 重载插件

权限配置文件写的也很清楚
  • commandwhitelist.allow.command 允许玩家执行所有命令(会被该命令的权限限制)
  • commandwhitelist.allow.command.<command> 允许玩家执行该命令
  • commandwhitelist.allow.tabcomplete 允许玩家TAB补全所有命令
  • commandwhitelist.allow.tabcomplete.<command> 允许玩家TAB补全该命令

通过精准的权限控制 可以实现 VIP命令只有VIP玩家可以补全
普通玩家只能补全普通命令 管理员可以补全相关的管理命令(禁言 踢出等)
还有 配置文件里面没提到的一个权限

所有权限


图片展示


(已过滤的命令 其中about和help是白名单的命令 其它四个是BC端的命令 特意用了BC群组服做演示)

(通过权限控制 有权限能补全所有的命令)

(低版本的TAB补全 2333这条命令是不存在的但是加到了配置文件里 高版本是不会显示的
同时 这里低版本也是用的BC群组服 但是无法补全BC的命令 这和我没关系 低版本本来就不能补全)

(低版本没有拦截TAB补全的情况 很乱 这还是没加其它插件的情况下 加上ess那些 乱的一塌糊涂)

更新日志

* 着重符
v1.0.1:
- 新增 添加1.15.x的支持
v1.1.0:
- 备注* 大更新 需要完全删除旧版本 并重新配置
- 新增 自动检测版本 后续版本不需要再添加兼容性了 支持1.8-1.16-以后
- 修改* 权限节点名称修改 详见本贴新的权限节点
- 修改* 命令修改 详见本贴新的命令节点
- 修改* 配置文件修改 配置文件内容结构完全不同
- 备注* 开源 Github
v1.1.1:
- 新增* 分组模式 方便配置不用再给一大堆权限了
v1.1.2:
- 修复 跨版本客户端包括(Minecraft Console Client, ProtocolSupport, PickaxeChat)拦截补全的问题
v1.1.3:
- 修复* 命令白名单与补全白名单相同的问题
v1.1.4:
-修改* 默认权限的设定 使op默认能使用重载命令
v1.2.0:
- 新增* 多条命令 用于在游戏内添加移除白名单
- 修改 现在重载插件也会重新发包给在线玩家了
v1.2.1:
- 修复* 现在1.13+不必重启服务器也能更新补全列表了
插件下载

前置插件: ProtocolLib (1.13以下必装,1.13以上可选 安装后可通过拦截数据包实现阻止Tab补全 更安全)
插件下载: CommandWhitelist-1.2.3.jar (28.31 KB, 下载次数: 983)
开源地址: msgdw/CommandWhitelist (github.com)

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



qq269876864
66666666666666666

孤判嘞
请加入人名补全,比如 report TAB=人名

紫乻?
孤判嘞 发表于 2020-1-26 14:02
请加入人名补全,比如 report TAB=人名

聊天框是能补全人名的 个别插件的命令不能补全人名基本上是其它插件作者的原因
很多插件作者没有在自己的插件内添加命令的参数补全 这与我无关

白马马
希望作者能更新对1.15.x的支持

紫乻?
白马马 发表于 2020-1-27 21:12
希望作者能更新对1.15.x的支持

已更新

165465WD
1710可以用吗。。

以后这种
完成任务

秋末樱
这插件真心好用

Small虾米
楼主1.15的防补全命令似乎失效 给不给权限玩家依然所有命令都无法补全

kioging
插件看起来不错,就是不知道性能如何。支持一下,作者制作不易!

kioging
希望能支持1.16.1

ting20686197
找这个插件找好久了,谢谢楼主

Ki_Yo_Mi
无法使用>_<
无效果!!
(版本:PaperMC 1.16.4)

紫乻?
kioging 发表于 2020-7-21 15:18
希望能支持1.16.1

已更新对1.16.x的支持

紫乻?
Ki_Yo_Mi 发表于 2020-11-23 06:16
无法使用>_<
无效果!!
(版本:PaperMC 1.16.4)

已更新对1.16.x的支持

大洋柿子
这个有点东西啊

Ki_Yo_Mi
紫乻? 发表于 2020-11-24 01:49
已更新对1.16.x的支持

OK
我去试试!

Ki_Yo_Mi
紫乻? 发表于 2020-11-24 01:49
已更新对1.16.x的支持


对Minecraft Console Client不起作用……

紫乻?
本帖最后由 紫乻? 于 2020-12-1 08:37 编辑
Ki_Yo_Mi 发表于 2020-11-28 18:53
对Minecraft Console Client不起作用……

1.1.2版本已修复
必须将配置文件的protocol-lib选项打开
  # 使用ProtocolLib(拦截数据包) 1.13以下必须开启
  protocol-lib: true



落落哟
支持一下

莫零ya
reload指令没有用
显示我莫得权限

kevinss
1.16.4安装了之后连/login都用不了

紫乻?
世界之冠 发表于 2021-1-8 22:18
1.16.4安装了之后连/login都用不了

是白名单 你必须自己把所有可用的命令都配置进去 否正就不可用
如果你只是想 隐藏补全 不行阻止命令 可以关掉阻止命令 有个开关控制

sister3362
感谢楼主!支持原创插件,很好用!

安子轩
关闭命令白名单 玩家还是不能用命令 只能用命令列表里的  我想的是tab补全玩家用不了  命令依旧都可以用  怎么解决

紫乻?
安子轩 发表于 2021-2-12 13:37
关闭命令白名单 玩家还是不能用命令 只能用命令列表里的  我想的是tab补全玩家用不了  命令依旧都可以用   ...

关闭enable选项后插件不会开启拦截 应该不存在这种问题 我仔细观察后也未发现这种问题

run20170
        找这款插件找了好久啦

莫零ya
我以OP身份执行重载指令
显示我没有使用此指令的权限

小冰最帅
很棒的插件感谢分享

紫乻?
莫零ya 发表于 2021-2-17 16:05
我以OP身份执行重载指令
显示我没有使用此指令的权限

部分权限确实默认没有给op
所有的权限节点都有详细描述

详见: https://github.com/msgdw/CommandWhitelist





kougou
本帖最后由 kougou 于 2021-3-3 00:54 编辑

白名单不支持中文命令,希望修复,感谢,MCMMO的命令是中文的

寒风灬
表示op没办法2重载插件就很懵逼 给了权限还是用不了 作者能说详细点么 怎么让op能重载插件

北莫哒
感谢楼主分享

紫乻?
kougou 发表于 2021-2-26 19:53
白名单不支持中文命令,希望修复,感谢,MCMMO的命令是中文的

op给予权限 commandwhitelist.command 及 commandwhitelist.command.reload
我注意到了这个问题 没给权限的情况下 控制台都无法使用重载命令 下个版本将会移除默认权限的设定
目前给予这两个权限即可使用重载命令

紫乻?
13719694611 发表于 2021-3-9 19:22
表示op没办法2重载插件就很懵逼 给了权限还是用不了 作者能说详细点么 怎么让op能重载插件 ...

回复错了 见楼上

紫乻?
kougou 发表于 2021-2-26 19:53
白名单不支持中文命令,希望修复,感谢,MCMMO的命令是中文的

实测是支持中文命令的


Neige
可以加入黑名单功能吗,想阻止补全的往往就只有那几个命令。如果只有白名单功能的话,就需要在白名单内添加大量命令,非常繁琐。而且每次加入新插件都要更改配置文件。这非常不方便

[旺仔]
牛啊,正好需要这个,而且居然支持高版本,好评好评

紫乻?
Neige 发表于 2021-3-11 21:09
可以加入黑名单功能吗,想阻止补全的往往就只有那几个命令。如果只有白名单功能的话,就需要在白名单内添加 ...

这个插件 就如同它的名字 不会增加黑名单模式
我已经给它加入了类似权限组一样的组功能 可以根据不同的组来配置命令 会方便许多
甚至我有考虑添加命令 来将命令添加进白名单
它的工作原理是 拦截服务器向玩家发送的补全列表的数据包 自己做个数据包发过去 不会去验证(修改)原有内容 无法做到过滤某几个命令

寒风灬
命令有空格要怎么设置 配置文件设置了 还是不能用 只有没空格的指令才能用

紫乻?
13719694611 发表于 2021-5-26 04:43
命令有空格要怎么设置 配置文件设置了 还是不能用 只有没空格的指令才能用 ...

无法去控制命令的子命令 这是插件作者该做的事情

寒风灬
紫乻? 发表于 2021-5-26 04:46
无法去控制命令的子命令 这是插件作者该做的事情

能改一下吗 或者 给我单独改一下 您发个QQ给我 QQ里详谈 就加个支持检测命令空格 或者加个什么特殊符号 当成空格使用 不然我服务器内很多插件的命令玩家都没法使用 这插件装了跟没装似的

寒风灬
紫乻? 发表于 2021-5-26 04:46
无法去控制命令的子命令 这是插件作者该做的事情

不用了 我知道咋回事了 直接设置插件的主命令 然后插件的其他子命令就可以使用了 感谢作者回复

52038840
很好的插件,谢谢分享

52038840
很好的插件

Naive4901
使用ProtocolLib(拦截数据包) 1.13以下必须开启
这个功能是干嘛的呀

紫乻?
Naive4901 发表于 2021-6-9 22:00
使用ProtocolLib(拦截数据包) 1.13以下必须开启
这个功能是干嘛的呀

1.13以下BukkitAPI没有提供处理命令补全的方法
插件为了实现阻止Tab补全功能
是通过ProtocolLib去拦截玩家的Tab补全请求的数据包
然后伪造了一个虚假的Tab补全列表数据包发送给玩家
1.13及以上也推荐使用数据包拦截
但是不依赖ProtocolLib也可以单独运行

用户空a1433
11111111111111111

不萌还新
很重要 可以预防提权

下一页 最后一页