1快速开始

LinuxTeam 是一个组队系统插件:把"一起玩"需要的功能收在一处 —— 队伍管理、队伍聊天、队友免误伤、头顶队标,再把疯狂附魔接进来。

它不需要预先配置,装好就能用。默认只有一条规则值得先知道: 每支队伍各自决定加入方式 —— 默认可直接加入, 队长也可以把自己的队改成需要申请。

三步上手

  1. 把 LinuxTeam.jar 放入 plugins/ 目录并重启服务器。
  2. 玩家输入 /team 打开面板,点「创建队伍」并输入队名。
  3. 队长点「邀请玩家」拉人;被邀请的人输入 /team accept 即可入队。
💡
全部功能都是可选的 没装 CrazyEnchantments / PlaceholderAPI / Vault 也能正常运行, 只是对应的联动项自动关闭,不会报错也不会影响其它功能。
👥
加入方式:每支队伍自己决定 默认 可直接加入:玩家执行 /team join <队名> 就立刻进队。
队长想让队伍需要批准,可在 GUI 队伍设置里切到「需要申请」, 或用 /team setting public-join off;之后玩家 /team join 只会提交申请,需要队长 /team accept <玩家> 批准。

·多队伍

一个人可以同时加入多支队伍(默认上限 5 支,可由权限 linuxtream.teams.<数字> 调整, linuxtream.teams.unlimited 不限制)。为此区分两个概念:

概念决定什么怎么设置
主队 头顶队标、PlaceholderAPI 变量里的队伍信息 /team setmain <队伍>
当前队 /team 系列命令作用在哪支队、队伍聊天发到哪支队、GUI 打开展示哪支队 /team use <队伍>

两者互不影响:切当前队不会改主队,设主队也不会改当前队。

切换队伍

  • 输入 /team use(或 /team teams)会弹出可点击的「我的队伍」列表。
  • 点队名 = 切换当前队;点 [主] = 设为主队;点 [看] = 查看详情。
  • GUI 里:主界面左上角「切换队伍」按钮;左键切换当前队,右键设为主队。

防误伤

只要两人有任意一支共同队伍,队友伤害就会被拦下(不只看主队或当前队), 疯狂附魔的进攻类附魔同样适用。

加入方式

每支队伍各自有一个「加入方式」开关,队长可在 GUI 队伍设置里切换,或用命令:

  • /team setting public-join on → 可直接加入:玩家 /team join <队名> 立刻进队
  • /team setting public-join off → 需要申请:玩家提交申请,队长 /team accept <玩家> 批准

队伍列表(/team list 与 GUI 的队伍列表)会显示每支队的当前状态。

人数上限

  • 默认 10 人;权限 linuxtream.limit.<数字> 可覆盖
  • 用服务器货币购买:/team upgrade,每次 +5,最高 30
  • 用点券提升:/team upgrade points,上限直接到 100, 需要 1200 点券,且必须先买到 30
  • 只有队长可以购买;GUI 队伍设置界面里有对应按钮
  • team.max-size-cap 是硬顶(默认 100):权限 linuxtream.limit.* / linuxtream.limit.unlimited 最多给到这么多人
  • 建队成功后聊天栏会显示「队伍人数上限:N 人」,可以直接确认权限有没有生效

数据备份

teams.yml 会自动备份到 plugins/LinuxTeam/backups/:

  • 启动时备份一份(文件名带 -startup)
  • 每 60 分钟自动备份一次(可配置)
  • 只保留最近 10 份,超出自动清理最旧的
  • 备份前会校验:文件不存在、0 字节、YAML 解析失败都不会被当成"好版本"存下来

2GUI 面板怎么点

输入 /team(或 /lt)即可打开面板。 界面分三种:主面板、成员管理、队伍设置, 另外还有邀请、浏览两个列表页。

主面板(54 格)

位置图标作用
第 1 行附魔联动说明查看疯狂附魔联动的当前配置
第 2 行邀请玩家列出未组队的在线玩家,点头像发邀请
第 2 行成员管理成员列表,可踢人 / 转交队长
第 2 行队伍设置队友伤害、队伍聊天开关
第 2 行队伍列表浏览全服队伍,可申请加入
第 2 行队伍聊天一键开关队伍聊天频道
第 3 行成员头像显示成员,点一下进入成员管理
底部退出 / 解散退出队伍 / 解散队伍(需二次确认)

