Skip to content

MCSR 备份回滚指南

重要提醒

mcsr 是服务器备份回滚工具,会停止服务器并把存档文件恢复到备份状态。

回滚不是普通查询命令,发起前请先确认:

  • 你要回滚的是哪个服务器;
  • 你要使用的是哪个备份快照;
  • 是全量回滚,还是只回滚某一片区域;
  • 回滚完成后是否需要自动启动服务器。

如果不确定,请先在群里说明情况,让管理员一起确认。

这是什么

mcsr 是群内机器人提供的 MCSManager + Restic 备份回滚命令。

它主要用于:

  • 查看服务器实例;
  • 查看备份快照;
  • 将整个服务器恢复到某个备份;
  • 只恢复某个世界中的一片区域文件。

所有群成员都可以发起回滚请求,但不会立刻执行。真正执行前,必须由本群管理员或群主回复确认码。

基本格式

text
mcsr <子命令> <参数>

常用子命令:

  • instances:查看服务器实例;
  • backups:查看备份快照;
  • rollback full:全量回滚整个服务器;
  • rollback area:只回滚指定区域文件。

下面示例中的 9950x 是 daemon 名称。如果以后管理告诉你换了别的 daemon,就把命令里的 9950x 换成对应名称。

查看服务器实例

text
mcsr instances <daemon>

作用:查看指定 daemon 下有哪些服务器实例,以及它们当前状态。

示例:

text
mcsr instances 9950x

你需要从返回结果里确认“实例名”。后续回滚命令里的实例名必须和这里显示的一致。

查看备份快照

text
mcsr backups <daemon>

作用:查看指定 daemon 最近的备份快照。

示例:

text
mcsr backups 9950x

返回结果通常会包含多条备份,每条前面会有一个快照 ID,例如:

text
1. abc12345  2026-07-01 20:00:00
2. def67890  2026-07-01 19:00:00

回滚时可以复制前面的快照 ID,例如 abc12345

小提示

全量回滚可以不填快照 ID。不填时默认使用最新备份。

区域回滚必须填写快照 ID,因为后面还要跟世界路径和坐标范围。

全量回滚整个服务器

text
mcsr rollback full <daemon> <实例名> [快照ID] [--no-start]

作用:把整个服务器实例目录恢复到某个备份。

适合情况:

  • 存档整体损坏;
  • 误操作影响范围很大;
  • 需要把服务器整体回到某个时间点。

示例:使用最新备份回滚“生存”,回滚完成后自动启动:

text
mcsr rollback full 9950x 生存

示例:使用指定快照回滚“生存”,回滚完成后自动启动:

text
mcsr rollback full 9950x 生存 abc12345

示例:使用最新备份回滚“生存”,但回滚完成后不启动服务器:

text
mcsr rollback full 9950x 生存 --no-start

区域回滚

text
mcsr rollback area <daemon> <实例名> <快照ID> <世界相对路径> <[x1,z1]-[x2,z2]> [--no-start]

作用:只恢复指定世界里覆盖某个坐标范围的区域文件。

适合情况:

  • 某个建筑、区块或区域被破坏;
  • 只想修一小片地方,不想全服倒回;
  • 管理员已经确认影响范围比较小。

参数说明:

  • <daemon>:daemon 名称,例如 9950x
  • <实例名>:服务器实例名,例如 生存
  • <快照ID>:从 mcsr backups <daemon> 里复制;
  • <世界相对路径>:世界目录,例如 worldworld/DIM-1world/DIM1
  • <[x1,z1]-[x2,z2]>:方块坐标范围,只写 x 和 z,不写 y。

示例:

text
mcsr rollback area 9950x 生存 abc12345 world [1851,4413]-[2216,4722]

示例:区域回滚后保持服务器关闭:

text
mcsr rollback area 9950x 生存 abc12345 world [1851,4413]-[2216,4722] --no-start

注意

区域回滚会按 Minecraft 的区域文件来恢复,实际影响范围可能比你输入的坐标框更大。

机器人在确认前会显示“实际回滚”的坐标范围,请管理员确认后再回复确认码。

回滚后是否自动启动

默认情况下,回滚完成后会自动启动服务器。

如果你希望回滚完先不要启动,可以在命令最后加下面任意一种写法:

text
--no-start
nostart
不启动
不重启
保持关闭

例如:

text
mcsr rollback full 9950x 生存 --no-start

或者:

text
mcsr rollback area 9950x 生存 abc12345 world [1851,4413]-[2216,4722] 不启动

管理员确认流程

发起回滚后,机器人会先展示本次回滚的详细信息,例如:

  • daemon;
  • 实例名;
  • 快照;
  • 回滚目录或区域;
  • 回滚后是否启动;
  • 本次确认码。

然后机器人会提示管理员回复类似下面的内容:

text
确认 A1B2C3

只有本群管理员或群主回复正确确认码,回滚才会真正开始。

如果同一时间有多个回滚请求,每个请求都有自己的确认码。管理员必须回复对应的确认码,避免确认错回滚。

常见问题

我只发 确认 可以吗?

不可以。必须回复完整的:

text
确认 确认码

例如:

text
确认 A1B2C3

群主算管理员吗?

算。群主和管理员都可以确认回滚。

不填快照 ID 是什么意思?

只有全量回滚可以不填快照 ID。不填时默认使用最新备份。

例如:

text
mcsr rollback full 9950x 生存

区域回滚必须填写快照 ID。

latest 可以当快照 ID 吗?

不建议这样写。请直接留空表示最新备份,或者从 mcsr backups <daemon> 里复制具体快照 ID。

什么时候该用全量回滚?

影响范围很大、无法只修一个区域时,才考虑全量回滚。

全量回滚会把整个服务器目录恢复到备份状态,影响比较大,请谨慎使用。

什么时候该用区域回滚?

只坏了一片区域、只想修复局部建筑或地形时,优先考虑区域回滚。

区域回滚通常比全量回滚影响小,但仍然需要管理员确认。

推荐操作流程

  1. 先查看实例名:
text
mcsr instances 9950x
  1. 再查看备份:
text
mcsr backups 9950x
  1. 确认要回滚的实例、快照和范围。

  2. 发起回滚命令。

  3. 等机器人显示确认信息。

  4. 管理员检查信息无误后,回复确认码。

  5. 回滚完成后,检查服务器状态和存档情况。

最后再提醒一次

不要在不知道影响范围的情况下随便回滚。

如果你只是想问“能不能恢复某个地方”,请先描述问题,不要直接发回滚命令。