PMP(Phira-mp+)隐私政策
生效日期:2026-08-03
本隐私政策说明 PMP(Phira-mp+)多人游戏服务器如何收集、使用、存储和处理个人数据。PMP 由服务器运营者(下称"我们")部署与维护,面向 Phira 玩家提供多人游戏服务。
在使用本服务器前,请仔细阅读本政策。
1. 我们收集的数据
1.1 账户与身份数据
| 数据项 | 说明 | 来源 |
|---|---|---|
| Phira 用户 ID | 唯一数字标识 | 认证时由 Phira 官方账号提供 |
| 用户名 | 显示名称 | 认证时由 Phira 官方账号提供 |
| 语言环境 | 用于系统消息的本地化 | 认证时由 Phira 官方账号提供 |
1.2 连接与网络数据
| 数据项 | 说明 |
|---|---|
| IP 地址 | 每次连接的来源 IP,以及历史上使用过的全部 IP 及使用频次 |
| 连接 / 断开时间 | 每次认证连接与离线的时间点 |
| 会话标识 | 每次连接的内部会话 UUID |
| 服务器实例标识 | 连接所经过的服务器实例 |
1.3 认证数据
- 认证 token:仅在你连接期间临时保存在服务器内存中,用于向 Phira 官方服务验证身份;不会写入数据库或磁盘文件。
- token 的 SHA-256 哈希:用于重连认证缓存(避免重复请求 Phira 官方服务)。哈希不可逆,无法还原 token。
- 登录次数:累计认证成功次数;访问记录:每次认证生成一条会话级访问记录。
1.4 游戏数据
| 数据项 | 说明 |
|---|---|
| 游玩时长 | 累计在线时长 |
| 房间历史 | 加入过的房间及时间 |
| 房间快照 | 房间内成员、房主、锁/轮换等设置状态 |
| 轮次成绩 | 每轮游戏的分数、准确率、Perfect/Good/Bad/Miss、MaxCombo |
| 触控 / 判定数据 | 游戏内的按键/坐标轨迹与时间戳,用于成绩校验与回放 |
1.5 聊天数据
- 聊天消息仅在服务器内存中临时保存(每个房间最近 50 条,用于新加入成员同步历史),不会持久化到数据库。服务器重启后聊天记录即消失。
1.6 插件与扩展数据
- 服务器加载的插件可能注册并存储每用户自定义字段(如附加的玩家资料)。
- 封禁记录:包含被封禁的用户 ID 或 IP、封禁原因与时间。
2. 我们如何使用数据
| 用途 | 涉及数据 |
|---|---|
| 提供游戏服务(房间、对局、排行榜、回放) | 身份、游戏数据 |
| 身份认证与重连恢复 | token 哈希、访问记录 |
| 反作弊与成绩校验 | 触控/判定数据、轮次成绩 |
| 反滥用与风控 | IP 地址、连接频率、封禁记录 |
| 服务诊断与性能优化 | 遥测数据、事件流 |
| 本地化体验 | 语言环境 |
| 欢迎语个性化 | 用户名、游玩时长、在线数 |
我们不会将个人数据用于上述以外的目的,也不会出售或出租个人数据。
3. 数据的存储与处理
3.1 持久化存储
| 存储位置 | 内容 |
|---|---|
| PostgreSQL 数据库 | 用户档案(用户名/语言/IP)、IP 历史、访问记录、游玩时长、房间历史、轮次成绩、触控/判定明细、遥测批次、房间快照、事件流、封禁记录、管理员列表 |
WAL 预写日志(data/persistence-worker.wal.jsonl) | 待确认写入数据库的事件明文缓存,用于崩溃恢复与数据一致性 |
Dead-letter(data/persistence-dead-letter.jsonl) | 数据库写入失败时的事件备份(含用户数据) |
扩展数据文件(data/extensions.json) | 认证缓存(token 哈希 + 用户信息)、IP 封禁列表、插件用户字段 |
管理员列表文件(data/admin-phira-ids.json) | 管理员 Phira 用户 ID |
WAL 与 dead-letter 文件权限为 0o600(仅服务器进程可读写)。
3.2 非持久化存储(内存,进程重启即失)
| 数据项 | 说明 |
|---|---|
| 认证 token 明文 | 会话生命周期内临时持有,不落盘 |
| 在线状态 | 当前在线用户、会话、房间 |
| 聊天记录 | 每房间最近 50 条 |
| 实时触控/判定缓冲 | 用于观战回放,轮次结束即清 |
| 速率限制计数 | 按 IP 的滑动窗口,超时自动清除 |
| 用户名缓存 | 内存排行榜补名缓存 |
3.3 保留期限
| 数据类别 | 默认保留 |
|---|---|
| 核心用户档案、IP 历史、访问记录、游玩时长、遥测明细、封禁记录、扩展字段 | 永久保留(除非服务器管理员手动清理) |
| 事件流、房间历史、轮次成绩、触控/判定明细、轮次元数据 | 默认 30 天(可通过 persistence_retention_days、touch_judge_retention_days 配置) |
| WAL 事件 | 确认写入数据库后自动压缩清理(无固定时间保留) |
| Dead-letter | 无自动清理(由管理员通过 dead-letter 命令处理) |
| 聊天记录 | 不持久化,服务器重启即失 |
4. 数据共享
4.1 Phira 官方服务
为验证你的身份,服务器会在你每次认证时向 Phira 官方 API(phira_api_endpoint)发送你的认证 token。我们还会按需向 Phira 官方服务查询用户名、谱面等公开信息。这属于提供认证与游戏功能所必需的处理。
4.2 服务器管理员
服务器运营者(管理员)通过管理控制台和本地 OpenUDS 接口可以访问完整的用户数据(包括 IP 历史、游戏记录、日志),用于服务器运维与安全。
4.3 插件
服务器加载的插件经授权后可访问用户 ID、用户名、成绩、触控数据,并可读写用户自定义扩展字段。插件仅在服务器本地运行,数据不会自动发送到外部。
4.4 可选:Sentry 错误监控
若服务器配置了 Sentry DSN,应用错误信息(可能包含 IP 地址)会被发送到 Sentry 服务用于错误诊断。未配置 DSN 时,此功能完全禁用。
4.5 我们不做什么
- 不出售或出租个人数据
- 不向广告商提供个人数据
- 不做用户画像用于营销
5. 数据安全
我们采取以下措施保护个人数据:
- WAL 与 dead-letter 文件权限收紧为
0o600 - 认证 token 持久化仅保存 SHA-256 哈希,不保存明文
- 连接频率限制与封禁机制,防止滥用
- 数据存储于服务器运营者控制的服务器
请注意:PMP 为开源软件,任何部署者都应自行评估部署环境的安全性。
6. 你的权利
| 权利 | 说明 |
|---|---|
| 访问 | 你可以联系服务器管理员了解服务器收集的关于你的数据 |
| 更正 | 用户名、ID、语言等由你的 Phira 官方账号决定,请通过 Phira 平台管理 |
| 删除 | 你可以要求管理员删除你的用户档案、IP 历史、游玩时长等记录 |
| 停止使用 | 停止连接本服务器即可停止新的数据收集 |
由于服务器采用去中心化部署,每位运营者独立管理自己的数据库。数据处理的具体情况以你连接的服务器为准。
7. 未成年人
本服务器面向 Phira 游戏玩家。若你所在地区法律对未成年人使用有特别规定,请由你的监护人审阅本政策并协助你作出决定。
8. 政策变更
本政策可能随功能或法律要求更新。变更后的版本将发布在本文档,并在服务器公告中提示。继续使用服务器即表示你接受更新后的政策。
9. 联系方式
有关本隐私政策或你的个人数据的任何问题,请联系你连接的服务器运营者(管理员)。
本政策基于 PMP 开源项目的实际数据处理逻辑编写。具体实现可查阅服务器部署的配置文件与代码库。