成员管理里能做什么

  • 左键成员头像 → 把他移出队伍(需要 linuxtream.kick)
  • 右键成员头像 → 把队长转交给他(对方必须在线)
  • 底部箭头翻页;自己的头像点了没有反应,防止误操作
💡
拿不走的图标 面板里的图标是"按钮"而不是物品:无论怎么点、怎么拖、怎么按 Shift, 都拿不出来也不会掉到地上。菜单以外的地方(你自己的背包)不受影响。

3命令详解

主命令 /team,可用别名 /lt、/teams、/linuxtream。 不带参数直接打开 GUI 面板。

队伍管理

命令说明权限
/team打开 GUI 管理面板(不带参数即可)linuxtream.use
/team create <队名>创建队伍(2–12 字,自己成为队长)linuxtream.create
/team join <队名>加入队伍。可直接加入的队立刻进;需要申请的队需队长批准linuxtream.join
/team accept接受别人发给你的邀请linuxtream.join
/team accept <玩家>队长批准某人的入队申请linuxtream.join
/team deny拒绝待处理的邀请所有人
/team leave [队伍]退出队伍;在多支队伍里必须指定退哪个(队长退出会自动转交)所有人
/team teams「我的队伍」:列出我加入的全部队伍,标出主队 / 当前队 / 在线人数所有人
/team use <队伍>切换当前队(命令与聊天都作用在它上面);不带参数弹出可点击切换列表所有人
/team setmain <队伍>设置主队(头顶队标与变量显示哪个队)所有人
/team info [序号或队名]不带参数列出我加入的全部队伍信息;带参数只看一支所有人
/team setting查看本队设置;/team setting <项> <on|off> 修改队长
/team upgrade用服务器货币购买人数上限(每次 +5,最高 30)队长
/team upgrade points用点券把上限提到 100(需先到 30,1200 点券)队长
/team invite <玩家>邀请玩家入队,默认 60 秒有效linuxtream.invite
/team kick <玩家>把成员移出队伍linuxtream.kick
/team transfer <玩家>把队长转交给指定成员队长
/team disband解散队伍(15 秒内再输一次确认)linuxtream.disband
/team tag <标记>设置头顶队标;不填参数则清除队长

查看信息

命令说明权限
/team list列出服务器上所有队伍及在线人数所有人
/team info查看自己队伍的详情所有人
/team info <队名>查看指定队伍的详情与成员名单所有人
/team help [页码]命令帮助,分页显示、可点击(样式与 /linux help 一致)所有人

聊天

命令说明权限
/team chat [队伍]开关队伍聊天频道;带队伍名可把频道切到指定队(不带参数 = 当前队)linuxtream.chat
/team chat on|off显式设置开或关linuxtream.chat
/tc [队伍] <内容>单发一条队伍消息,不切换频道;带队伍名可发到指定队linuxtream.chat
/tchat等同于 /team chatlinuxtream.chat

管理员命令

命令说明权限
/team spy开启 / 关闭队伍聊天偷看,消息带 [队伍偷看] 前缀linuxtream.admin
/team reload重载 config.yml 与 teams.ymllinuxtream.admin
/team force-disband <队名>强制解散任意队伍linuxtream.admin
💡
队伍标记写什么 /team tag &6★ 会显示成金色的 ★。 支持 & 颜色代码,长度上限 6 个可见字符; 不允许只写颜色代码(那样头顶会是一片空白)。

4队伍聊天频道

开启频道后,你在公共聊天栏打的字只会发给队友, 别人在公共频道完全看不到。

怎么用

  1. 输入 /team chat 开启频道,会提示「组队聊天频道已开启」。
  2. 之后直接打字即可,消息只发给队友(队友那边带 [队伍] 前缀)。
  3. 再输一次 /team chat 关闭,回到公共频道。
  4. 只想单发一条消息时用 /tc <内容>,不用切换频道。

这些情况会自动关闭频道并提示你

情况提示
自己退出队伍已退出队伍,组队聊天频道已自动关闭
被队长踢出你已被移出队伍,组队聊天频道已自动关闭
队伍被解散队伍已解散,组队聊天频道已自动关闭
队长在设置里关掉了队伍聊天队伍的聊天频道已被队长关闭
⚠️
被禁言的玩家不能在队伍频道发言 队伍消息仍然会经过服务器的禁言 / 聊天过滤插件, 所以禁言期间也发不出队伍消息。这是有意这么做的。
💡
不想让某句话进队伍频道 在消息前面加 ! 即可临时走公共频道 (前缀在 chat.bypass-prefixes 里配置)。

