
TAB — Minecraft Java Edition 1.7.10 – 1.21.11+
依赖项: · 加载器:Bukkit, Spigot, Paper, Folia, Purpur, BungeeCord, Velocity, Fabric, Forge, NeoForge · Minecraft 版本:1.7.10 - 1.21.11+ ·…
依赖项: · 加载器:Bukkit, Spigot, Paper, Folia, Purpur, BungeeCord, Velocity, Fabric, Forge, NeoForge · Minecraft 版本:1.7.10 - 1.21.11+ · 插件版本:6.0.2 Minecraft 中的标准玩家列表( TAB 菜单)仅按简单的字母顺序显示用户的头像和昵称。原版客户端不支持自定义列表的页眉或页脚、创建动态侧边栏(Sco
依赖项:
· 加载器:Bukkit, Spigot, Paper, Folia, Purpur, BungeeCord, Velocity, Fabric, Forge, NeoForge
· Minecraft 版本:1.7.10 - 1.21.11+
· 插件版本:6.0.2
Minecraft 中的标准玩家列表(TAB 菜单)仅按简单的字母顺序显示用户的头像和昵称。原版客户端不支持自定义列表的页眉或页脚、创建动态侧边栏(Scoreboard)或进度条(BossBar),除非使用会加重游戏 tick 负担的复杂命令方块链。此外,标准工具也无法按游戏等级或访问权限对玩家进行排序,这使管理变得复杂。TAB 插件通过提供一个用于全面重建信息显示界面的异步工具来解决这些问题。得益于模块化架构,任何未启用的功能都会在代码中被完全关闭,不会消耗服务器的计算资源。
TAB 列表中玩家的优先级排序
该插件的核心功能之一是能够按特定层级在列表中对玩家进行分配。TAB 借助 scoreboard teams(计分板队伍)来管理排序。插件会在游戏中自动创建隐藏的队伍并将玩家加入其中,从而迫使 Minecraft 客户端按所需顺序渲染他们。
用于确定优先级的是配置中的 sorting-types 参数。插件自上而下地评估各项条件:如果两名玩家在第一个标准上具有相同的优先级,则按顺序转入下一个标准。
Minecraft 对 scoreboard 队伍名称的长度有严格限制——不得超过 16 个字符。因此 TAB 会将游戏组和权限的文本值压缩为简短的字母索引(例如,组 owner 转换为字符 a,admin 转换为 b,以此类推),而数值则缩短为三位数代码。这样便能控制在客户端数据包的限制范围内
支持的排序类型
排序类型 | 描述 | 设置示例 |
| 按 LuckPerms 或其他权限管理器的等级列表对玩家进行排序。 |
|
| 基于是否拥有权限进行排序。最先列出的权限具有优先级。 |
|
| 按占位符的文本输出进行字母顺序排序。 |
|
| 按占位符的文本输出进行逆字母顺序排序。 |
|
| 从小到大的数值排序(需要数值型占位符)。 |
|
| 从大到小的数值排序(例如游戏货币余额)。 |
|
| 按占位符的特定文本值进行自定义分组。 |
|
插件配置文件的设置
首次启动后,会在 plugins/TAB/ 文件夹中创建一套配置文件结构:
· config.yml — 主文件(参见截图)。它管理各个模块的激活(例如,scoreboard-teams 用于前缀和头顶上方的排序,tablist-name-formatting 用于列表中的颜色,header-footer 用于页眉页脚)。全局侧边栏和 bossbar 也在此处配置。
· animations.yml — 用于描述循环文本效果。动画通过以毫秒为单位的帧更新时间间隔和文本字符串列表来定义。创建的动画可以通过占位符 %animation:名称% 在任何其他配置中输出。
· groups.yml — 存储 LuckPerms 组或个人昵称的前缀和后缀显示格式。
· advanced-config.yml — 包含 PlaceholderAPI 占位符的更新间隔设置(用于防止对数据库的过度查询)、与 RedisBungee 的兼容性参数以及调试标志。
在 animations.yml 文件中创建动画的示例:
server-name: |
管理命令与访问权限
所有管理操作都通过服务器终端,或由拥有相应权限的玩家直接在游戏中执行:
· /tab reload — 在不重启服务器的情况下从磁盘重新加载所有配置文件。
· /tab dump — 生成一份关于配置状态、平台版本、已安装占位符及当前错误的报告,并提供一个用于诊断的网页面板链接。此命令已取代旧工具 /tab debug。
· /tab cpu — 输出处理器负载的详细统计信息。它显示插件每个模块处理数据包所占时间的百分比,帮助定位卡顿的来源。
· /tab parse <玩家> <占位符> — 对指定用户检查某个具体 PlaceholderAPI 变量的输出,从而确认集成配置是否正确。
· /tab scoreboard [on/off] — 为玩家强制开启或关闭统计侧边栏的显示。
· /btab — 适用于 Velocity 或 BungeeCord 代理服务器的命令版本(用于在该群组所有已连接服务器之间全局管理 tab)。
6.0.2 版本中的架构特性与优化
该插件面向大负载下的高性能。在 6.0.2 版本中引入了重要的优化:
· 队伍数据包过滤(Scoreboard Teams):此前,队伍更新会无一例外地发送给所有已连接的玩家,从而导致流量大小与用户数量呈二次方关系。现在,更新仅发送给那些在自己的 tab 列表中直接看到目标玩家的玩家。在大型服务器上,这使名称处理线程的负载降低 80%。
· 拆分为 Vanilla 与 Modded 版本:由于 Fabric 和 NeoForge 迁移到 Java 25,出现了兼容性问题。Paper 中针对 1.20.5 - 1.21.4 版本的插件 remapper 仅支持至 Java 23 的代码。为解决此冲突,该插件以两种形式提供:
· TAB v6.0.2 - Fabric, NeoForge.jar(适用于模组和基于 Java 25 的现代服务器的完整构建)。
· TAB v6.0.2 - Vanilla.jar(一个不含模组依赖的特殊构建,兼容 Paper 1.20.5 - 1.21.4)。
· 与 Folia 的兼容性:TAB 完全支持 Folia 的多线程区域架构,使用异步调度器收集信息并更新占位符 %tps% 和 %mspt%,而不破坏区域的同步。
结论
TAB (tab-was-taken) 是 Minecraft 服务器界面设计的行业标准。它取代了多个用于侧边栏、bossbar 和前缀的独立插件,将它们整合为一个经过优化的异步服务。其主要限制是与其他试图创建自己 scoreboard teams 的插件之间的冲突(例如某些用于头顶自定义昵称的插件或聊天插件),这可能会破坏排序。此外,在 Minecraft 26.1 版本中存在一个 Mojang 的 bug,导致 belowname 文本在所有实体(盔甲架、生物)上都可见,这使该特定功能难以使用。TAB 推荐用于任何类型的服务器——从本地原版项目到大型 BungeeCord/Velocity 网络。
安装
一次典型安装大约 5 分钟。流程相同,只是 Loader 和对应构建不同。
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.








