From 354ea7c78878a4ecc2c57315645a6466a5aeb333 Mon Sep 17 00:00:00 2001 From: Administrator <3234374354@qq.com> Date: Mon, 3 Feb 2025 12:39:36 +0000 Subject: [PATCH] docs: update mcserver/admin --- mcserver/admin.md | 97 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 95 insertions(+), 2 deletions(-) diff --git a/mcserver/admin.md b/mcserver/admin.md index 5be9dd3..4781a10 100644 --- a/mcserver/admin.md +++ b/mcserver/admin.md @@ -2,7 +2,7 @@ title: 管理员相关 description: published: true -date: 2025-02-03T12:38:15.498Z +date: 2025-02-03T12:39:33.866Z tags: editor: markdown dateCreated: 2025-02-03T07:58:51.978Z @@ -259,4 +259,97 @@ invview.protected:允许玩家的背包不被其他人打开。 /qb search **:搜索某一存档的备份;** /qb show :**显示某一存档备份的具体信息。** -## **ServerReplay** \ No newline at end of file +## **ServerReplay** + + #### 玩家 + +要在服务端记录玩家,你可以执行 `/replay start players <玩家>`,例如: + +`/replay start players senseiwells` +`/replay start players @a` +`/replay start players @a[gamemode=survival]` + +玩家录制将会和玩家绑定,并且按服务端视距进行录制。 + +如果玩家退出了服务器或者服务端停止了,录制将会自动停止并保存。 + +同时,如果你想要手动停止录制,你可以执行 `/replay stop players <玩家> <是否保存>`。这个指令还可以停止录制并取消保存,例如: + +`/replay stop players senseiwells` +`/replay stop players @r` +`/replay stop players senseiwells false` + +此录制之后将会被保存在 `player_recording_path` 所指定的文件夹中玩家 uuid 目录下。默认情况下,它将被保存在 `./recordings/players//.mcpr` + +此文件可以被放在客户端的 `./replay_recordings` 文件夹中并被客户端 Replay Mod 打开。 + +> [!NOTE] +> 如果你要记录 [Carpet](https://github.com/gnembon/fabric-carpet) 假人,你可能需要在设置中启用 `fix_carpet_bot_view_distance`,否则只有假人周围的 2 个区块会被记录。 + +#### 区块 + +> [!NOTE] +> 对于模组录制的指定区域的区块,Minecraft 客户端**不会**渲染最边缘的那些区块。所以如果要记录一片**可见**的区块,你必须在边缘多选取一个区块。例如录制一片从 `-5,-5` 到 `5,5` 的可见区块,你必须从 `-6,6` 到 `6,6` 进行录制。 + +要记录服务端的一些区块,你可以执行 `/replay start chunks from <区块X轴起点> <区块Z轴起点> to <区块X轴终点> <区块Z轴终点> in <维度> named <名称>`,例如: + +`/replay start chunks from -5 -5 to 5 5 in minecraft:overworld named MyChunkRecording` +`/replay start chunks from 54 67 to 109 124` +`/replay start chunks from 30 30 to 60 60 in minecraft:the_nether` + +同时你可以指定一个中心区块和半径来进行录制,`/replay start chunks around <区块X轴> <区块Z轴> radius <半径> in <维度> named <名称>`,例如: + +`/replay start chunks around 0 0 radius 5` +`/replay start chunks around 67 12 radius 16 in minecraft:overworld named Perimeter Recorder` + +区块录制将被固定并且无法移动,它们将录制指定的区块。需要特别注意的是,当录制开始的时候,这些指定的区块将会被加载一下(在有必要的情况下将会被生成)。在此之后,录制器将不会手动加载这些区块。 + +你可以通过配置 `chunk_recorder_load_radius` 来设定区块录制器会自动加载的最大范围。在这个范围外的录制区块需要手动加载来录制。 + +如果服务端停止了,录制将会自动停止并保存。 + +同时,如果你希望手动停止录制,你可以运行 `/replay stop chunks from <区块X轴起点> <区块Z轴起点> to <区块X轴终点> <区块Z轴终点> in <维度> <是否保存>`。这个指令还可以停止录制并取消保存,例如: + +`/replay stop chunks from 0 0 to 5 5 in minecraft:overworld false` +`/replay stop chunks from 54 67 to 109 124` + +此录制之后将会被保存在 `chunk_recording_path` 所指定的文件夹中区块录制器名称目录下。默认情况下,它将被保存在 `./recordings/chunks//.mcpr`。 + +此文件可以被放在客户端的 `./replay_recordings` 文件夹中并被客户端 Replay Mod 打开。 + +#### 指令 + +注意:对于所有的指令,玩家必须要有等级 4 的 OP 权限,或如果你有一个权限模组(例如 [LuckPerms](https://luckperms.net/)),玩家可以在拥有权限节点 `replay.commands.replay` 时使用这些指令。 + +- `/replay enable` + 允许模组按照给定的规则(详见 [匹配规则](#匹配规则设置) 部分)自动记录玩家。 + +- `/replay disable` + 禁止模组自动录制玩家,这将会同时停止当前的所有的玩家录制和区块录制。 + +- `/replay start players <玩家>` + 手动开启对给定的玩家的录制。 + +- `/replay start chunks from <区块X轴起点> <区块Z轴起点> to <区块X轴终点> <区块Z轴终点> in <维度> named <名称>` + 手动开启对给定的区块范围的录制;如果维度没有被指定,将会使用发起指令的玩家所在的维度;名称决定了录制文件的保存路径。 + +- `/replay start chunks around <区块X轴位置> <区块Z轴位置> radius <半径> in <维度> named <名称>` + 该指令和上一个指令类似;但你可以指定录制给定区块周围的半径内的区域。 + +- `/replay stop players <玩家> <是否保存>` + 手动停止对给定玩家的录制,你可以选择性地设置录制是否被保存,默认情况下它将会被保存。 + +- `/replay stop chunks from <区块X轴起点> <区块Z轴起点> to <区块X轴终点> <区块Z轴终点> in <维度> named <名称>` + 手动停止对于给定区块范围的录制。如果维度没有被指定,将会使用发起指令的玩家所在的维度。你可以选择性地设置录制是否被保存,默认情况下它将会被保存。 + +- `/replay stop chunks named <名称> <是否保存>` + 该指令和上一个指令类似;但你可以依靠名称来选取指定的区块范围。 + +- `/replay stop [chunks|players] all <是否保存>` + 手动停止对**所有**区块或玩家的录制。你可以选择性的设置录制是否被保存,默认情况下它将会被保存。 + +- `/replay status` + 获取一个状态信息,包含录制是否被允许,以及当前所有对玩家和区块的录制的列表,它们已被录制的时长,和它们的文件大小。 + +- `/replay reload` + 重载 Server Replay 模组的配置文件。 \ No newline at end of file