lawless/docs/技术文档/TDD-08-GM与运营后台设计.md

36 KiB

TDD-08 GM与运营后台设计

文档类型技术设计文档Technical Design Document 版本1.0 日期2026-07-02 关联文档TDD-04《数据库表结构设计》、TDD-05《API接口设计》、TDD-07《反作弊与安全设计》、PRD-03《热更新与活动系统需求文档》、GDD-06《经济系统设计》、GDD-21《数值平衡与联调参数总表》


1. 文档信息

项目 说明
目标 为《洪荒大陆》挂机手游定义 GM/运营后台的技术设计方案,覆盖 GM 指令系统、经济监控仪表盘、活动配置后台、客服工单系统、数据报表、权限管理六大模块。
读者 运营策划、客服、后端开发、运维
技术栈 前端 Vue3 + Element Plus;后端 Gin独立服务,不走 Nakama;数据源 PostgreSQL 16 / Valkey / Nacos 2.x / Prometheus
核心约束 无任务系统、无赛季重置、概率/机遇驱动;GM 操作不得破坏经济平衡;所有 GM 操作必须审计

2. 系统总览

2.1 架构分层

┌─────────────────────────────────────────────────────────────────┐
│                    GM/运营后台Vue3 SPA                        │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐│
│  │ GM指令台  │ │ 经济监控  │ │ 活动配置  │ │ 客服工单  │ │数据报表││
│  └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ └───┬────┘│
└───────┼────────────┼────────────┼────────────┼────────────┼─────┘
        │            │            │            │            │
┌───────┼────────────┼────────────┼────────────┼────────────┼─────┐
│       ▼            ▼            ▼            ▼            ▼     │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │           GM API 网关Gin,独立端口 :8090              │    │
│  │  - JWT 认证 + RBAC 权限校验                               │    │
│  │  - 操作审计中间件                                         │    │
│  │  - 敏感操作二次确认拦截                                    │    │
│  └─────────────────────────────────────────────────────────┘    │
│       │            │            │            │            │     │
│  ┌────▼────┐ ┌─────▼────┐ ┌────▼────┐ ┌─────▼────┐ ┌─────▼───┐│
│  │Nakama   │ │Prometheus│ │  Nacos  │ │PostgreSQL│ │  Valkey ││
│  │Go Plugin│ │ + Grafana│ │  2.x    │ │   16     │ │         ││
│  └─────────┘ └──────────┘ └─────────┘ └──────────┘ └─────────┘│
│                        服务端集群                                │
└─────────────────────────────────────────────────────────────────┘

2.2 设计原则

原则 说明
审计优先 所有 GM 操作写入 gm_audit_logs,不可删除、不可篡改
最小权限 GM 角色分级,操作权限逐项授权,非必要不给写权限
经济安全 GM 发放/回收物品、调整货币必须写入 economy_audit_logsTDD-04 §5.4),纳入经济监控
服务端权威 GM 指令最终由 Nakama Go Plugin 或 Gin 后端执行,前端仅提交意图TDD-07 §2.1
配置热更 活动/数值参数通过 Nacos 热更,不走 GM 直接改库PRD-03 §3.2
双人确认 敏感操作批量发放、经济调整、配置发布需双人审批PRD-03 §3.2

2.3 数据库新增表

gm_users

GM 后台用户表。

字段 类型 约束 说明
id uuid PK
username varchar(64) UQ 登录名
display_name varchar(64) 显示名
password_hash varchar(256) bcrypt 哈希
role varchar(32) IX super_gm / gm / cs / observer
permissions jsonb 细粒度权限列表
is_active boolean 是否启用
last_login_at timestamptz
created_at timestamptz
created_by uuid FK → gm_users.id

gm_audit_logs

GM 操作审计日志(按 created_at 月分区,保留 24 个月)。