5队友免误伤

同一支队伍的成员之间,伤害默认关闭, 免得团战时一刀砍到自己人。

覆盖范围

  • 近战攻击、弓箭、投掷物(雪球 / 鸡蛋 / 末影珍珠等)
  • 药水(喷溅 / 滞留)对队友的负面效果
  • 范围伤害(TNT、爆炸等)
  • 疯狂附魔的进攻类附魔打到队友身上

队长可以放开

进入「队伍设置」,点「队友伤害」即可切换。 开启后队友之间恢复正常的 PVP 伤害,适合想内部切磋的队伍。

💡
拦截提示不会刷屏 同一个攻击者每 2 秒最多收到一条「不要攻击队友」提示, 攻速快的时候也不会把聊天栏刷爆。

6疯狂附魔联动

装了 CrazyEnchantments 后,本插件会把附魔效果接进队伍体系。 三项能力各自独立开关,都在 config.yml 的 crazy-enchantments 段里。

① 队伍加成:人越多,触发越猛

配置项默认值含义
team-bonus.chance-per-member0.15每名附近队友增加 15% 触发概率
team-bonus.max-bonus0.60加成上限 +60%
team-bonus.min-members1至少 1 名队友才开始加成
team-bonus.radius32只统计这个距离内的队友,0 = 不限距离
team-bonus.whitelist空留空 = 所有附魔都吃加成
team-bonus.blacklistBlast, Rage这些附魔不吃加成(优先于白名单)

② 附魔共享:触发时顺手惠及队友

触发下面这些附魔时,附近的队友会同步获得对应的增益效果:

share:
enabled: true
radius: 16 # 共享半径(格)
duration-ratio: 0.8 # 队友吃到的时长比例
level-reduction: 0 # 队友吃到的等级降低多少
cooldown-seconds: 3 # 共享冷却,防刷屏
triggers:
- Vampire
- LifeSteal
- Blessed
- Recover
- Savior
- Angel
- Fortify
- Valor
- Enlightened
💡
为什么要手写效果表 CrazyEnchantments 的 API 不告诉外挂插件"这次触发了什么药水效果", 所以共享的具体效果由服主在 share-effects 里定义: 一行一条,格式为 效果名:持续tick:等级,例如 REGENERATION:100:0。

③ 附魔免误伤

进攻类附魔打到队友身上时会被直接取消, 队友之间不会因为附魔效果互相伤害。

怎么验证联动生效了

  1. 面板第一行有「疯狂附魔联动」图标,点开能看到当前生效的配置。
  2. 组队后触发一次共享类附魔,队友那边会收到 [队伍附魔] 提示。
  3. 服务器启动日志里会打印一道 LinuxTeam 已启动 —— 疯狂附魔联动: 已启用。

7配置说明

配置文件:plugins/LinuxTeam/config.yml。 改完执行 /team reload 即可生效,不用重启。

/team reload 会一并重载:config.yml、消息文本、疯狂附魔联动缓存、GUI,以及队伍数据 teams.yml。也就是说手工改了 plugins/LinuxTeam/teams.yml(例如把某队的 max-size 调大)之后直接 /team reload 就会生效,不需要重启服务器。

重载前会自动把当前 teams.yml 备份一份(文件名带 -beforereload),改坏了可以找回。

常用项

配置项默认值说明
team.name-min-length2队名最短长度
team.name-max-length12队名最长长度
team.allow-colortrue队名是否允许颜色代码
team.default-max-size10默认队伍人数上限;权限 linuxtream.limit.<数字> 可覆盖
team.max-size-cap100人数上限的硬顶:linuxtream.limit.* / unlimited 最多给到这么多人
backup.keep10保留最近多少份 teams.yml 备份
team.create-cost10000创建队伍收费(需 Vault 经济)
team.upgrade.moneystep 5 / max 30 / price 8000货币购买人数上限
team.upgrade.pointscost 1200 / max 100 / require-max 30点券购买人数上限
backup.interval-minutes60teams.yml 自动备份间隔,0 = 只在启动时备份
team.tag-max-length6队标可见字符上限
team.invite-seconds60邀请有效期
team.disband-confirm-seconds15解散二次确认窗口
team.rejoin-cooldown0退队后再加入的冷却秒数
members.offline-kick-hours0离线多久自动移出队伍,0 = 不移出
chat.default-channelfalse玩家进服是否默认开队伍频道
chat.log-to-consoletrue队伍消息是否也打进控制台

