跳到主要内容

PRD-014 帮会系统

文档编号:PRD-014
版本:v1.0
状态:已通过
适用端:服务端 / 客户端
关联模块:SessionServer/Tong.cpp、RecordServer、tbl/Tong.xml

1. 背景与目标​

帮会是长线社交与国战组织单位。当前存在职位权限混乱、帮会资金可被单人提取、解散后成员 Buff 残留等问题。本 PRD 统一创建、职位、申请、建设、俸禄、活动与解散。

2. 核心规则​

2.1 创建与加入​

  • 创建消耗金币/道具,角色等级 ≥ 20,未加入其他帮会。
  • 帮会名称唯一,2–8 个汉字,敏感词校验。
  • 加入需申请/邀请,管理员审批,成员上限随帮会等级提升。
  • 退会后 24 小时内不可加入新帮会。

2.2 职位与权限​

职位人数权限
帮主1全部
副帮主2审批、踢人、活动报名
长老4审批、发言管理
精英10无管理权限
成员不限基础
  • 帮主可转让,7 天未上线自动转让给副帮主。
  • 踢人/审批/资金操作写帮会日志。

2.3 建设与俸禄​

  • 成员完成帮会任务/捐献获得贡献与帮会资金。
  • 帮会资金用于升级、活动报名、俸禄发放。
  • 俸禄按职位/贡献每周发放,帮主可调整比例。
  • 资金提取仅帮主/副帮主,单日上限可配置。

2.4 帮会活动​

  • 帮会 Boss、帮会战、运镖、领地战。
  • 活动报名由有权限职位发起,成员确认后进入。
  • 活动期间退会/被踢不保留奖励。

3. 服务端设计​

3.1 数据结构​

struct Guild {
uint64_t guild_id;
std::string name;
uint64_t leader_id;
uint32_t level;
uint64_t funds;
uint32_t member_count;
uint32_t create_time;
};

struct GuildMember {
uint64_t role_id;
uint8_t position;
uint32_t contribution;
uint32_t join_time;
uint32_t last_online;
};

3.2 协议​

方向协议说明
C→SCS_GuildCreate创建
C→SCS_GuildApply申请
C→SCS_GuildApprove审批
C→SCS_GuildKick踢人
C→SCS_GuildPosition任免
C→SCS_GuildDonate捐献
C→SCS_GuildSalary俸禄
S→CSC_GuildInfo帮会信息
S→CSC_GuildMemberList成员列表

3.3 权限与事务​

  • 所有管理操作校验职位权限与目标职位。
  • 资金变动使用事务,记录 before/after 与操作人。
  • 帮会升级扣资金与加等级原子完成。
  • 解散需二次确认,24 小时冷静期可取消。

4. 客户端设计​

  • 帮会大厅:公告、等级、资金、成员数、活动入口。
  • 成员列表:职位、贡献、在线、最后登录。
  • 申请审批:一键同意/拒绝、批量。
  • 捐献/任务:显示今日贡献与上限。
  • 帮会日志:审批、踢人、资金、职位变更。

5. 配置​

Tong.xml:create_cost、max_members、level_up_cost、salary_rate、donate_limit、transfer_days、quit_cooldown。

6. 边界与异常​

场景处理
帮会名重复拒绝
帮会满员拒绝申请/邀请
帮主 7 天未上线自动转让
资金不足升级拒绝
解散时仍有成员二次确认,邮件通知
国战期间解散禁止或延迟到活动结束

7. 验收标准​

  • 创建/申请/审批/退会/踢人/转让/解散正确。
  • 职位权限与人数限制生效。
  • 捐献、资金、俸禄、升级事务一致。
  • 帮会日志完整可追溯。
  • 解散/转让后 Buff、活动资格正确清理。