字段 类型 约束 说明
id bigint PK 雪花 ID
operator_id uuid FK → gm_users.id, IX 操作人
operator_role varchar(32) 操作时角色
action varchar(64) IX 操作类型枚举(见 §3.8
target_type varchar(32) player / character / guild / item / config / event
target_id varchar(128) IX 目标 ID
params jsonb 请求参数快照
before_snapshot jsonb 操作前状态快照
after_snapshot jsonb 操作后状态快照
approval_id uuid nullable 关联审批单(敏感操作)
ip_address inet 操作者 IP
user_agent varchar(256)
result varchar(16) success / failed / rejected
error_message text 失败原因
created_at timestamptz IX

gm_tickets

客服工单表。

字段 类型 约束 说明
id uuid PK
ticket_no varchar(32) UQ 工单编号(如 T20260702-0001
category varchar(32) IX bug / econ_dispute / account / report / suggestion
sub_category varchar(32) 细分类别
title varchar(256) 标题
description text 详情
reporter_player_id uuid FK → players.id, IX 提交玩家
reporter_character_id uuid FK → characters.id 关联角色
assigned_to uuid FK → gm_users.id, nullable, IX 分配客服
priority smallint 1=紧急 2=高 3=中 4=低
status varchar(16) IX open / assigned / processing / resolved / closed
resolution text 处理结果
related_battle_id uuid nullable 关联战报BUG/纠纷)
related_order_id uuid nullable 关联交易订单
attachments jsonb 截图/附件 URL 列表
created_at timestamptz IX
assigned_at timestamptz
resolved_at timestamptz
closed_at timestamptz

gm_ticket_messages

工单对话记录。

字段 类型 约束 说明
id bigint PK
ticket_id uuid FK → gm_tickets.id, IX
sender_type varchar(16) player / gm / system
sender_id varchar(128) 发送者 ID
message text 内容
attachments jsonb 附件
created_at timestamptz

gm_approvals

敏感操作审批单。

字段 类型 约束 说明
id uuid PK
action varchar(64) IX 审批的操作类型
target_type varchar(32)
target_id varchar(128)
params jsonb 操作参数
requested_by uuid FK → gm_users.id 申请人
approved_by uuid FK → gm_users.id, nullable 审批人
status varchar(16) IX pending / approved / rejected / expired
reject_reason text 拒绝原因
created_at timestamptz
decided_at timestamptz
expires_at timestamptz 超时自动过期(默认 24h

3. GM 指令系统

3.1 玩家管理

3.1.1 玩家查询

项目 说明
接口 GET /api/gm/v1/players?q={keyword}
权限 player.read(所有 GM 角色)
查询维度 角色名 / 角色 ID / 玩家 ID / 设备 ID / IP 地址
返回字段 玩家基础信息、角色列表、当前在线状态、封禁状态、最后登录时间、所在世界层级、境界、货币余额概览

3.1.2 封禁 / 解封

项目 说明
接口 POST /api/gm/v1/players/{player_id}/ban / POST .../unban
权限 player.banGM 以上)
参数 ban_typetemporary / permanentduration_hoursreasonevidence
执行逻辑 更新 players.status = 'banned';强制断开 WebSocket 连接;Valkey 写入 ban 标记,登录时拦截
审计 写入 gm_audit_logs,action = player.ban / player.unban

3.1.3 禁言

项目 说明
接口 POST /api/gm/v1/characters/{character_id}/mute
权限 player.muteCS 以上)
参数 duration_hoursreasonchannelsworld / region / guild / private
执行逻辑 Valkey 写入 mute:{character_id} 哈希,包含到期时间和频道列表;聊天服务发送前校验

3.1.4 强制下线

项目 说明
接口 POST /api/gm/v1/characters/{character_id}/kick
权限 player.kickGM 以上)
执行逻辑 Nakama 断开指定 session;客户端重连时检测 kick 标记并提示原因

3.2 物品管理

3.2.1 发放物品

项目 说明
接口 POST /api/gm/v1/characters/{character_id}/items/grant
权限 item.grantGM 以上,需审批)
参数 item_idquantityreasonsource_tag(固定 GM_GRANT
执行逻辑 调用 Nakama Go Plugin 的发放接口;写入 inventoriessource_tag = 'GM_GRANT';写入 economy_audit_logsreason_code = 'admin_compensation'
审批 单次发放价值超过阈值(由 Nacos 配置 gm.item_grant.approval_threshold 控制)需双人审批

3.2.2 回收物品

项目 说明
接口 POST /api/gm/v1/characters/{character_id}/items/revoke
权限 item.revokeGM 以上)
参数 inventory_idquantityreason
执行逻辑 inventories 扣除物品;写入 economy_audit_logsreason_code = 'admin_revoke'

