- 版权类型
- 原创
- 插件中文名称
- 防TAB
- 插件英文名称
- NoTabComplete
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- Purpur
- PufferFish
- Leaves
- 其他核心
- 语言支持
- 中文(简体)
- 适配版本(Java)
- 最新版本
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
- 1.11
- 1.10
- 1.9
- 1.8
#
NoTabComplete —— 防TAB补全偷窥插件
> **你的服务器指令还在"裸奔"吗?**
>
> 一个 `/` + `TAB` 就能让普通玩家看到 OP 指令、插件名称、甚至敏感功能?
> **NoTabComplete** 彻底解决 TAB 补全泄露问题,让不该看的,永远看不见。
---
##
核心功能
| 功能 | 说明 |
|------|------|
| **
白名单过滤** | 仅允许指定指令显示在 TAB 补全中 |
| **
根命令隐藏** | 玩家输入 `/` 后按 TAB,看不到任何未授权指令 |
| **
权限绕过** | OP/管理员可通过权限节点绕过限制,正常补全 |
| **
插件伪装** | 隐藏真实插件指令,防止针对性探测 |
| **
轻量高效** | 事件级拦截,零性能开销 |
---
##
为什么需要 NoTabComplete?
### 安装前 —— 指令裸奔
```
普通玩家输入 / 按 TAB:
/op <player> ← 看到管理员指令
/ban <player> [reason] ← 看到封禁指令
/gamemode <mode> ← 看到游戏模式指令
/essentials:fly ← 暴露安装了 Essentials
/worldedit:// ← 暴露安装了 WorldEdit
/lp user <user> permission set ... ← 看到 LuckPerms 指令
```
### 安装后 —— 精准管控
```
普通玩家输入 / 按 TAB:
/help
/spawn
/msg
/tell
/r
(其他全部隐藏)
```
---
##
适用场景
- **生存服** — 隐藏管理指令,防止玩家窥探服务器功能
- **小游戏服** — 隐藏内部调试/开发指令
- **RPG服** — 隐藏剧情系统、NPC 交互等内部指令
- **租赁服/面板服** — 防止插件信息泄露,提升安全性
- **代理端群组** — BungeeCord/Velocity 全局统一管控
---
##
配置文件
```yaml
# NoTabComplete 配置文件
# 修改后请执行 /notabcomplete reload,或重启服务器/代理端。
# 是否启用插件。
# true = 启用禁用 TAB 补全功能。
# false = 不拦截任何 TAB 补全。
enabled: true
# 是否只允许白名单里的命令 TAB 补全。
# true = 除 allowed-commands 中的命令外,其他命令全部禁止 TAB 补全。
# false = 不使用白名单模式,所有命令都可以正常 TAB 补全。
whitelist-mode: true
# 是否隐藏玩家输入 / 后显示的根命令列表。
# true = 玩家按 TAB 时只显示 allowed-commands 中允许的根命令。
# false = 不处理根命令列表,只处理命令参数补全。
# 注意:Bukkit/Spigot 1.13+ 支持较完整;部分 1.8-1.12 服务端无法完全隐藏根命令列表,这是服务端本身限制。
hide-root-commands: true
# 是否允许拥有绕过权限的玩家不受限制。
# true = 拥有 notabcomplete.bypass 权限的玩家可以正常 TAB 补全。
# false = 权限不会绕过限制。
enable-bypass-permission: true
# 白名单命令列表。
# 只有这里填写的命令可以 TAB 补全。
# 写法说明:
# - 不需要写 /,例如 spawn。
# - 大小写不敏感,例如 Spawn 和 spawn 效果相同。
# - 支持命名空间命令,例如 minecraft:msg。
# - 填写根命令即可,例如填写 msg 后,/msg 后面的参数补全也会允许。
allowed-commands:
- help
- spawn
- msg
- tell
- r
# 重载成功提示。
# 支持颜色符号 &,例如 &a 绿色。
reload-message: "&aNoTabComplete 配置已重载。"
# 没有权限执行管理命令时的提示。
# 支持颜色符号 &。
no-permission-message: "&c你没有权限执行这个命令。"
```
---
##
使用说明
### 安装
1. 下载 `NoTabComplete.jar`
2. 放入 `/plugins/` 文件夹(Bukkit/Spigot/Paper)或 `/plugins/`(BungeeCord/Velocity)
3. 重启服务器/代理端
4. 编辑 `/plugins/NoTabComplete/config.yml`
5. 执行 `/notabcomplete reload`
### 管理指令
| 指令 | 权限 | 说明 |
|------|------|------|
| `/notabcomplete reload` | `notabcomplete.admin` | 重载配置文件 |
| `/notabcomplete help` | 无 | 查看帮助信息 |
### 权限节点
| 权限 | 说明 |
|------|------|
| `notabcomplete.bypass` | 绕过 TAB 补全限制,看到全部指令 |
| `notabcomplete.admin` | 执行重载等管理指令 |
---
##
效果对比
**安装前:**
```
player 输入 / 按 TAB
→ [op] [ban] [kick] [gamemode] [give] [essentials:fly] [worldedit://] [lp] ...
```
**安装后:**
```
player 输入 / 按 TAB
→ [help] [spawn] [msg] [tell] [r]
```
**管理员(有 bypass 权限):**
```
admin 输入 / 按 TAB
→ [help] [spawn] [msg] [op] [ban] [kick] [gamemode] ... 全部正常显示
```
---
##
版本兼容性
| 平台 | 版本 | 支持状态 |
|------|------|---------|
| Bukkit | 1.8 - 1.21+ |
完整支持 |
| Spigot | 1.8 - 1.21+ |
完整支持 |
| Paper | 1.8 - 1.21+ |
完整支持 |
| BungeeCord | 最新 |
完整支持 |
| Velocity | 最新 |
完整支持 |
> **注意:** 1.8-1.12 服务端由于 API 限制,`hide-root-commands` 功能可能无法完全隐藏根命令列表,这是服务端本身限制,非插件问题。
> **你的服务器指令还在"裸奔"吗?**
>
> 一个 `/` + `TAB` 就能让普通玩家看到 OP 指令、插件名称、甚至敏感功能?
> **NoTabComplete** 彻底解决 TAB 补全泄露问题,让不该看的,永远看不见。
---
##
| 功能 | 说明 |
|------|------|
| **
| **
| **
| **
| **
---
##
### 安装前 —— 指令裸奔
```
普通玩家输入 / 按 TAB:
```
### 安装后 —— 精准管控
```
普通玩家输入 / 按 TAB:
(其他全部隐藏)
```
---
##
- **生存服** — 隐藏管理指令,防止玩家窥探服务器功能
- **小游戏服** — 隐藏内部调试/开发指令
- **RPG服** — 隐藏剧情系统、NPC 交互等内部指令
- **租赁服/面板服** — 防止插件信息泄露,提升安全性
- **代理端群组** — BungeeCord/Velocity 全局统一管控
---
##
```yaml
# NoTabComplete 配置文件
# 修改后请执行 /notabcomplete reload,或重启服务器/代理端。
# 是否启用插件。
# true = 启用禁用 TAB 补全功能。
# false = 不拦截任何 TAB 补全。
enabled: true
# 是否只允许白名单里的命令 TAB 补全。
# true = 除 allowed-commands 中的命令外,其他命令全部禁止 TAB 补全。
# false = 不使用白名单模式,所有命令都可以正常 TAB 补全。
whitelist-mode: true
# 是否隐藏玩家输入 / 后显示的根命令列表。
# true = 玩家按 TAB 时只显示 allowed-commands 中允许的根命令。
# false = 不处理根命令列表,只处理命令参数补全。
# 注意:Bukkit/Spigot 1.13+ 支持较完整;部分 1.8-1.12 服务端无法完全隐藏根命令列表,这是服务端本身限制。
hide-root-commands: true
# 是否允许拥有绕过权限的玩家不受限制。
# true = 拥有 notabcomplete.bypass 权限的玩家可以正常 TAB 补全。
# false = 权限不会绕过限制。
enable-bypass-permission: true
# 白名单命令列表。
# 只有这里填写的命令可以 TAB 补全。
# 写法说明:
# - 不需要写 /,例如 spawn。
# - 大小写不敏感,例如 Spawn 和 spawn 效果相同。
# - 支持命名空间命令,例如 minecraft:msg。
# - 填写根命令即可,例如填写 msg 后,/msg 后面的参数补全也会允许。
allowed-commands:
- help
- spawn
- msg
- tell
- r
# 重载成功提示。
# 支持颜色符号 &,例如 &a 绿色。
reload-message: "&aNoTabComplete 配置已重载。"
# 没有权限执行管理命令时的提示。
# 支持颜色符号 &。
no-permission-message: "&c你没有权限执行这个命令。"
```
---
##
### 安装
1. 下载 `NoTabComplete.jar`
2. 放入 `/plugins/` 文件夹(Bukkit/Spigot/Paper)或 `/plugins/`(BungeeCord/Velocity)
3. 重启服务器/代理端
4. 编辑 `/plugins/NoTabComplete/config.yml`
5. 执行 `/notabcomplete reload`
### 管理指令
| 指令 | 权限 | 说明 |
|------|------|------|
| `/notabcomplete reload` | `notabcomplete.admin` | 重载配置文件 |
| `/notabcomplete help` | 无 | 查看帮助信息 |
### 权限节点
| 权限 | 说明 |
|------|------|
| `notabcomplete.bypass` | 绕过 TAB 补全限制,看到全部指令 |
| `notabcomplete.admin` | 执行重载等管理指令 |
---
##
**安装前:**
```
player 输入 / 按 TAB
→ [op] [ban] [kick] [gamemode] [give] [essentials:fly] [worldedit://] [lp] ...
```
**安装后:**
```
player 输入 / 按 TAB
→ [help] [spawn] [msg] [tell] [r]
```
**管理员(有 bypass 权限):**
```
admin 输入 / 按 TAB
→ [help] [spawn] [msg] [op] [ban] [kick] [gamemode] ... 全部正常显示
```
---
##
| 平台 | 版本 | 支持状态 |
|------|------|---------|
| Bukkit | 1.8 - 1.21+ |
| Spigot | 1.8 - 1.21+ |
| Paper | 1.8 - 1.21+ |
| BungeeCord | 最新 |
| Velocity | 最新 |
> **注意:** 1.8-1.12 服务端由于 API 限制,`hide-root-commands` 功能可能无法完全隐藏根命令列表,这是服务端本身限制,非插件问题。