队伍人数上限按权限分配

给玩家 LuckPerms 节点 linuxtream.limit.20 即可让他创建上限 20 人的队伍。 同时拥有多个节点时取最大值, linuxtream.limit.unlimited 或 linuxtream.limit.* 视为上限 100。

💡
数据文件 队伍数据存在 plugins/LinuxTeam/teams.yml。 插件采用原子落盘(写临时文件再改名), 所以服务器崩溃不会把队伍文件写坏。

8权限节点

权限节点默认作用
linuxtream.use所有人基础使用权(打开面板)
linuxtream.create所有人允许创建队伍
linuxtream.join所有人允许加入队伍(申请或接受邀请)
linuxtream.chat所有人允许使用队伍聊天频道
linuxtream.invite所有人允许邀请玩家
linuxtream.kick所有人允许踢出成员
linuxtream.disband所有人允许解散队伍
linuxtream.limit.N关闭队伍人数上限为 N(取持有的最大值)
linuxtream.teams.<数字>可加入的队伍数量上限(取拥有节点里的最大值),默认 5 支
linuxtream.teams.unlimited不限可加入队伍数(仍受 multi-team.max-teams-cap 约束)
linuxtream.limit.unlimited队伍人数上限不受默认值限制(仍受 team.max-size-cap 约束)
linuxtream.adminOP偷看队聊 / 重载 / 强制解散

给某个组关掉组队聊天

用 LuckPerms 给该组设置 -linuxtream.chat 即可。 关闭后:面板上的队伍聊天按钮会提示无权限, 已经开着的频道也会在下次发言时自动关掉。

/lp group default permission set linuxtream.chat false

9变量与联动

装了 PlaceholderAPI 后可用下列变量, 常见用法是放进 TAB、记分板或聊天格式里显示队伍名。

变量内容
%linuxtream_team%队伍名(无颜色代码)
%linuxtream_team_plain%同上
%linuxtream_tag%队伍标记
%linuxtream_leader%队长名字
%linuxtream_size%队伍总人数
%linuxtream_online%队伍在线人数
%linuxtream_max%队伍人数上限
%linuxtream_in_team%是否在队伍里
%linuxtream_chat%队伍频道是否开启
%linuxtream_rank%自己在队伍里的身份(队长 / 成员)
%linuxtream_contribution%队伍贡献值
%linuxtream_team_list%队伍成员名单
%linuxtream_team_online_list%在线成员名单
%linuxtream_flag%队伍标识
多队伍相关
%linuxtream_teams_count%我加入的队伍数量
%linuxtream_teams_limit%我的队伍数上限
%linuxtream_teams_list%我加入的全部队名(逗号分隔)
%linuxtream_primary%主队名(别名 %linuxtream_primary_team%)
%linuxtream_current%当前队名(别名 %linuxtream_current_team%)

与 InTheNameOfLinux 联动

装了综合管理插件 InTheNameOfLinux 后,它会自动探测本插件并接管显示:

命令作用
/linux teamsLinuxTeam 详情:版本、联动状态、全服队伍总数与队伍列表
/linux plugins只看 Linux 系插件的联动状态(LinuxTeam / LinuxTitle / FakePlayerPlugin)
/linux lookup <玩家>查询玩家资料时一并显示他所属队伍与是否为队长(离线也能查)

只有 Linux 系插件会占一条子命令,而且详情都在子命令里: /linux teams(LinuxTeam,含全服队伍列表)、 /linux titles(LinuxTitle)、 /linux fakeplayer(FakePlayerPlugin,含当前假人数)。 没装的插件不会留下命令,/linux help 里也不会出现 —— 帮助列表始终等于"当前真正可用的命令"。

另外它还会注册 %inl_team%、%inl_team_tag%、 %inl_in_team%、%inl_title% 变量, 用哪一套取决于你的展示需求。