3.2.3 物品日志查询

项目 说明
接口 GET /api/gm/v1/characters/{character_id}/items/logs
权限 item.readCS 以上)
查询维度 时间范围、物品 ID、来源类型GM / 战斗掉落 / 交易 / 拍卖 / 弟子)
数据源 economy_audit_logs + inventories 联查

3.3 角色管理

3.3.1 属性修改

项目 说明
接口 PUT /api/gm/v1/characters/{character_id}/stats
权限 character.modify(超级 GM
参数 base_statsJSON,可部分更新reason
执行逻辑 更新 characters.base_stats;同步更新 characters.battle_stats;写入 gm_audit_logs,保留 before/after 快照
审批 必须双人审批(gm.approvals 表)

3.3.2 境界调整

项目 说明
接口 POST /api/gm/v1/characters/{character_id}/realm/adjust
权限 character.realm(超级 GM
参数 target_realm_tiertarget_minor_realmreason
执行逻辑 更新 characters.realm_tier / minor_realm / world_tier;写入 character_realmsrealm_breakthrough_records(标记来源为 GM
审批 必须双人审批

3.3.3 传送

项目 说明
接口 POST /api/gm/v1/characters/{character_id}/teleport
权限 character.teleportGM 以上)
参数 target_region_idtarget_world_tier
执行逻辑 更新 characters.world_tier;写入 gm_audit_logs

3.3.4 复活

项目 说明
接口 POST /api/gm/v1/characters/{character_id}/resurrect
权限 character.resurrectGM 以上)
参数 restore_realm(是否恢复掉境)、reason
执行逻辑 更新 characters.status = 'active';根据参数决定是否恢复境界;写入 gm_audit_logs + economy_audit_logs(若涉及经济恢复)

3.4 经济管理

3.4.1 货币调整

项目 说明
接口 POST /api/gm/v1/characters/{character_id}/currencies/adjust
权限 economy.adjust(超级 GM
参数 currency_codeamount(正数发放/负数扣除)、reason
执行逻辑 原子更新 currency_balances;写入 economy_audit_logsreason_code = 'admin_compensation''admin_revoke'
审批 金额绝对值超过阈值需双人审批

3.4.2 交易回滚

项目 说明
接口 POST /api/gm/v1/trades/{trade_id}/rollback
权限 economy.rollback(超级 GM
参数 reason
执行逻辑 回滚 market_orders / auctions 成交;恢复双方物品与货币;写入 economy_audit_logsreason_code = 'admin_rollback'
审批 必须双人审批
约束 仅支持 72 小时内的交易回滚

3.4.3 经济快照

项目 说明
接口 POST /api/gm/v1/economy/snapshot
权限 economy.snapshotGM 以上)
执行逻辑 按世界层级/种族/货币类型汇总全服货币持有量、产出/消耗速率、基尼系数;结果存储到 economy_snapshots 表(新增),供仪表盘展示

3.5 世界管理

3.5.1 事件触发

项目 说明
接口 POST /api/gm/v1/world/events/trigger
权限 world.eventGM 以上)
参数 event_template_idworld_tierregion_id(可选)、duration_minutes
执行逻辑 调用世界事件调度器,立即生成指定事件实例并广播PRD-03 §4.2

3.5.2 Boss 刷新

项目 说明
接口 POST /api/gm/v1/world/boss/spawn
权限 world.bossGM 以上)
参数 boss_template_idregion_iddifficulty_modifier
执行逻辑 在指定区域生成 Boss 实例;区域广播通知

3.5.3 活动开关

项目 说明
接口 POST /api/gm/v1/world/events/{event_id}/toggle
权限 world.eventGM 以上)
参数 enabledtrue/falsereason
执行逻辑 更新 Nacos 配置中的活动开关;服务端监听变更后即时生效PRD-03 §3.2
审批 关闭全服活动需双人审批

