主配置 config.yml
plugins/GTDungeonTeam/config.yml 控制队伍、体力、掉落、竞拍、经验、存储、代理和界面。副本本身不写在这里,副本固定放在 dungeons/ 文件夹。
修改后执行:
/gdt reload存储、代理、经济、客户端 UI 这类加载顺序相关的内容,正式服建议完整重启一次。
队伍 team
team:
default-max-players: 4
default-name: "<leader>的队伍"
default-description: "欢迎加入队伍。"
default-public: true
default-allow-apply: true
default-allow-pvp: false
default-random-distribution: false
pvp-damage-in-dungeon: false
invite-expire-seconds: 60
application-expire-seconds: 45
max-applications: 6| 字段 | 作用 |
|---|---|
default-max-players | 新队伍默认人数上限 |
default-name | 新队伍默认显示名,支持 <leader> |
default-description | 新队伍默认介绍 |
default-public | 新队伍是否默认公开 |
default-allow-apply | 是否默认接收入队申请 |
default-allow-pvp | 队伍是否默认允许队友伤害 |
default-random-distribution | 队伍是否默认开启掉落分配开关 |
pvp-damage-in-dungeon | 副本内是否允许队伍 PVP 逻辑生效 |
invite-expire-seconds | 邀请过期时间 |
application-expire-seconds | 入队申请过期时间 |
max-applications | 单个队伍最多保留多少条申请 |
队伍 ID 和队伍显示名是两回事。队伍 ID 用于内部索引、跨服同步、公开房间操作;队伍显示名给玩家看,队长可以改。
公开房间
team:
public-room:
enabled: true
quick-join: true| 字段 | 作用 |
|---|---|
enabled | 是否开放公开房间列表 |
quick-join | 是否允许 /gdt rooms quick 快速加入 |
公开房间不是强制进队。队伍开启申请时,玩家会提交入队申请;队伍关闭申请或条件不满足时,会收到失败提示。
入队条件模板
team:
join-requirements:
templates:
power:
name: "战斗力"
placeholder: "%player_zhandouli%"
default-operator: ">="
description:
- "限制申请者战斗力。"
job:
name: "职业"
placeholder: "%player_job%"
default-operator: "="
description:
- "限制申请者职业。"这里是服主给队长准备“可选条件”。队长在游戏里决定要不要启用、比较符是什么、值填多少。
| 字段 | 作用 |
|---|---|
name | 玩家看到的条件名称 |
placeholder | 检查申请者时读取的 PAPI |
default-operator | 队长只输入值时使用的默认比较符 |
description | GUI 说明文字 |
可用比较符:
>= <= > < = == != contains !contains中文输入也能识别一部分:
大于 大于等于 小于 小于等于 等于 不等于 包含 不包含职业、阵营、称号这类文本条件,默认比较符用 =。战力、等级、转生次数这类数值条件,默认比较符用 >=。
副本默认适配器
dungeon:
default-provider: command当副本文件没写 provider 时,会使用这里的默认值。新服测试建议先用 command,流程通了再换成真实副本适配器。
体力 stamina
stamina:
enabled: true
max: 120
initial: 120
recover-amount: 1
recover-seconds: 60| 字段 | 作用 |
|---|---|
enabled | 是否启用体力 |
max | 体力上限 |
initial | 玩家首次记录时的初始体力 |
recover-amount | 每次恢复多少体力 |
recover-seconds | 每隔多少秒恢复一次 |
max、initial、recover-amount 支持变量和公式:
stamina:
max: "{calc:120+%player_level%*2}"
initial: "<stamina_max>"
recover-amount: "{calc:1+%vip_level%}"
recover-seconds: 60<stamina_max> 是当前计算出的体力上限。恢复量结果小于 0 时会按 0 处理。
战斗统计 stats
stats:
damage-enabled: true开启后插件会记录副本中的队伍伤害,用于结算页、DPS 展示、HUD 或客户端 UI 显示。
掉落分配 loot
loot:
enabled: true
mode: random
require-team-toggle: true
require-active-run: false
same-world-only: true
include-picker: true
announce: true| 字段 | 作用 |
|---|---|
enabled | 总开关 |
mode | 分配模式 |
require-team-toggle | 是否要求队伍自己的掉落分配开关已开启 |
require-active-run | 是否必须在副本运行中才接管掉落 |
same-world-only | 只分给同世界在线队员 |
include-picker | 拾取者是否也参与分配 |
announce | 是否通知队伍成员 |
mode 可填:
| 值 | 效果 |
|---|---|
random | 在线候选队员随机获得 |
round_robin | 轮流获得 |
leader | 优先给队长 |
picker | 给拾取者 |
off | 不接管掉落 |
普通组队服可以保持:
loot:
require-active-run: false这样没有副本插件时也能使用队伍掉落分配。
掉落黑名单
loot:
blacklist:
materials: []
lore-keywords:
- "绑定"
- "限定"匹配黑名单的物品不会被队伍分配接管。适合绑定物品、任务物品、不可交易物品。
materials 写原版材料名:
materials:
- BARRIER
- COMMAND_BLOCKlore-keywords 会去掉颜色后做包含匹配。
经验共享 exp-share
exp-share:
enabled: false
require-active-run: false
same-world-only: false
include-earner: false
announce: false
proportions:
default: 0
2: 5
3: 10
4: 15| 字段 | 作用 |
|---|---|
enabled | 是否启用经验共享 |
require-active-run | 是否必须在副本中才共享 |
same-world-only | 只给同世界队友 |
include-earner | 获得经验的人是否也拿共享经验 |
proportions | 按队伍人数配置共享百分比 |
示例:队伍 3 人时,玩家获得 100 点经验,其他在线队友各获得 10 点额外经验。
exp-share:
enabled: true
include-earner: false
proportions:
3: 10副本适配器 providers
providers:
btdungeons:
prefer-api: true
command:
enabled: truecommand 是兜住流程用的适配器,适合测试、临时副本、只执行命令的玩法。真实副本插件能用 API 时,优先走 API。
查看当前适配器状态:
/gdt providers存储 storage
storage:
mode: auto| 值 | 说明 |
|---|---|
local | 本地存储,适合单服测试 |
mysql | 使用 MySQL |
redis | 使用 Redis |
auto | 按 Redis、MySQL、local 的顺序选择可用存储 |
单服测试用 local。跨服网络推荐 MySQL 或 Redis,多个子服必须使用同一套存储。
MySQL
mysql:
enabled: false
host: 127.0.0.1
port: 3306
database: gtdungeonteam
username: root
password: ""
params:
useSSL: false
serverTimezone: Asia/Shanghai
characterEncoding: utf8
pool:
maximum-pool-size: 8一般不用手写完整 JDBC。确实需要自定义时,可以额外配置旧式 mysql.jdbc-url,插件会优先使用它。
Redis
redis:
enabled: false
host: 127.0.0.1
port: 6379
password: ""
database: 0Redis 适合跨服队伍状态和短期请求。生产服注意给 Redis 设置密码,并限制外网访问。
代理 proxy
proxy:
enabled: false
type: none
server-id: lobby-1
custom-channel: "gtdungeonteam:main"
legacy-custom-channel: "GTDungeonTeam"| 字段 | 作用 |
|---|---|
enabled | 是否启用跨服桥 |
type | velocity、bungee、waterfall、none |
server-id | 当前子服 ID,要和代理服务器名对应 |
custom-channel | 现代插件消息通道 |
legacy-custom-channel | 旧版本插件消息通道 |
每个子服的 server-id 必须不同,且和副本文件中的 target-server 对得上。
跨服开本 cross-server
cross-server:
auto-start-on-target: true
pending-expire-seconds: 120
join-delay-ticks: 40| 字段 | 作用 |
|---|---|
auto-start-on-target | 队员到达目标服后自动消费开本请求 |
pending-expire-seconds | 跨服开本请求过期时间 |
join-delay-ticks | 玩家进目标服后延迟多少 tick 再尝试开本 |
跨服开本流程见 跨服与存储。
客户端界面 ui
ui:
default: vanilla
prefer-client-ui: true
client-views:
main: "gtdungeonteam/main"
team: "gtdungeonteam/team"
rooms: "gtdungeonteam/rooms"
dungeons: "gtdungeonteam/dungeons"
result: "gtdungeonteam/result"default 可填:
vanilla
paiui
ax
dragoncore
kongcore
dialogprefer-client-ui: true 时,插件先尝试客户端 UI,失败再回原版 GUI。各引擎详细配置在 client-ui/providers.yml。
消息前缀
messages:
prefix: "&8[&3GTDungeonTeam&8] &r"所有普通提示都会带这个前缀。颜色符号支持 &。
