「在线联机原型全集」扩展篇之六:跨平台互通与云存档(Cross-Platform & Cloud Saves)

扩展篇之六:跨平台互通与云存档。设计了账号体系与平台绑定、跨端会话继承、云存档版本化与冲突合并、平台商店差异适配与合规,帮助联机游戏让玩家「任何设备都能接着玩」。

跨平台互通让玩家「手机也能继续 PC 的局」,云存档让玩家「换了设备进度不丢」。这是联机游戏的「玩家资产随行」能力。本 PRD 是《在线联机原型全集》的扩展篇之六,聚焦账号体系、会话继承、云存档版本化与平台差异适配。


1. 目标与验证点

编号验证能力说明
F1账号体系统一账号 + 多平台绑定(SSO/第三方)
F2跨端会话一个玩家跨设备加入/继承对局
F3云存档存档版本化、冲突合并、恢复
F4平台差异商店/内购/合规适配
F5数据安全加密、隐私合规、防篡改

一句话目标:玩家资产(账号/段位/存档/购买)跨设备无缝,换平台不换身份。


2. 系统架构

flowchart TD
A["Player (PC/Mobile/Web)"] -->|SSO| B["Account Center"]
B --> C["Identity Store"]
C --> D["Platform Link Service"]
B --> E["Save Service"]
E --> F["Save Version Store"]
F --> G["Conflict Resolver"]
B --> H["Cross-platform Session Router"]
H --> I["Game Room"]

说明:

  • Account Center:统一身份 + 各平台账号绑定
  • Platform Link Service:管理玩家与 Steam/Apple/Google 等平台的映射
  • Save Service:存档版本化上传/下载
  • Session Router:跨端对局续接(如 PC 开房,手机续战)

3. 账号体系与平台绑定

3.1 统一账号模型

PlayerAccount (全局唯一 player_id)
   ├── 自有账号(邮箱/密码/手机)
   ├── 第三方绑定(Steam / Apple / Google / WeChat)
   ├── 设备指纹(游客 → 可升级为正式账号)

3.2 绑定与迁移

场景流程
首次登录第三方授权 → 建立账号 → 绑定
游客升级设备账号 → 绑定邮箱/手机 → 转正式
换绑解绑旧平台 → 绑定新平台(需验证)
冲突两账号绑同一第三方 → 人工/自助合并

关键约束:同一 player_id 是跨平台数据的唯一锚点。所有段位、存档、购买都挂在 player_id 上,平台只是「登录入口」。


4. 跨端会话继承

4.1 三种继承模式

模式场景实现
状态同步换设备继续同一局存档状态在新端恢复
会话迁移手机→PC 继续对局Session 路由转移
异步接力回合制跨端接力轮到该玩家时任意端操作

4.2 会话路由

// 玩家从 PC 切换到手机,把对局会话挂到新连接
func (r *SessionRouter) Migrate(playerID, fromConnID, toConnID string) error {
    sess := r.sessionOf(playerID)
    sess.SwitchConn(toConnID)   // 旧连接降级为离线
    r.publishState(sess, toConnID) // 全量状态推给新端
    sess.SetResumePoint(sess.LatestTick)
    return nil
}

体验原则:会话迁移对玩家透明——只看到「断了一下又接上了」,看不到底层连接切换。


5. 云存档版本化

5.1 版本化策略

每次上传生成新版本:
save_version = {player_id, slot, version, ts, hash, payload}

下载策略:
- 取最新版本
- 客户端本地有更高版本(离线游玩产生)→ 触发冲突合并

5.2 冲突合并

冲突类型合并策略
进度类取最高进度(经验/金币取大)
覆盖类提示玩家选一份
段位类服务端为准(已结算)
配置类客户端本地优先

5.3 存档安全

✅ 存档加密(服务端密钥轮换)
✅ 校验 hash:防篡改、防回档刷奖励
✅ 备份:多副本 + 定期快照
⚠️ 回档审计:任何「恢复旧档」操作留日志

防刷心法:云存档最容易成为「回档刷奖励」的漏洞。核心防护是把服务端权威数据(段位、奖励、购买)与客户端进度数据(本地存档)分开——服务端数据永远以服务端为准,客户端存档只能恢复纯本地内容。


6. 平台差异适配

差异点适配策略
商店/内购各平台独立商品,绑定到统一账号资产
平台币平台币不可跨平台直接转移,兑换为通用货币
社交好友关系分平台 + 全局好友两层
合规GDPR/COPPA 等按平台地区执行

6.1 内购跨平台

购买行为:在各平台商店完成
资产归属:挂到 player_id 的统一资产表
跨端使用:PC 买的皮肤,手机也能用

原则:平台商店管「收钱」,统一账号管「资产」。资产归属 player_id,才能跨平台随行。


7. 接口与数据模型

模块接口描述
AccountPOST /account/link绑定第三方平台
AccountPOST /account/unlink解绑(需验证)
SessionPOST /session/migrate跨端会话迁移
SavePOST /save/upload上传存档(版本化)
SaveGET /save/latest?slot=下载最新存档
SavePOST /save/merge冲突合并
表字段
accountplayer_id、email、phone、password_hash、created_at
platform_linkplayer_id、platform、platform_uid、linked_at
cloud_saveplayer_id、slot、version、ts、hash、payload_blob
asset_ledgerplayer_id、asset_id、source_platform、acquired_at

8. 里程碑与验收

M1 账号体系 + 平台绑定(1 周)
  ✅ 第三方登录、绑定/解绑、游客升级
M2 跨端会话(1 周)
  ✅ PC↔手机会话迁移,玩家无感
M3 云存档 + 版本化(1 周)
  ✅ 上传/下载/冲突合并/回档审计
M4 平台差异 + 合规(1 周)
  ✅ 内购跨端可用,平台合规项落地

验收指标:跨端迁移成功率 99.9%(无会话丢失);云存档冲突解决后数据无丢失;回档刷奖励成功率为 0。


9. 相关原型衔接

扩展篇定位:跨平台互通是「玩家资产的随行能力」。它让账号、段位、存档、购买跟着人走——玩家可以随时换设备,但积累永远在。

延伸阅读

扩展篇全系列回顾:观战回放(被看见)→ 成就(被记住)→ AI 陪练(随时变强)→ 自定义房间(玩出花)→ 赛季段位(长期目标)→ 跨平台云存档(资产随行)。六篇共同补齐「玩法之外」的完整体验层。

扩展篇全系列速查

扩展篇主题一句话
之一 观战与回放让对局被围观每一局都可传播、可复盘
之二 成就与里程碑让成长被记录每一份努力都有进度条
之三 AI 陪练让进步有人陪随时能练、永远有人陪
之四 自定义房间让玩法可定制玩家把规则捏成自己的
之五 赛季与段位让竞技有长期目标每局爬升、每季回访
之六 跨平台与云存档让资产随行任何设备接着玩

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页

「products」更多文章

  1. 「在线联机原型全集」扩展篇之十二:赛季通行证与商业化(Battle Pass & Monetization)
  2. 「在线联机原型全集」扩展篇之十一:本地化与多语言(Localization & i18n)
  3. 「在线联机原型全集」扩展篇之十:经济风控与反作弊(Economy Risk & Anti-Fraud)