3.6 全服公告

项目 说明
接口 POST /api/gm/v1/broadcast
权限 broadcast.sendGM 以上)
参数 contentchannelsworld / region / allduration_minutesprioritynormal / urgent
执行逻辑 通过 Nakama 实时推送写入目标频道;紧急公告全服弹窗

3.7 GM 指令快捷操作台

运营后台提供命令行风格的快捷操作台,支持以下 GM 指令语法:

/query player <keyword>                    # 查询玩家
/ban <player_id> <duration> <reason>       # 封禁
/unban <player_id>                         # 解封
/mute <char_id> <duration> <reason>        # 禁言
/kick <char_id>                            # 踢下线
/grant <char_id> <item_id> <qty> <reason>  # 发放物品
/revoke <char_id> <inv_id> <qty> <reason>  # 回收物品
/adjust <char_id> <currency> <amount>      # 调整货币
/teleport <char_id> <region_id>            # 传送
/resurrect <char_id> [restore_realm]       # 复活
/trigger <event_id> [region_id]            # 触发事件
/broadcast <channels> <message>            # 全服公告
/snapshot                                  # 经济快照

所有指令执行前在操作台展示预览(影响范围、目标信息),确认后执行。

3.8 操作审计

GM 操作类型枚举(gm_audit_logs.action

分类 action 值 说明
玩家管理 player.query / player.ban / player.unban / player.mute / player.kick
物品管理 item.grant / item.revoke
角色管理 character.modify_stats / character.adjust_realm / character.teleport / character.resurrect
经济管理 economy.adjust_currency / economy.rollback_trade / economy.snapshot
世界管理 world.trigger_event / world.spawn_boss / world.toggle_event
公告 broadcast.send
配置 config.publish / config.rollback / config.approve
审批 approval.create / approval.approve / approval.reject
工单 ticket.create / ticket.assign / ticket.resolve / ticket.close

4. 经济监控仪表盘

4.1 实时指标

仪表盘从以下数据源采集实时指标:

指标 数据源 刷新频率 说明
各货币日净产出/消耗比 economy_audit_logsflow_type + currency_code 聚合 5 分钟 faucet_sum / sink_sum,健康区间 0.8~1.2GDD-06 §14.1
交易行均价 market_ordersitem_id + status='sold' 聚合 15 分钟 最近 24h 成交均价,按世界层级分组
死亡修复 sink / 总 faucet economy_audit_logsreason_code = 'death_penalty' 1 小时 验证高惩罚经济回收是否生效GDD-06 5
鸿蒙紫气净增发/充值额 economy_audit_logscurrency_code 含紫气相关 1 小时 监控偷渡补贴GDD-06 C02
在线人数 Valkey online:{world_tier} 计数器 实时 按世界层级分组
DAU / 新增 players.last_login_at + players.created_at 每日 08:00 结算

4.2 异常告警

告警项 检测逻辑 阈值Nacos 可配) 告警级别
产出速率异常 单货币 faucet 日产量 > 过去 7 日均值 × 系数 ×2.0 P1
价格操纵 单物品 1h 内成交价偏离 24h 均价 ±50% P2
刷金检测 单角色 1h 内 faucet 累计 > 阈值 按世界层级配置 P1
异常交易 单角色 1h 内 market_orders 成交笔数 > 阈值 50 笔 P2
垄断检测 单角色持有某物品占全服该物品活跃挂单量 >30% P3
经济健康度下降 综合评分低于阈值 <60 分 P1

告警推送渠道:后台弹窗 + 钉钉/飞书 Webhook + 短信P1 级别)。

4.3 经济健康度评分

