会话重置被中断 — 自动 Reset 到底是什么
什么是"会话重置"
Drawpile 服务器会定期自动创建会话历史快照——因为会话的完整操作历史是逐笔保存的,长时间的多人会话历史可能非常大(几 MB 到几十 MB),服务器内存压力大。
快照创建后,服务器会把快照之前的历史从内存里清理掉。旧版本做这件事时会强制中断所有客户端的连接(客户端被迫重连),用户会明显感觉到"会话被重置了一下"。
2.2.2 之后的改变
Drawpile 2.2.2 开始,自动快照不再打断会话——服务器在后台静默处理,客户端感知不到。只有手动触发的 Session Reset(Operator 用 Session → Reset)才会主动回退会话到某个快照点。
如果你还在经历会话被强制重置:
- 服务器(社区服务器或自建)可能用的是旧版本——联系社区服务器管理员或更新自建服务器
- 客户端可能没更新到 2.2.2+——更新 Drawpile
手动 Session Reset
这是 Operator 主动触发的——Session → Reset → 拖滑块选快照点 → Reset。
手动 Reset 会怎么样
- 所有客户端短暂断开重连(约 1-3 秒)
- 会话整体回退到快照点的状态
- 所有人回到那个时间点,快照之后画的东西都没了
- 聊天记录也回退到那个点(但可能有少量残留)
Reset 之后怎么办
- 聊天窗口里会有一条系统消息说 Reset 成功
- 查看画布状态确认是不是回到了你要的时间点
- 如果回得太多(丢了不想丢的东西),别再 Reset,用 Force Undo 一笔一笔还原(虽然慢但不会再多丢)
- 建议 Reset 前所有人先把自己的图层手动保存一份(以防万一)
快照相关配置
Edit → Preferences → General → Canvas Snapshots:
- Snapshot Interval — 快照间隔(默认 10 分钟)
- Snapshot Count — 保留快照数量(默认 10)
快照多、间隔短 = Reset 能回到更远的时间点,但服务器内存占用更大。社区服务器限制了最大快照数量。
如果 Reset 之后画布一片空白
可能的原因:
- 快照本身是一张空白画布(你选的快照点太早)
- 服务器快照损坏(极罕见)
- 客户端连接问题没正确同步
救命步骤:
- 在聊天窗口问其他人"你们那边画布是什么样的"
- 如果其他人那边正常,可能你本地客户端没同步好 → 试试 Session → Reset 再回退一步,或让 Operator Force Undo 恢复图层
- 如果所有人都是空白 → 让 Operator 立刻用 Session Reset 往回退(可能快照点不对)
预防建议
多人会话中 Operator 可以主动:
- 每 30 分钟手动保存一次(所有人自己存自己的 PNG)
- 关键节点(线稿完成、底色完成)各自保存一份
- 不要把 Reset 当日常操作——只在 griefer 搞破坏或真的需要回退时才用