跳到主要内容

GDD-34 好友与组队系统设计

文档类型:游戏设计文档(Game Design Document) 版本:1.4 日期:2026-07-06 关联文档:GDD-03(战斗系统)、GDD-06(经济系统)、GDD-08(大陆地图与区域开放)、GDD-16(社交系统与玩法扩展)、GDD-22(开放世界随机事件)、GDD-23(能量体系)、GDD-29(聊天与信息传递系统)、GDD-33(世界Boss与大型PVE协作机制)

本文档定位:在 GDD-16 社交关系链(师徒/道侣/结义)和 GDD-29 聊天系统的基础上,系统性地设计好友关系管理与组队协作的完整机制框架。好友系统提供轻量级社交关系载体,组队系统提供多人协作的基础设施。两者共同服务于「玩家互动优先」(✅97) 的设计哲学,与无任务系统、概率/机遇驱动的核心约束一致。


已确认决策记录(GDD-34 本地,跨文档引用写 GDD-34 ✅F0X

#决策
✅F01好友关系单向确认制:A 添加 B 为好友,B 同意后双方互为好友;删除好友单向操作,对方无感(对齐 GDD-29 ✅C06 屏蔽双轨理念)
✅F02好友度五档体系:萍水相逢(0-99) / 相识(100-299) / 同道(300-599) / 莫逆(600-999) / 生死之交(1000+),影响组队BUFF、传送权限、好友数量上限
✅F03好友组队BUFF叠加:好友度越高组队战斗增益越强,同队内多名好友叠加有递减(第二人 70%、第三人 50%、第四人 35%),防止纯好友队碾压
✅F04组队人数上限 5 人:与 GDD-29 队伍频道上限一致、与 GDD-33 组队副本建议人数对齐
✅F05跨层级组队受降维护佑约束:高境界带低境界组队时,高境界玩家触发降维护佑(GDD-08 ✅Q06),伤害大幅压制但获得声望/好友度额外加成作为"带新"补偿
✅F06队伍掉落三模式:贡献分配(默认)/ 随机掷骰 / 队长分配,由队长在组队时选择,进入战斗后不可更改
✅F07好友传送消耗道具:传送消耗「同行符」道具,同层 1 张、跨 1 层 3 张、跨 2 层 5 张(对齐 GDD-29 ✅C12 传音符消耗梯度);好友度 ≥ 莫逆可减免 50%
✅F08好友上限按境界扩展:炼气 30 人 / 筑基 50 人 / 金丹 80 人 / 元婴 120 人 / 化神 150 人 / 合体 200 人 / 大乘 250 人 / 渡劫 300 人 / 飞升 500 人
✅F09组队匹配按目标分类:副本 / 世界Boss / 游历 / 委托 / 自由五类目标,匹配时综合境界、职业、好友度优先推荐好友

第一章 好友系统

1.1 好友关系总览

好友是洪荒大陆最轻量级的社交关系,介于「陌生人」与「同道/道侣/结义」之间。好友关系提供在线感知、快速组队、好友传送、组队加成等基础社交功能,不涉及深度绑定或共享资源。

维度规则
关系类型轻量级双向关系(确认制)
好友上限按境界递增(✅F08)
好友度共同行为累积,影响组队BUFF与传送权限
在线状态实时推送好友上下线通知
与深层关系好友是师徒/道侣/结义的前置条件(GDD-16 §1.1)

1.2 好友添加与删除

1.2.1 添加好友

维度规则
添加方式① 面对面点击对方角色 → 「加为好友」;② 聊天消息中点击「加为好友」按钮(GDD-29 ✅C09);③ 好友推荐列表一键添加;④ 输入角色名精确搜索添加
确认机制单向申请 → 对方收到通知 → 同意/拒绝;同意后双方互为好友
申请上限每日最多发送 20 个好友申请(防刷,对齐 GDD-29 §9.3)
待处理上限未处理的好友申请最多保留 50 个,超出自动覆盖最旧申请
冷却被拒绝后同一目标 24 小时内不可重复申请;被删除后 7 天内不可重复添加同一人
屏蔽冲突若任一方已屏蔽对方,不可发起好友申请(对齐 GDD-29 ✅C06)

1.2.2 删除好友

维度规则
操作方式好友列表中长按/右键 → 「删除好友」
确认二次确认弹窗
对方感知无感(对方好友列表中仍显示你,直到对方刷新或发现互动失败)
好友度处理删除后好友度归零;重新添加后好友度从零开始累积
深层关系若存在师徒/道侣/结义关系,需先解除深层关系才可删除好友

1.2.3 好友黑名单联动

维度规则
拉黑效果与 GDD-29 §6.1 个人屏蔽一致:对方所有频道消息不可见、私聊不接收、不可查看位置分享
好友关系拉黑后自动解除好友关系,好友度归零
解除拉黑解除后不自动恢复好友关系,需重新添加

1.3 好友度系统

好友度是衡量两名玩家社交深度的量化指标,通过共同行为自然累积,体现「机遇/概率驱动」的设计哲学——没有任务式刷好友度的路径,只有自然互动中概率性增长。

1.3.1 好友度档位

档位好友度区间称号解锁能力
萍水相逢0 - 99基础好友功能(在线查看、私聊)
相识100 - 299初识组队基础BUFF(+2%攻击/防御);好友位置查看(同层)
同道300 - 599同道组队进阶BUFF(+5%攻击/防御);好友传送解锁(同层);双修前置(GDD-16 §1.3)
莫逆600 - 999莫逆之交组队高级BUFF(+8%攻击/防御 + 3%掉落率);好友传送(跨层,消耗减免 50%);道侣/结义前置(GDD-16 §1.4)
生死之交1000+生死之交组队顶级BUFF(+12%攻击/防御 + 5%掉落率 + 2%暴击);传送消耗减免 50%;好友被击杀时收到复仇通知

1.3.2 好友度获取规则

好友度的获取遵循「自然互动、概率触发」原则,不可通过重复机械操作刷取。

行为好友度增长说明
组队战斗胜利+3 ~ +8(按战斗难度)副本/世界Boss/区域Boss/游历战斗均计入
组队完成副本+5 ~ +15(按副本难度)难度越高增长越多
组队完成委托+2 ~ +5佣兵委托/日常委托均计入
赠送礼物+1 ~ +3(按礼物品质)消耗道具「心意笺」或稀有材料,对方需在线接收
好友传送到达+1传送到好友位置时双方各增
共同参与世界事件+5 ~ +10世界Boss/妖潮/混沌裂隙等(GDD-33)
护法/助战+3 ~ +8好友渡劫时护法(GDD-16 §1.4)、好友被追杀时助战
道侣/结义前置自动好友度达到「同道」是双修/道侣/结义的前置条件(GDD-16 §1.1)

无每日上限:好友度增长无每日上限,真实反映互动频率。

设计原则

  • 赠送礼物需消耗道具,道具本身有获取成本
  • 好友度增长完全由真实互动决定,无每日上限、无边际递减
  • 真实随机、无保底——好友度增长完全取决于实际互动频率

1.3.3 好友度衰减

维度规则
衰减触发连续 14 现实天无任何好友互动(组队/私聊/传送/赠送)
衰减速率每 7 现实天衰减当前好友度的 5%(最低降至 0)
衰减保护「生死之交」档位不衰减(已达最高档,象征永久羁绊)
恢复重新互动后好友度不再衰减,但已损失的不自动恢复

1.4 在线状态与好友信息

1.4.1 在线状态

状态显示推送通知
在线绿色标识
战斗中红色标识 + 剑图标
修炼中蓝色标识 + 打坐图标
挂机中黄色标识 + 时钟图标
离线灰色标识 + 最后在线时间上线时推送「你的好友 [名字] 已上线」

通知规则

  • 好友上线通知仅推送一次,不重复打扰
  • 玩家可设置「免打扰模式」,关闭好友上线通知
  • 好友度 ≥ 莫逆的好友上线时,通知带特殊标识(金边)

1.4.2 好友信息面板

点击好友列表中的好友,可查看以下信息:

信息可见条件
角色名、种族、境界始终可见
当前位置(区域名)好友度 ≥ 相识
当前坐标(地图标记)好友度 ≥ 同道 + 同层
当前状态(在线/战斗/修炼/挂机)始终可见
好友度数值与档位始终可见
所属帮派/门派/家族始终可见
装备评分(概要)好友度 ≥ 相识
最近成就/称号好友度 ≥ 同道

1.5 好友传送

好友传送允许玩家消耗道具瞬间移动到好友所在位置,是社交互动的重要便利功能。

1.5.1 传送规则

维度规则
解锁条件好友度 ≥ 同道(300+)
消耗道具「同行符」(生活技能制作 / 商城购买 / 世界事件掉落 / 坊市交易)
消耗数量同层 1 张 / 跨 1 层 3 张 / 跨 2 层 5 张 / 跨 3 层 8 张(对齐 GDD-29 ✅C12 传音符梯度)
莫逆减免好友度 ≥ 莫逆时消耗减半(向下取整,最少 1 张)
目标要求目标好友必须在线且处于非战斗状态
区域限制不可传送到禁区/副本内部/渡劫区域
冷却每次传送后 30 游戏分钟冷却(约 10 现实分钟)
同层限制层级 1(出生地)玩家不可使用跨层传送

1.5.2 传送与道侣传送的区别

维度好友传送道侣传送(GDD-16 §1.4.1)
前置关系好友度 ≥ 同道道侣关系
消耗同行符(道具)少量内力或传送道具
冷却30 游戏分钟30~60 游戏分钟
跨层可(消耗递增)可(消耗更低)
特殊效果到达后双方获短暂增益(道侣羁绊)

1.6 好友推荐

维度规则
推荐来源① 同种族同层级活跃玩家;② 组队战斗过的非好友玩家;③ 帮派/门派/家族中的非好友成员;④ 师徒/道侣/结义关系链中的二度人脉
推荐数量每日推荐 10 名玩家
推荐排序优先推荐:同种族 > 同帮派 > 同区域 > 最近组队过的玩家
一键添加推荐列表中可一键发送好友申请
刷新每日 08:00 刷新推荐列表(现实时间,对齐项目每日刷新锚点)

第二章 组队系统

2.1 组队总览

组队是洪荒大陆多人协作的核心基础设施,服务于副本挑战、世界Boss讨伐、委托完成、游历探索等场景。组队系统与 GDD-03 战斗系统、GDD-33 世界Boss机制、GDD-16 社交关系深度联动。

维度规则
队伍人数2 - 5 人(✅F04)
组队方式邀请组队 / 匹配组队 / 聊天组队
队伍频道组队后自动创建队伍频道(GDD-29 §1.2.1)
队伍存续队长解散 / 全员离线超过 30 游戏分钟自动解散
跨层组队允许,但受降维护佑约束(✅F05)

2.2 组队创建与管理

2.2.1 创建队伍

维度规则
创建方式① 点击其他玩家 → 「邀请组队」;② 聊天消息中点击「邀请组队」按钮(GDD-29 ✅C09);③ 组队匹配面板中创建队伍并设置目标
创建者自动成为队长
队伍目标创建时可设置:副本 / 世界Boss / 游历 / 委托 / 自由(✅F09)
队伍公告队长可设置队伍公告(50 字以内),在匹配列表中展示

2.2.2 加入队伍

维度规则
邀请加入队长或队员邀请 → 目标收到弹窗通知 → 同意/拒绝
申请加入匹配列表中选择队伍 → 申请 → 队长审批
自动匹配设置目标后进入匹配队列,系统自动分配队伍(见 §2.4)
邀请冷却同一目标每 5 游戏分钟只能邀请 1 次(对齐 GDD-29 §9.3)
战斗中限制战斗中的玩家不可加入/退出队伍
境界限制队伍成员境界差距超过 3 大境界时,系统提示「境界差距过大,高境界成员将受降维护佑约束」

2.2.3 队伍管理

操作权限说明
踢出队员队长被踢出者收到通知,3 游戏分钟内不可加入同一队伍
转让队长队长队长可将队长身份转让给任意队员
退出队伍任意队员退出后若为队长,队长自动转移给最早加入的队员;最后一名队员退出则队伍解散
设置掉落模式队长组队时选择,进入战斗后不可更改(✅F06)
设置队伍目标队长可随时修改,影响匹配列表展示
队伍招募队长在区域频道/世界频道发布队伍招募信息,带「申请加入」按钮

2.3 队伍BUFF系统

组队本身提供战斗增益,好友度进一步增强增益效果,鼓励社交互动。

2.3.1 基础组队BUFF

队伍人数攻击加成防御加成修炼加成掉落率加成
2 人+3%+3%+5%+2%
3 人+5%+5%+8%+3%
4 人+7%+7%+10%+4%
5 人+10%+10%+12%+5%

基础组队BUFF仅与队伍人数相关,与成员境界/种族无关。

2.3.2 好友度加成(✅F03)

队伍中好友关系攻击加成防御加成掉落率加成备注
1 名相识好友+2%+2%+1%基础好友加成
1 名同道好友+5%+5%+2%
1 名莫逆好友+8%+8%+3%
1 名生死之交好友+12%+12%+5%含 2% 暴击加成
第 2 名好友(叠加)基础值 × 70%基础值 × 70%基础值 × 70%边际递减
第 3 名好友(叠加)基础值 × 50%基础值 × 50%基础值 × 50%边际递减
第 4 名好友(叠加)基础值 × 35%基础值 × 35%基础值 × 35%边际递减

叠加规则

  • 好友度加成按好友度档位取值,与基础组队BUFF加法叠加
  • 多名好友的加成按递减系数叠加,防止纯好友队碾压
  • 道侣/结义成员在队伍中时,额外触发关系专属加成(见 §3.3)

示例计算

场景:5 人队伍,其中 3 名好友(莫逆/同道/相识)

基础组队BUFF = +10% 攻击 / +10% 防御 / +5% 掉落
好友加成 = 莫逆(+8%) + 同道(+5%)×70% + 相识(+2%)×50% = +8% + 3.5% + 1% = +12.5% 攻击

总计:+22.5% 攻击 / +22.5% 防御 / +8.5% 掉落(取整后)

2.3.3 义团/道侣队伍专属加成

当队伍中存在 GDD-16 定义的深层关系时,触发额外专属加成:

关系加成条件效果
道侣同队2 名道侣在同一队伍双方共享合体技冷却缩减 20%;双方受到致命伤害时有 10% 概率触发道侣护盾(吸收 30% 最大生命伤害)
义团同队≥ 2 名义团成员在同一队伍全员获得 GDD-16 §1.4.2 定义的义团增益(5%~10% 非速度类战斗增益)
师徒同队师父与徒弟在同一队伍徒弟经验获取 +15%;师父获得「尊师值」微量增长
道侣 + 义团同队同时存在道侣和义团关系两种加成独立生效,不互相覆盖

2.4 队伍匹配机制

2.4.1 匹配分类(✅F09)

匹配目标匹配逻辑优先级
副本按副本推荐境界 + 职业搭配匹配坦克/输出/辅助各至少 1 人(如适用)
世界Boss按Boss推荐境界匹配优先匹配同层玩家
游历按当前区域 + 境界匹配优先匹配同种族玩家
委托按委托难度 + 境界匹配优先匹配同帮派/门派玩家
自由仅按境界范围匹配无特殊优先级

2.4.2 匹配算法

匹配评分 = 境界匹配分 × 0.4
+ 职业互补分 × 0.2
+ 好友优先分 × 0.2
+ 等待时间分 × 0.2

境界匹配分:
- 相同大境界:100 分
- 差距 1 大境界:80 分
- 差距 2 大境界:50 分
- 差距 3 大境界:20 分(触发降维护佑提示)

职业互补分:
- 队伍缺少坦克/辅助时,对应职业玩家 +100 分
- 队伍职业齐全时,所有玩家 +50 分

好友优先分:
- 已有好友在队伍中:+80 分
- 已有同帮派成员:+40 分
- 已有同门派成员:+30 分
- 已有同种族成员:+20 分

等待时间分:
- 每等待 10 秒 +10 分(最高 100 分)

2.4.3 匹配规则

维度规则
匹配范围同世界层级内匹配;世界Boss匹配可跨层(但受降维护佑约束)
匹配超时120 秒未匹配成功,放宽境界限制(±1 大境界);240 秒仍未匹配,放宽至 ±2 大境界
匹配取消匹配中可随时取消,无惩罚
拒绝惩罚匹配成功后拒绝加入,30 秒冷却后可重新匹配
AFK 惩罚匹配成功加入队伍后 5 分钟内无操作,队长可踢出且该玩家 5 分钟内不可重新匹配

2.5 队伍掉落分配规则(✅F06)

2.5.1 三种分配模式

模式说明适用场景
贡献分配按战斗贡献度比例分配掉落默认模式;世界Boss、高难副本
随机掷骰每件掉落全员掷骰(1-100),点数最高者获得休闲组队、低价值掉落
队长分配队长手动分配掉落给指定队员固定团队、帮派副本、有明确分配规则的队伍

2.5.2 贡献分配算法

个人贡献度 = 伤害贡献 × 0.6 + 承受伤害 × 0.2 + 治疗量 × 0.15 + 辅助贡献 × 0.05

辅助贡献 = 控制技能命中次数 × 权重 + 增益技能施放次数 × 权重

掉落分配:
每件掉落物品按贡献度比例分配概率
贡献度最高的玩家获得最高概率,但不保证必得
最低贡献门槛:个人贡献度 ≥ 队伍总贡献度 × 5%(防止挂机蹭奖)

2.5.3 掷骰规则

维度规则
骰子范围1 - 100
掷骰时间掉落后 30 秒内掷骰,超时自动弃权
需求/贪婪掉落物品分为「需求」和「贪婪」两轮:需求轮仅对该物品有需求的队员开放;无人需求则进入贪婪轮全员掷骰
队长裁定若出现相同点数,队长裁定归属
绑定规则掷骰获得的物品按原绑定规则处理(绑定物品不可交易)

2.5.4 队长分配规则

维度规则
分配权仅队长可操作,30 秒内完成分配
超时处理30 秒未分配的物品自动进入随机掷骰
公示队长分配结果在队伍频道公示
防滥用队伍成员可对队长发起「分配不公」投票,超过 50% 成员同意则队长被罢免,分配权转移

第三章 跨层级组队规则

3.1 降维护佑约束(✅F05)

跨层级组队时,高境界玩家受 GDD-08 ✅Q06 降维护佑约束,防止高境界碾压低层内容。

3.1.1 伤害压制

对齐 GDD-33 §4.1 降维护佑公式:

有效伤害 = 原始伤害 × 降维系数

降维系数 = max(0.1, 1.0 - (玩家层级 - 队伍目标层级) × 0.25)

示例(高境界玩家带低境界队友刷低层副本):
- 层3玩家参与层2副本:系数 = 0.75(伤害降低 25%)
- 层4玩家参与层2副本:系数 = 0.50(伤害降低 50%)
- 层5玩家参与层1副本:系数 = 0.10(伤害降低 90%)

3.1.2 高境界带新补偿

高境界玩家在低层组队虽受伤害压制,但获得「带新」补偿:

补偿类型条件效果
好友度加成队伍中有境界差距 ≥ 2 大境界的队友好友度获取 +50%(鼓励高境界带新人)
声望加成同上声望获取 +20%(GDD-16 ✅S05)
尊师值师徒关系同队师父额外获得尊师值(GDD-16 §1.2)
义气值义团关系同队义团成员额外获得义气值

3.1.3 低境界队友保护

保护机制说明
伤害保底低境界队友每次行动至少造成目标最大血量 × 0.001% 的伤害(对齐 GDD-33 §4.2)
生存保底低境界队友受到高境界区域怪物的伤害有额外减伤:减伤率 = min(50%, (怪物层级 - 玩家层级) × 15%)
奖励保底低境界队友获得不低于基准值 10% 的贡献度(对齐 GDD-33 ✅WB06)

3.2 跨层级组队场景

场景组队规则降维护佑
低层副本高境界队友参与低层副本时触发降维护佑伤害压制 + 属性封印
高层副本低境界队友参与高层副本时获生存保底伤害保底 + 减伤保护
世界Boss按 GDD-33 §4 跨境界规则处理降维护佑 + 境界分层奖励
游历探索高境界队友可护送低境界队友穿越危险区域伤害压制但可吸引仇恨
委托协作按委托难度匹配,跨层委托需境界差 ≤ 2 大境界视委托类型而定

3.3 跨层级队伍BUFF调整

维度规则
BUFF 等级队伍BUFF按队伍中最低境界成员的境界等级计算基准值
好友度加成好友度加成按实际好友度计算,不受境界差距影响
修炼加成分配低境界队友获得的修炼加成(能量积累速度)按自身境界修正(不因高境界队友而降低)
掉落分配掉落品阶按各成员自身境界独立计算(对齐 GDD-33 §4.3 境界分层奖励)

第四章 与其他系统的联动

4.1 与聊天系统的联动(GDD-29)

联动点说明
队伍频道组队后自动创建队伍频道(GDD-29 §1.2.1),队伍解散后清除
聊天发起组队聊天消息中可直接点击「邀请组队」按钮(GDD-29 ✅C09)
聊天发起好友申请聊天消息中可直接点击「加为好友」按钮(GDD-29 ✅C09)
队伍招募广播队长可在区域频道/世界频道发布队伍招募信息,带「申请加入」按钮
好友私聊好友间可使用私聊频道通信,不受区域限制(GDD-29 §1.2.8)
跨层通信好友跨层通信需消耗传音符(GDD-29 §1.2.9),好友度 ≥ 莫逆时消耗减半
好友上下线通知通过 Nakama 实时推送,复用聊天系统的 WebSocket 连接(GDD-29 §10.7)
位置分享好友间可在聊天中分享位置,好友度 ≥ 同道时自动标记在小地图(GDD-29 §3.3.6)

4.2 与世界Boss的联动(GDD-33)

联动点说明
组队参与Boss战玩家可组队参与世界Boss战,队伍成员的伤害贡献独立计算(GDD-33 ✅W03 伤害汇总制)
队伍贡献排名队伍成员的贡献度汇总为「队伍贡献」,参与帮派/种族排名(GDD-33 §3.1.2)
掉落分配组队参与Boss战时,队伍内部掉落按 §2.5 分配模式处理;个人奖励按 GDD-33 §3.2 独立发放
镜像实例组队参与时,全队进入同一镜像实例(GDD-33 §3.4),不拆散队伍
Boss战好友度共同参与世界Boss战的好友获得好友度增长(§1.3.2)
跨层Boss组队低境界队友参与高层Boss时获生存保底(GDD-33 §4.2),高境界队友受降维护佑(GDD-33 §4.1)

4.3 与社交系统的联动(GDD-16)

联动点说明
师徒组队师徒同队时,徒弟经验 +15%,师父获尊师值(GDD-16 §1.2)
道侣组队道侣同队触发合体技冷却缩减与护盾效果(§2.3.3)
义团组队义团同队触发义团增益(5%~10%),共享委托进度(GDD-16 §1.4.2)
双修前置好友度 ≥ 同道是双修的前置条件(GDD-16 §1.3)
道侣前置好友度 ≥ 莫逆是道侣结契的前置条件(GDD-16 §1.4.1)
结义前置好友度 ≥ 莫逆是结义的前置条件(GDD-16 §1.4.2)
声望联动组队战斗后可互评队友表现,累积声望值(GDD-16 ✅S05)
好友度 → 深层关系好友度自然累积为深层关系的前置条件,不设任务式刷取路径

4.4 与战斗系统的联动(GDD-03)

联动点说明
组队副本战斗组队副本中每位队员独立进行 ATB 战斗(复用 GDD-03 1v1 模型),与 GDD-33 ✅W03 伤害汇总制一致
队伍BUFF生效组队BUFF在 ATB 战斗结算时叠加到角色属性(攻击/防御/暴击/掉落率)
职业互补组队副本按职业匹配,确保坦克/输出/辅助搭配(§2.4.1)
战报分享组队战斗结束后,可在队伍频道分享战报(GDD-29 §3.3.4)
能量消耗组队战斗消耗能量,与单人战斗一致(GDD-33 ✅W07)

第五章 数据模型与接口

5.1 数据库表设计

5.1.1 friends 表(好友关系)

字段类型约束说明
iduuidPK关系记录 ID
character_iduuidFK → characters.id, IX发起者
friend_iduuidFK → characters.id, IX被添加者
friendship_scoreint好友度数值
friendship_tiervarchar(16)档位:STRANGER / ACQUAINTANCE / COMRADE / SWORN / LIFELINK
statusvarchar(16)IXPENDING / ACCEPTED / BLOCKED
created_attimestamptz申请时间
accepted_attimestamptz确认时间
last_interaction_attimestamptzIX最后互动时间(衰减计算用)

唯一约束(character_id, friend_id)

索引策略

  • (character_id, status) — 查询某玩家的好友列表
  • (friend_id, status) — 查询谁添加了某玩家
  • (last_interaction_at) — 好友度衰减定时任务

5.1.2 friend_gift_log 表(好友赠送记录)

字段类型约束说明
iduuidPK记录 ID
sender_iduuidFK → characters.id, IX赠送者
receiver_iduuidFK → characters.id, IX接收者
item_iduuid赠送的道具 ID
item_countint赠送数量
score_gainedint获得的好友度
created_attimestamptzIX赠送时间

5.1.3 teams 表(队伍)

字段类型约束说明
iduuidPK队伍 ID
leader_iduuidFK → characters.id, IX队长
target_typevarchar(16)DUNGEON / WORLD_BOSS / ADVENTURE / QUEST / FREE
target_idvarchar(64)目标 ID(副本 ID / Boss ID / 委托 ID)
loot_modevarchar(16)CONTRIBUTION / ROLL / LEADER_ASSIGN
max_membersint最大成员数(默认 5)
world_tiersmallint队伍所在世界层级
region_idvarchar(64)队伍所在区域
announcementvarchar(100)队伍公告
created_attimestamptz创建时间
dissolved_attimestamptz解散时间

5.1.4 team_members 表(队伍成员)

字段类型约束说明
iduuidPK记录 ID
team_iduuidFK → teams.id, IX队伍 ID
character_iduuidFK → characters.id, IX成员角色 ID
rolevarchar(16)LEADER / MEMBER
joined_attimestamptz加入时间
left_attimestamptz离开时间

唯一约束(team_id, character_id) where left_at IS NULL

5.1.5 team_loot_distribution 表(队伍掉落分配记录)

字段类型约束说明
iduuidPK记录 ID
team_iduuidFK → teams.id, IX队伍 ID
item_iduuid掉落物品 ID
loot_modevarchar(16)分配模式
winner_iduuidFK → characters.id获得者(掷骰/队长分配)
contribution_datajsonb贡献度数据(贡献分配模式)
roll_datajsonb掷骰数据(掷骰模式)
distributed_attimestamptz分配时间

5.1.6 friend_teleport_log 表(好友传送记录)

字段类型约束说明
iduuidPK记录 ID
teleporter_iduuidFK → characters.id, IX传送发起者
target_friend_iduuidFK → characters.id, IX目标好友
from_regionvarchar(64)出发区域
to_regionvarchar(64)到达区域
tier_diffsmallint层级差距
items_consumedint消耗的同行符数量
created_attimestamptzIX传送时间

5.2 Valkey 缓存结构

# 好友列表缓存
friends:{character_id} → Set<friend_character_id>

# 好友度缓存
friendship:{char_id_1}:{char_id_2} → int(score)

# 好友在线状态
friend:online:{character_id} → Hash<status, last_active_at>

# 队伍信息缓存
team:{team_id} → Hash<leader_id, target_type, loot_mode, max_members, ...>

# 队伍成员缓存
team:members:{team_id} → Set<character_id>

# 匹配队列
match:queue:{target_type}:{world_tier} → Sorted Set<character_id, match_score>

5.3 核心接口(TDD-05 扩展)

接口方法路径说明
发送好友申请POST/api/v1/friends/apply发送好友申请
处理好友申请POST/api/v1/friends/respond同意/拒绝好友申请
删除好友DELETE/api/v1/friends/{friend_id}删除好友
获取好友列表GET/api/v1/friends分页获取好友列表
获取好友详情GET/api/v1/friends/{friend_id}获取好友详情与好友度
好友传送POST/api/v1/friends/{friend_id}/teleport传送到好友位置
获取好友推荐GET/api/v1/friends/recommendations获取每日推荐好友
创建队伍POST/api/v1/teams创建队伍
加入队伍POST/api/v1/teams/{team_id}/join申请加入队伍
退出队伍DELETE/api/v1/teams/{team_id}/leave退出队伍
踢出队员POST/api/v1/teams/{team_id}/kick踢出队员
转让队长POST/api/v1/teams/{team_id}/transfer转让队长
设置队伍目标PUT/api/v1/teams/{team_id}/target设置/修改队伍目标
设置掉落模式PUT/api/v1/teams/{team_id}/loot-mode设置掉落分配模式
匹配队伍POST/api/v1/teams/match进入匹配队列
取消匹配DELETE/api/v1/teams/match取消匹配
获取队伍列表GET/api/v1/teams获取可加入的队伍列表
赠送好友礼物POST/api/v1/friends/{friend_id}/gift赠送礼物提升好友度

5.4 Nakama 实时消息协议

// 好友申请通知(服务端 → 客户端)
message FriendApplyNotify {
string applicant_id = 1;
string applicant_name = 2;
string applicant_race = 3;
int32 applicant_realm_tier = 4;
int64 timestamp = 5;
}

// 好友上下线通知(服务端 → 客户端)
message FriendStatusNotify {
string friend_id = 1;
string friend_name = 2;
string status = 3; // ONLINE / OFFLINE / IN_BATTLE / MEDITATING / AFK
int64 timestamp = 4;
}

// 组队邀请通知(服务端 → 客户端)
message TeamInviteNotify {
string team_id = 1;
string inviter_id = 2;
string inviter_name = 3;
string target_type = 4; // DUNGEON / WORLD_BOSS / ADVENTURE / QUEST / FREE
string target_name = 5;
int32 current_members = 6;
int32 max_members = 7;
int64 timestamp = 8;
}

// 队伍状态变更(服务端 → 客户端)
message TeamStatusNotify {
string team_id = 1;
string event_type = 2; // MEMBER_JOIN / MEMBER_LEAVE / LEADER_CHANGE / DISSOLVED / TARGET_CHANGE
string character_id = 3;
string character_name = 4;
int64 timestamp = 5;
}

// 匹配结果通知(服务端 → 客户端)
message MatchResultNotify {
string team_id = 1;
bool success = 2;
string message = 3;
int64 timestamp = 4;
}

第六章 Nacos 配置项

friend_team:
# 好友系统
friend:
max_friends_by_tier: # 各境界好友上限
refining: 30 # 炼气
foundation: 50 # 筑基
golden_core: 80 # 金丹
nascent_soul: 120 # 元婴
spirit_severing: 150 # 化神
body_integration: 200 # 合体
mahayana: 250 # 大乘
tribulation: 300 # 渡劫
ascension: 500 # 飞升

apply_daily_limit: 20 # 每日好友申请上限
apply_pending_max: 50 # 未处理申请上限
apply_reject_cooldown_hours: 24 # 被拒冷却时间(小时)
delete_readd_cooldown_days: 7 # 删除后重新添加冷却(天)

friendship:
daily_gain_cap: 50 # 每日好友度增长上限
decay_trigger_days: 14 # 衰减触发天数
decay_rate: 0.05 # 每周期衰减比例
decay_period_days: 7 # 衰减周期(天)

recommendation:
daily_count: 10 # 每日推荐数量
refresh_hour: 8 # 刷新时间(现实小时)

# 好友传送
teleport:
cooldown_minutes: 30 # 传送冷却(游戏分钟)
cost_same_tier: 1 # 同层消耗
cost_cross_1: 3 # 跨1层消耗
cost_cross_2: 5 # 跨2层消耗
cost_cross_3: 8 # 跨3层消耗
sworn_reduction: 0.5 # 莫逆减免比例

# 组队系统
team:
max_members: 5 # 队伍最大人数
auto_dissolve_minutes: 30 # 全员离线自动解散时间(游戏分钟)
invite_cooldown_minutes: 5 # 邀请冷却时间(游戏分钟)
match_timeout_seconds: 120 # 匹配超时时间
match_relax_seconds: 240 # 匹配放宽超时
afk_kick_minutes: 5 # AFK踢出时间

# 组队BUFF
buff:
attack_by_count: [3, 5, 7, 10] # 攻击加成(2/3/4/5人)
defense_by_count: [3, 5, 7, 10] # 防御加成
cultivation_by_count: [5, 8, 10, 12] # 修炼加成(能量积累速度)
drop_by_count: [2, 3, 4, 5] # 掉落率加成

# 好友度组队加成
friendship_buff:
acquaintance_attack: 2 # 相识攻击加成
comrade_attack: 5 # 同道攻击加成
sworn_attack: 8 # 莫逆攻击加成
lifelink_attack: 12 # 生死之交攻击加成
lifelink_crit: 2 # 生死之交暴击加成

# 叠加递减系数
stack_decay: [1.0, 0.7, 0.5, 0.35] # 第1/2/3/4名好友

# 跨层级
cross_realm:
max_tier_diff: 3 # 最大境界差距
damage_suppression_per_tier: 0.25 # 每层级伤害压制
min_damage_coefficient: 0.1 # 最低伤害系数
friendship_gain_bonus: 0.5 # 带新好友度加成
reputation_gain_bonus: 0.2 # 带新声望加成

第七章 已确认决策记录表

编号决策来源
GDD-34 ✅F01好友关系单向确认制(申请→同意→互为好友;删除单向无感)对齐 GDD-29 ✅C06
GDD-34 ✅F02好友度五档体系(萍水相逢/相识/同道/莫逆/生死之交)本文
GDD-34 ✅F03好友组队BUFF叠加递减(70%/50%/35%)本文
GDD-34 ✅F04组队人数上限 5 人GDD-29 队伍频道、GDD-33 组队副本
GDD-34 ✅F05跨层级组队受降维护佑约束GDD-08 ✅Q06、GDD-33 ✅WB06
GDD-34 ✅F06队伍掉落三模式(贡献/随机/队长分配)本文
GDD-34 ✅F07好友传送消耗同行符,梯度对齐传音符(GDD-29 ✅C12),莫逆减半本文
GDD-34 ✅F08好友上限按境界递增(30→500)本文
GDD-34 ✅F09组队匹配按五类目标分类,好友优先本文

第八章 验收标准

8.1 功能验收

编号验收项验收标准
AC-01好友申请通过面对面/聊天/搜索/推荐四种方式均可发送好友申请,对方收到通知
AC-02好友确认同意后双方互为好友,拒绝后 24 小时内不可重复申请
AC-03删除好友单向删除,对方无感,好友度归零
AC-04好友度增长组队战斗/副本/委托/赠送/传送/世界事件均可增长好友度,每日上限正确
AC-05好友度衰减14 天无互动后开始衰减,每 7 天衰减 5%,生死之交不衰减
AC-06好友度档位五档阈值正确,各档解锁能力正确生效
AC-07在线状态好友上下线实时推送,状态标识正确(在线/战斗/修炼/挂机/离线)
AC-08好友传送消耗同行符数量按层级差距正确计算,莫逆减半,冷却正确
AC-09好友推荐每日推荐 10 名玩家,排序逻辑正确
AC-10创建队伍队长创建队伍,设置目标/公告/掉落模式
AC-11邀请/申请/匹配三种入队方式均正常工作
AC-12队伍管理踢人/转让队长/退出/解散均正确处理
AC-13基础组队BUFF2-5 人队伍的攻击/防御/经验/掉落加成正确
AC-14好友度组队加成好友度档位加成正确,多人叠加递减正确
AC-15道侣/义团/师徒同队加成深层关系同队时专属加成正确触发
AC-16匹配算法境界/职业/好友/等待时间四维度评分正确,超时放宽逻辑正确
AC-17贡献分配掉落按贡献度比例分配,最低门槛正确
AC-18随机掷骰需求/贪婪两轮掷骰,超时弃权,同点数队长裁定
AC-19队长分配队长手动分配,超时自动掷骰,分配不公投票正确
AC-20跨层降维护佑高境界玩家伤害压制系数正确,低境界保底正确
AC-21带新补偿高境界带新时好友度/声望加成正确
AC-22聊天联动从聊天发起组队/好友申请正常工作
AC-23世界Boss联动组队参与Boss战,队伍进入同一镜像实例
AC-24社交关系联动好友度是师徒/道侣/结义的前置条件,阈值正确

8.2 性能验收

编号验收项验收标准
PERF-01好友列表加载500 人好友列表加载 ≤ 1 秒
PERF-02在线状态推送好友上下线通知延迟 ≤ 1 秒
PERF-03组队操作响应创建/加入/退出队伍操作延迟 ≤ 500ms
PERF-04匹配等待时间平均匹配等待时间 ≤ 60 秒(活跃时段)
PERF-05好友度计算组队BUFF实时计算延迟 ≤ 100ms
PERF-06好友度衰减任务全服好友度衰减定时任务执行时间 ≤ 10 分钟

8.3 安全验收

编号验收项验收标准
SEC-01好友申请频率服务端限制每日 20 个申请,客户端不可绕过
SEC-02好友度刷取异常模式检测生效(反复添加/删除、重复低难度战斗)
SEC-03组队防滥用AFK 踢出、拒绝冷却、战斗中限制均正确执行
SEC-04掉落分配防滥用队长分配不公投票机制正确,挂机贡献门槛正确
SEC-05传送防滥用战斗中/禁区不可传送,冷却时间不可绕过

第九章 与核心系统的接口总表

系统接口点
GDD-03 战斗组队副本复用 ATB 1v1 模型 + 伤害汇总制;队伍BUFF在战斗结算时叠加
GDD-06 经济好友赠送道具消耗;同行符消耗;组队掉落分配接入经济 faucet
GDD-08 地图跨层级组队降维护佑(✅Q06);区域匹配范围;传送区域限制
GDD-16 社交好友度是师徒/道侣/结义前置条件;道侣/义团/师徒同队专属加成;声望互评
GDD-22 世界事件共同参与世界事件增长好友度;事件Boss组队参与
GDD-23 能量好友传送消耗能量/道具;组队战斗能量消耗与单人一致
GDD-29 聊天队伍频道自动创建;聊天发起组队/好友申请;好友私聊;跨层传音;上下线推送
GDD-33 世界Boss组队参与Boss战;镜像实例不拆散队伍;贡献度排名汇总;跨境界规则对齐
TDD-04 数据库friends / teams / team_members 等表
TDD-05 API好友与组队 RESTful + WebSocket 接口

第十章 待设计内容

内容优先级关联
好友赠送礼物完整道具列表(心意笺制作材料/商城价格)GDD-06 经济联调
同行符详细数值(制作材料/商城价格/掉落概率)GDD-06 经济联调
组队副本完整列表与推荐人数/职业搭配GDD-03 战斗系统 + GDD-18 副本引擎
好友推荐算法详细权重调参数据驱动,上线后 A/B 测试
组队UI/UX原型(组队面板/匹配界面/队伍信息栏)客户端 TDD
好友度各行为增长数值平衡GDD-21 数值平衡联调
跨服好友方案(若后续支持多服)架构评估

GDD-34 v1.1 | 2026-07-02 | 术语一致性修复:将"飞升"替换为"天启"(✅F08好友上限列表) | 前序:v1.0

GDD-34 v1.3 | 2026-07-06 | 术语澄清:游戏不存在独立"经验值"系统,能量积累本身即修炼进度(GDD-02/GDD-23权威);§2.3.1/§3.3表格及配置示例中"经验加成/经验分配"改为"修炼加成",exp_by_count改名cultivation_by_count | 前序:v1.2

GDD-34 v1.2 | 2026-07-06 | 第九境界名称修正:✅F08好友上限列表"天启"→"飞升"(v1.1误将飞升改为天启,但天启是世界解锁机制✅122,飞升才是第九大境界✅116);跨层组队引用修正:GDD-33 ✅W06→✅WB06(W前缀属GDD-18,WB前缀属GDD-33) | 前序:v1.1

GDD-34 v1.0 | 2026-07-02 | 初版:好友与组队系统完整设计,覆盖好友管理/好友度/在线状态/传送/组队创建/匹配/掉落分配/BUFF/跨层级规则/系统联动九大模块 | 前序:GDD-16 v1.6 社交系统 / GDD-29 v1.0 聊天系统 / GDD-33 v1.0 世界Boss

GDD-34 v1.4 | 2026-07-06 | 层级命名统一:§1.5.1"层级1(凡界)"改为"层级1(出生地)" | 前序:v1.3