综合评分模型(满分 100

维度 权重 计算方式
货币通胀率 30% 各货币 faucet/sink 比偏离 1.0 的加权平均;偏离越大扣分越多
交易活跃度 20% 24h 交易行成交量 / 7 日均值;过低或过高扣分
货币基尼系数 20% 各层级货币持有分布的基尼系数;>0.7 扣分
死亡修复回收率 15% death_penalty sink / 总 faucet;低于 10% 扣分
紫气渗透率 15% 紫气兑换产出 / 总 faucet;超过 5% 扣分

评分等级:>=80 健康(绿)/ 60~79 关注(黄)/ <60 告警(红)。

4.4 趋势图表

图表 维度 时间范围
货币供需趋势 各货币 faucet/sink 每日净额折线图 最近 7/14/30 天
交易行热力图 物品分类 × 世界层级的成交量热力图 最近 7 天
死亡修复趋势 死亡惩罚 sink 占比趋势 最近 30 天
紫气流向 充值 → 兑换 → 消耗漏斗 最近 30 天
种族货币分布 各种族独属货币持有量饼图 实时快照

支持导出 CSV / Excel 报表。


5. 活动配置后台

5.1 Nacos 配置可视化编辑

项目 说明
接口 GET /api/gm/v1/configs / PUT /api/gm/v1/configs
权限 config.read / config.write
功能 以树形结构展示 Nacos 中的配置项PRD-03 §3.1 四大分类economy / combat / event / map;支持 JSON 编辑器在线修改;修改前展示 diff 对比
校验 提交时经 JSON Schema + 数值范围校验PRD-03 §3.4);非法值拒绝提交
审批 发布到 Nacos 需双人审批PRD-03 §3.2);审批通过后调用 Nacos Open API 发布
回滚 展示历史版本列表,支持一键回滚到指定版本PRD-03 §3.4

配置分类与关键参数映射:

分类 示例配置键 来源
economy economy.faucet.afk.output_rateeconomy.tax.trade_rateeconomy.sink.repair.cost_rate GDD-06 §14.3
combat combat.atb.tick_mscombat.damage.formula.*combat.cap.crit GDD-03 / GDD-21
event event.world.trigger_intervalevent.world.weights.*event.player_initiated.costs.* GDD-18 / GDD-22
map map.cross_layer.cost_ratemap.降维护佑.damage_capmap.realm_tier.pvp_rule GDD-08 / PRD-02

5.2 活动日历管理

项目 说明
接口 GET /api/gm/v1/events/calendar / POST ... / PUT .../{id}
权限 event.manageGM 以上)
功能 接入 PRD-03 §5.3 活动日历服务;以日历视图展示固定副本排程、世界事件预告、玩家发起事件、破界分红
操作 新增/编辑/删除活动排程;调整活动权重与参数;设置活动预告文案

活动日历条目结构:

字段 说明
event_id 活动模板 ID
event_type fixed_dungeon / world_event / player_event / dividend
title 活动标题
start_at / end_at 生效时间范围
world_tiers 适用世界层级
params 活动参数(掉落倍率、参与人数上限等)
status scheduled / active / ended / cancelled

5.3 灰度发布控制面板

项目 说明
接口 POST /api/gm/v1/gray-release / PUT .../{id}
权限 config.grayGM 以上)
功能 管理 Nacos 灰度配置PRD-03 §2.4);支持按百分比、分组、渠道、地区多维度灰度

灰度计划管理:

操作 说明
创建灰度计划 指定目标版本、灰度维度(百分比/分组/渠道/地区)、监控阈值
灰度推进 5% → 20% → 50% → 100%,每步需手动确认
自动暂停 崩溃率 > 5%、热更失败率 > 5%、启动失败率 > 3% 时自动暂停PRD-03 §2.4
回滚 一键回滚到上一稳定版本

5.4 配置变更审批流

审批流程PRD-03 §3.2

运营A编辑配置 → 提交审批单 → 审批队列展示
    → 运营B或超级GM审核 diff → 批准/拒绝
    → 批准后自动发布到 Nacos
    → 写入 gm_audit_logs + dynamic_configsTDD-04 §5.13
    → 推送配置版本号到在线客户端