💡
查询玩家时会看到他属于哪支队 /linux lookup <玩家> 的队伍那一行长这样:
所属队伍: 攻坚队(队长)· 在线 3 人 · 编制 3/8 ✔队长
没组队时显示"无(未组队)"。玩家离线也能查出来,不要求他在线。

10常见问题

玩家常问

我打了 /team join,为什么没进队?
这是需要申请的正常表现:申请已经提交,需要队长批准。 队长会收到一条提示,告诉他用 /team accept <你的名字> 放行。
队长想让队伍免批准直接加入,在 GUI 队伍设置里把「加入方式」切到 可直接加入,或用 /team setting public-join on。
开了队伍频道,但我说话别人还是看得见?
先确认三件事:
① 频道确实开着(/team chat 会提示"已开启"或"已关闭");
② 消息没有以"绕过前缀"开头 —— 默认配置下以 ! 开头会走公共频道;
③ 你确实在队伍里。没队伍时插件会自动关掉频道并提示你。
都不是的话,看服务端有没有别的聊天插件也在改接收人列表。
退出队伍后频道还开着?
不用手动关,会自动关:自己退队、被踢、队伍解散、队长关掉队伍聊天 这四种情况都会立刻关闭频道并给你一句提示。 如果你还在打字却发现没人回,先看聊天栏有没有那条提示。
面板里的图标为什么拿不出来?
这是有意设计:面板里的图标是按钮,不是给你拿的物品。 无论左键、右键、Shift 点还是拖拽都拿不走,也不会掉到地上。 你自己背包里的东西不受影响,正常整理即可。
改了队标,头顶却没变?
正常情况下改完立刻刷新,不需要重新上线。如果没变,检查两点:
① team-tag.prefix 里是否有 %tag% 占位 (默认是 &7[%tag%] &r);
② 有没有别的 TAB / 计分板插件也在改同一批玩家的名前缀 —— 两边会互相覆盖,头顶显示只能交给其中一个管。
能只让某些玩家用队伍聊天吗?
可以。用 LuckPerms 给对应组设置 -linuxtream.chat。
被关掉之后:面板上的队伍聊天按钮会提示无权限, 已经开着的频道也会在下次发言时自动关闭 —— 三处都会拦,绕不过去。

服主常问

想查某个玩家在哪个队、是不是队长?
装了 InTheNameOfLinux 的话,用 /linux lookup <玩家>, 资料里会多一行:
所属队伍: 攻坚队(队长)· 在线 3 人 · 编制 3/8 ✔队长
玩家离线也能查,不要求他在线。 没组队时会显示"无(未组队)"。
怎么一次看全服的队伍?
/linux teams —— 显示 LinuxTeam 的版本、联动状态、 全服队伍总数,以及每支队伍的队名、在线人数与编制。
/team list 也能看,输出更适合玩家阅读。
想整体关掉队伍聊天功能?
把 linuxtream.chat 权限从所有人身上收回(例如 /lp group default permission set linuxtream.chat false)。 收回后普通玩家开不了频道,只有给了权限的组能用。
玩家退队后一直占着队伍名额?
把 members.offline-kick-hours 设成一个小时数(例如 72), 插件会每 30 分钟扫一次,把超过该时长没上线的成员自动移出队伍。 默认 0 表示不清理,队伍名额会被离线玩家一直占着。
队伍人数上限改不动?
上限取权限节点与 team.default-max-size 里较大的那个。
给玩家 linuxtream.limit.20 即可提到 20 人; linuxtream.limit.unlimited(或 linuxtream.limit.*)视为 100 人。
改小的方向改不动,是因为权限节点那边数字更大 —— 要先收回节点。
附魔共享没有反应?
按顺序查:
① 服务器装了 CrazyEnchantments 吗;
② crazy-enchantments.enabled 是 true 吗;
③ share.enabled 是 true 吗;
④ 触发的那个附魔在 share.triggers 名单里吗;
⑤ 队友在 share.radius 范围内吗(默认 16 格)。
这些都能在 /linux teams 对应的面板页与 config.yml 里核对。
服务器崩溃会丢队伍数据吗?
不会。teams.yml 采用原子落盘: 先写 teams.yml.tmp,写完整了再原子改名覆盖原文件 —— 写入过程中原文件始终是完好的一份,崩在中间也不会留下半个文件。 另外异步保存会先在主线程拍一份快照再交给后台线程, 不会出现"边改边存"的错乱。