玩家账号、仓库与权限
- 点击导航栏底部的账号入口。未登录时显示名片占位和“登录”按钮。
- 点击“登录”打开独立登录弹窗;需要新账号时选择“创建账号”,进入注册弹窗。注册成功后返回登录窗口,不自动登录。
- 登录后,底部入口和名片显示游戏昵称及当前游戏头像。头像来自存档的 ActiveAvatarImageType;游戏内更换后,名片更新时同步。
- “我的仓库”提供库存分类、搜索、分页与货币余额。管理员授权后才显示添加货币区域、添加物品导航入口及相应页面控件。
- 添加的货币和物品写入同一份游戏存档。已在线的游戏需重新登录读取库存变更。
“记住账号”默认开启,可在登录弹窗或偏好设置中修改。登录信息通过 Windows DataProtectionProvider("LOCAL=user") 加密保存,只供当前 Windows 用户解密;XFEProfile 不保存明文密码或登录令牌。下次启动自动登录,桌面会话因服务器重启或超时失效后也可重新认证。退出账号会清除该服务器的保存记录;关闭选项并保存会清除本机保存的所有服务器登录记录,但当前会话继续有效。实现依据 Microsoft 数据保护文档。
从旧版升级后,请先在玩家端成功登录一次以保存登录信息;随后直接关闭窗口,下次打开即可恢复账号。旧版没有保存密码,不能直接恢复升级前的会话。已有配置缺少此选项时同样默认开启。
保存记录按规范化服务器地址分开,切换地址会先清除当前会话;不会把原服务器的密码发送到新地址。密码更改或账号被停用时,自动登录停止并提示手动登录。客户端定期读取最新权限;管理员关闭功能后对应控件隐藏,服务端立即拒绝越权请求。
独立权限
| 设置 | 默认值 | 用途 |
|---|---|---|
| allowPlayerRegistration | 开启 | 显示创建账号入口,允许玩家注册 |
| allowPlayerCurrencyGrant | 开启 | 白金、星币、内融核心自助添加 |
| allowPlayerItemGrant | 关闭 | 自助搜索并添加战甲、装备、MOD、材料等物品 |
管理员在“连接与设置 → 服务器账户设置”读取并保存这些开关。关闭自助权限仍可查看已有库存。管理员发放不受玩家自助开关限制。
旧 /custom/addCurrency 和 /custom/addItems 接口遵守相同权限。玩家存档导入、账号规则、批量解锁和装备编辑分别由“玩家编辑权限”授权,通过本人玩家会话提交;没有授权的操作由服务器拒绝。管理其他账号仍需管理令牌,游戏昵称不会授予管理权限。玩家物品接口排除货币包、随机礼包和邮件类奖励,防止间接绕过货币权限。
战甲与装备编辑
管理员打开“玩家编辑权限”,开启“允许用户编辑物品”并点击“保存权限”。此开关包含 15 项装备编辑权限,和“允许添加物品”“允许添加货币”互相独立。卡片显示已开启数量;已有部分权限时,可点击“补全装备编辑权限”再保存,也可在下方分组中逐项授权。
玩家进入“仓库与编辑 → 战甲”,点击已有战甲或选中后点击“编辑”,进入与管理员共用的详情页。SelectorBar 按授权操作显示基础属性、装备特性、源力石、Umbra 回响、活力注入、移植技能和物品管理。配装 A–C 及已购买的 D–F 都可独立设置移植技能;修改技能保留原有配装名称、MOD 和颜色。部分操作由装备类型、存档状态和服务器规则决定,例如 Excalibur Umbra 不提供 Umbra 回响覆盖。
没有编辑权限时仍可浏览库存,页面显示只读原因和对应的管理设置位置。页面约每 3 秒检查权限版本;管理员保存后自动恢复允许的入口,无需重新登录。撤销权限立即清除对应操作控件,恢复权限后重新载入。退出账号或切换账号后,旧装备详情不能继续提交。
战甲详情中的编辑操作与管理端使用同一组字段、候选项和保存逻辑,玩家接口只允许修改本人存档。保存仍校验最新权限与存档版本,其他地方改动存档时保留尚有权限的输入并提示冲突,不直接覆盖。
玩家 API
除 info、register、login 外,接口使用玩家 Bearer 会话。会话与游戏 nonce 独立,不挤掉游戏连接;有效期 12 小时,退出、服务器重启、密码重置或封禁后失效。
| 方法 | 路径 | 用途 |
|---|---|---|
| GET | /player/v1/info | 注册、货币和物品权限 |
| POST | /player/v1/register | email、displayName、password;新版桌面发送 signIn=false,仅创建账号 |
| POST | /player/v1/login | email、password;返回会话与资料 |
| GET | /player/v1/me | 本人资料、游戏头像类型、余额和权限 |
| GET | /player/v1/avatar | 当前游戏头像 PNG |
| GET | /player/v1/inventory?q=&category=&skip=0 | 本人库存,每页 100 项 |
| GET | /player/v1/catalog?q=&category=&skip=0 | 已授权玩家可添加的物品,每页 80 项 |
| POST | /player/v1/wallet/grant | currency、amount、requestId、requestedAt |
| POST | /player/v1/items/grant | type、count、requestId、requestedAt |
| GET | /player/v1/editor?category=Suits&item= | 本人存档编辑视图与允许的操作,每页 40 项 |
| GET | /player/v1/editor/revision | 存档版本、编辑权限版本与可用状态 |
| POST | /player/v1/editor | version、category、item、action、values;按授权操作保存 |
| POST | /player/v1/logout | 撤销桌面会话 |
货币单次 1–10,000,000,单种余额上限 999,999,999;物品单次 1–100。requestId 为 UUID,requestedAt 为 ISO 8601 时间。过去 10 分钟至未来 1 分钟的同一请求编号可安全重试,去重记录随存档保存。更换内容复用编号会被拒绝。
注册接口保留旧客户端的自动会话兼容方式;新版桌面的注册与登录是两个独立步骤。
头像资源
优先读取服务器 GameAssetRoot/PublicExport 下对应游戏图标。默认游戏头像已随服务端嵌入,可离线显示。其余头像通过锁定的官方 Public Export 资源地址获取,使用独立无认证 HTTP 客户端、大小限制与内存缓存;头像请求不会发送玩家邮箱或登录令牌到外部站点。无法加载时显示本地占位,不阻塞登录或仓库操作。资源索引覆盖本次数据集中的 1,668 个头像,后续新增游戏头像需要更新静态数据。
验证
覆盖独立权限、旧接口校验、普通玩家不能获取管理权限、物品防重复发放、分离注册登录、当前头像与离线默认头像、库存分页及游戏初始装备。WinUI 集成检查验证底部导航选中、权限隐藏、头像加载、独立弹窗构造及不同宽度布局。
2026-10-01 增加普通玩家战甲编辑回归:18 项操作包括重命名、经验、满级、极化、容量与特殊槽位、源力石增删、Umbra 回响设置/移除、活力注入设置/移除、A–F 技能移植和删除。逐项使用玩家会话提交,回读实际存档,并确认不改动另一个账号;每次操作前比较管理端与玩家端的完整操作字段和候选项。
原生界面验证包含权限全关后的只读提示、重新授权后自动恢复同一战甲及搜索条件、详情页撤销/恢复、部分授权的补全按钮、SelectorBar 切换、原生技能输入、保存回读和并发修改保护。测试仅使用隔离服务器、测试账号与个人配置,发布包的 validation 目录保存对应检查报告。