项目 说明
审批超时 24 小时内未审批自动过期,需重新提交
紧急通道 超级 GM 可跳过审批直接发布(需二次确认 + 审计日志标记 emergency
审批队列 按优先级排序P0 经济参数 > P1 战斗参数 > P2 活动配置 > P3 地图配置

6. 客服工单系统

6.1 工单分类

分类 sub_category 示例 优先级 说明
BUG 反馈 战斗异常 / 界面错误 / 功能失效 / 数据丢失 2~3 关联战报 ID / 截图
经济纠纷 交易异常 / 物品丢失 / 货币异常 / 拍卖纠纷 2 关联交易订单 / economy_audit_logs
账号问题 封号申诉 / 找回账号 / 角色异常 / 被盗 1~2
举报 外挂 / 刷金 / 恶意 PK / 辱骂 / 违规昵称 2~3 关联被举报角色 ID
建议 玩法建议 / 平衡建议 / UI 建议 4

6.2 工单流转

状态机:

open → assigned → processing → resolved → closed
  │                      │
  │                      └──→ reopened玩家不满意→ processing
  │
  └──→ closed玩家撤回
节点 触发 说明
创建 玩家提交 / GM 代建 自动生成 ticket_no;按分类自动分配队列
分配 手动 / 自动轮询 按分类分配给对应客服;支持负载均衡
处理 客服操作 客服可查看玩家角色信息、战报、交易记录、审计日志;可在工单内直接执行 GM 指令(受限权限)
解决 客服标记 填写 resolution;若涉及补偿则调用物品/货币发放接口
关闭 玩家确认 / 超时自动关闭 解决后 7 天无回复自动关闭
重开 玩家不满意 重开次数上限 3 次

6.3 客服专用操作

客服角色可执行的受限 GM 指令:

指令 权限 说明
查询玩家信息 player.read 包含角色详情、背包、战报、交易记录
发放补偿物品 item.grant(受限) 仅限预设补偿模板,单次价值不超阈值
解封 player.unban 仅限封禁到期前 24h 内的操作
查看经济日志 economy.read 只读,不可修改

6.4 玩家自助查询

玩家在游戏内可自助查询以下信息,减少工单量:

查询项 说明 接口
封号原因 展示封禁类型、原因、到期时间 GET /api/v1/players/me/ban-info
交易记录 最近 30 天交易行/拍卖成交记录 GET /api/v1/characters/{id}/trades
战报回看 最近 100 场战报列表与详情 GET /api/v1/combats?character_id={id}
经济流水 最近 7 天货币收支明细 GET /api/v1/characters/{id}/economy-logs
工单状态 我的工单列表与进度 GET /api/v1/tickets/me

7. 数据报表

7.1 核心指标

指标 计算方式 刷新频率
DAU 当日 last_online_at 去重 player_id 每日 08:00
次日留存 D0 新增玩家中 D1 有登录的比例 每日
7 日留存 D0 新增玩家中 D7 有登录的比例 每日
30 日留存 D0 新增玩家中 D30 有登录的比例 每日
LTV 累计充值额 / 累计新增玩家数 每日
ARPU 累计充值额 / DAU 每日
付费率 有充值记录的玩家数 / DAU 每日
平均在线时长 会话时长均值 每日

7.2 系统参与度

系统 指标 数据源
副本 各副本进入人次 / 完成率 / 平均通关时间 instance_runs
拍卖 活跃拍卖数 / 成交率 / 均价 auctions + auction_bids
佣兵 发布委托数 / 接取率 / 完成率 contracts
社交 新增关系数 / 活跃关系数 / 帮派创建数 social_relations + guilds
游历 游历时长分布 / 事件触发率 / 遭遇完成率 离线结算日志
渡劫 渡劫人次 / 成功率 / 境界分布 tribulation_records
交易行 活跃挂单数 / 成交率 / 税收额 market_orders
天机阁 情报发布数 / 购买率 / 平均价格 intelligence_orders

7.3 种族 / 职业 / 境界分布

维度 展示方式 数据源
种族分布 饼图,按创建数 / 活跃数 characters.race_id
职业分布 饼图 characters 关联职业数据
境界分布 柱状图,按 realm_tier 分组 characters.realm_tier
世界层级分布 柱状图 characters.world_tier
种族×境界交叉 热力图 characters 聚合

7.4 付费转化漏斗

新增注册 → 首次登录 → 完成新手引导 → 首次充值 → 复充 → 大R累计>阈值)
阶段 转化率计算
注册→登录 登录玩家数 / 注册玩家数
登录→新手完成 完成引导数 / 登录数
新手→首充 首充玩家数 / 完成引导数
首充→复充 复充玩家数 / 首充玩家数
复充→大R 大R 数 / 复充数

7.5 报表导出

格式 说明
CSV 原始数据导出
Excel 含图表的格式化报表
PDF 定期运营报告模板
API GET /api/gm/v1/reports/{report_type}?date_range=...,供外部 BI 工具对接

8. 权限管理

8.1 GM 角色分级

角色 角色标识 说明
超级 GM super_gm 全部权限;可审批敏感操作;可跳过审批紧急发布
普通 GM gm 玩家管理/物品管理/世界管理/公告;敏感操作需审批
客服 cs 工单管理;受限物品发放;玩家信息查询
角色观察员 observer 只读权限;查看仪表盘/报表/日志;不可执行任何写操作

8.2 权限矩阵

权限项 super_gm gm cs observer
player.read Y Y Y Y
player.ban Y Y N N
player.unban Y Y Y N
player.mute Y Y Y N
player.kick Y Y N N
item.read Y Y Y Y
item.grant Y Y审批 Y受限模板 N
item.revoke Y Y审批 N N
character.modify Y N N N
character.realm Y N N N
character.teleport Y Y N N
character.resurrect Y Y N N
economy.read Y Y Y Y
economy.adjust Y N N N
economy.rollback Y N N N
economy.snapshot Y Y N Y
world.event Y Y N N
world.boss Y Y N N
broadcast.send Y Y N N
config.read Y Y N Y
config.write Y Y审批 N N
config.gray Y Y N N
ticket.read Y Y Y Y
ticket.manage Y Y Y N
report.read Y Y Y Y

8.3 敏感操作二次确认

以下操作执行前必须弹出二次确认对话框,要求输入确认文本(如输入 "CONFIRM"

操作 确认内容
永久封禁 展示封禁原因、影响范围,输入 "CONFIRM_BAN"
批量发放(>10 件) 展示物品清单、总价值,输入 "CONFIRM_GRANT"
货币调整(>阈值) 展示金额、目标角色,输入 "CONFIRM_ADJUST"
交易回滚 展示交易详情、影响双方,输入 "CONFIRM_ROLLBACK"
境界调整 展示前后境界、影响,输入 "CONFIRM_REALM"
配置紧急发布 展示变更 diff,输入 "CONFIRM_PUBLISH"

8.4 操作审计日志

所有 GM 操作(含查询)均写入 gm_audit_logs§2.3),审计日志:

  • 不可删除、不可修改(数据库层面禁止 DELETE/UPDATE
  • 按月分区,保留 24 个月
  • 支持按操作人、操作类型、目标、时间范围检索
  • 超级 GM 可导出审计日志用于合规审查

9. API 接口清单

9.1 认证

接口 方法 说明
/api/gm/v1/auth/login POST GM 用户登录,返回 JWT
/api/gm/v1/auth/refresh POST 刷新 JWT
/api/gm/v1/auth/logout POST 登出

JWT 有效期 4 小时,refresh token 有效期 7 天。JWT payload 包含 user_idrolepermissions

9.2 接口总览

模块 接口数 前缀
玩家管理 5 /api/gm/v1/players
物品管理 3 /api/gm/v1/characters/{id}/items
角色管理 4 /api/gm/v1/characters/{id}
经济管理 3 /api/gm/v1/economy + /api/gm/v1/trades
世界管理 3 /api/gm/v1/world
公告 1 /api/gm/v1/broadcast
配置管理 4 /api/gm/v1/configs
灰度管理 3 /api/gm/v1/gray-release
工单管理 6 /api/gm/v1/tickets
报表 5 /api/gm/v1/reports
审计日志 2 /api/gm/v1/audit-logs
审批 3 /api/gm/v1/approvals

9.3 限流

接口类型 速率 Burst
查询接口 120 次/分钟 20
写操作接口 30 次/分钟 5
敏感操作接口 10 次/分钟 3

10. 已确认决策记录表

# 决策 来源
TDD08-1 GM 后台为独立 Gin 服务(端口 8090,不走 Nakama,避免 GM 操作影响游戏服务稳定性 本文档 §2.1
TDD08-2 GM 操作审计日志按月分区保留 24 个月,数据库层面禁止 DELETE/UPDATE 本文档 §2.3 / §8.4
TDD08-3 敏感操作(批量发放、经济调整、境界调整、配置发布、交易回滚)必须双人审批 PRD-03 §3.2 / 本文档 §3.8
TDD08-4 GM 发放/回收物品和货币统一写入 economy_audit_logs,纳入经济监控 TDD-04 §5.4 / 本文档 §3.2
TDD08-5 经济健康度评分模型由五维度加权组成,阈值通过 Nacos 可配 本文档 §4.3
TDD08-6 配置变更审批超时 24 小时自动过期;超级 GM 可紧急通道跳过审批(需审计标记) 本文档 §5.4
TDD08-7 客服角色仅限预设补偿模板发放,单次价值受 Nacos 阈值控制 本文档 §6.3
TDD08-8 玩家自助查询覆盖封号原因、交易记录、战报回看、经济流水、工单状态五类 本文档 §6.4
TDD08-9 灰度发布支持百分比、分组、渠道、地区四维度;崩溃率 >5% 自动暂停 PRD-03 §2.4 / 本文档 §5.3
TDD08-10 GM 角色分四级超级GM/普通GM/客服/观察员),权限逐项授权 本文档 §8.1

11. 验收标准

# 验收条目 测试方法
1 使用无效 JWT 或过期 token 访问任何 GM 接口时返回 401 使用过期/篡改 token 调用接口
2 observer 角色尝试执行封禁/发放/修改等写操作时返回 403 用 observer token 调用写接口
3 所有 GM 操作(含查询)均在 gm_audit_logs 中有对应记录,且记录不可被 DELETE/UPDATE 执行操作后查审计日志;尝试直接 SQL 删除/更新验证约束
4 敏感操作(境界调整、批量发放超阈值、配置发布)触发审批流,单人操作被拦截,双人审批后才执行 提交敏感操作,验证需审批;另一人审批后验证执行
5 GM 发放物品后,economy_audit_logs 中有对应 admin_compensation 记录,经济监控仪表盘实时反映 发放物品后查审计日志和仪表盘
6 经济监控仪表盘能在 5 分钟内反映最新的货币产出/消耗变化 执行货币调整后观察仪表盘刷新
7 经济异常告警(产出速率 >2 倍均值)在发生后 15 分钟内触发通知 模拟异常产出,验证告警触发
8 Nacos 配置修改经审批发布后,所有 Nakama/Gin 实例在 10 秒内生效 修改配置发布后,查询各实例配置版本
9 灰度发布崩溃率超过 5% 阈值时自动暂停灰度 模拟崩溃样本,验证自动暂停
10 客服工单从创建到关闭的完整流转(创建→分配→处理→解决→关闭)可正常执行 创建工单并走完全流程
11 玩家自助查询(封号原因/交易记录/战报回看)返回正确数据 用对应状态的玩家账号调用自助查询接口
12 数据报表 DAU/留存/LTV 计算结果与手动 SQL 查询一致 手动 SQL 验证报表数据
13 GM 指令快捷操作台执行 /ban/grant/adjust 等指令后,对应数据库状态正确变更 执行指令后验证数据库
14 配置紧急发布通道需输入确认文本 + 审计日志标记 emergency 使用紧急发布后查审计日志

12. 版本记录

版本 日期 修订内容 作者
v1.0 2026-07-02 初始版本GM指令系统6大类、经济监控仪表盘、活动配置后台Nacos可视化/活动日历/灰度/审批流、客服工单系统、数据报表、权限管理四级角色、10条决策记录、14条验收标准 Claude Code

本文档数值/阈值均引用 GDD-21《数值平衡与联调参数总表》与 Nacos 动态配置,服务端实现时以运行时配置为准,不硬编码。