ServerReplay (ServerReplay)
ServerReplay 是一个完全服务器端实现的重放模组,可以记录服务器上在线的多名玩家或指定的区块区域,并生成可用于重放的重放文件。
为什么使用服务器端重放?
与客户端的Replay Mod相比,服务器端录制具有许多优点:
- 可以记录静态区块
- 可以指定精确的区块大小(不受服务器视距限制)
- 记录的区块可以在不影响重放的情况下被卸载
- 没有区块闪烁(由于卸载和加载区块导致的)
- 不会被录制加载区块(例如:PCRC)
- 记录者可以跳过区域卸载时间段
- 可以记录个别玩家
- 玩家不需要安装重放Mod
- 可以同时记录所有玩家的视角
- 可以使用配置自动记录
- 可由操作员(或有权限的任何人)随时开始记录
然而,也存在一些缺点和已知问题:
- 某些功能不会被区块录制记录,例如自定义BOSS血条
- 要观看重放,必须从服务器下载文件
- 玩家录制与客户端Replay Mod可能不完全一致
- Mod兼容性,此Mod可能与其他干扰网络的Mod冲突,如果遇到任何兼容性问题,请提交错误。
使用
该模组需要 Fabric启动器、fabric-api、fabric-kotlin。
在服务器上有两种录制方式,可以配置为跟随并记录玩家视角,也可以记录静态区域的区块。
快速开始
本节将简要指导您进行基本设置,同时包含一些重要信息。
记录玩家
可以使用 `/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/
记录区块
要在服务器上记录区块,可以使用 `/replay start chunks from
/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
/replay start chunks around 0 0 radius 5
/replay start chunks around 67 12 radius 16 in minecraft:overworld named Perimeter Recorder
已复制!
区块记录器是静态的,无法移动,它们记录指定的区块。重放开始后,指定的区块将被加载(如果有必要则生成)。然后,记录器不会再加载这些区块。如果服务器停止,重放将自动停止并保存。以上述命令手动停止记录时,将会将重放保存到指定的`"chunk_recording_path"`路径中。
命令
所有命令的说明:
- `/replay enable` - 启用重放模组自动记录玩家。
- `/replay disable` - 禁用重放模组自动记录玩家。
- `/replay start players
` - 手动开始记录给定玩家的重放。 - `/replay stop players
` - 手动停止记录给定玩家的重放,并可选择是否保存。 - `/replay start chunks ...` - 手动开始记录给定区块的重放。
- `/replay stop chunks ...` - 手动停止记录给定区块的重放,并可选择是否保存。
- `/replay stop [chunks|players] all
` - 手动停止所有区块或玩家的重放,并可选择是否保存。 - `/replay status` - 发送重放模组的状态消息。
- `/replay reload` - 重新加载重放模组的配置文件。
配置
在启动服务器后,路径`./config/ServerReplay/config.json`将生成一个新的配置文件,示例如下:
// 配置示例参见上述说明
已复制!
区块配置
定义服务器启动时自动记录的区块区域。每个区块定义必须包括`"name"`,`"dimension"`,`"from_x"`,`"to_x"`,`"from_z"`和`"to_z"。例如:
{
"chunks": [
{
"name": "My Chunks",
"dimension": "minecraft:overworld",
"from_x": -5,
"from_z": -5,
"to_x": 5,
"to_z": 5
},
{
"name": "My Nether Chunks",
"dimension": "minecraft:the_nether",
"from_x": 100,
"from_z": 50,
"to_x": 90,
"to_z": 60
}
]
}
已复制!
谓词配置
可以定义一个谓词,确定服务器上自动记录的玩家。例如:
- 记录所有玩家:`{"type": "all"}`。
- 仅记录具有特定名称或UUID的玩家:`{"type": "has_name"}`、`{"type": "has_uuid"}`。
- 仅记录操作员:`{"type": "has_op"}`。
- 仅记录特定队伍的玩家:`{"type": "in_team"}`。
- 排除虚假玩家:`{"type": "not", "predicate": {"type": "is_fake"}}`。
以上就是ServerReplay模组的详细介绍,包括其特性、用法和配置说明。希望能帮助您充分了解并有效使用该模组。
ServerReplay 3.0.1 for 1.21.8
ServerReplay 3.0.0 for 1.21.8
ServerReplay 3.0.0-beta.3 for 1.21.8
- Fixed a bug where the config wasn't being properly loaded on server startup
- Fixed a bug where out of bounds inventory packets were being recorded
- Fixed the initial flashback snapshot not being recorded correctly
- Fixed a race condition that could happen with automatic recordings
ServerReplay 3.0.0-beta.2 for 1.21.8
- Updated the fabric language kotlin and fabric api dependency versions
ServerReplay 3.0.0-beta.1 for 1.21.8
This update completely reworks the internals of the mod to allow for more flexibility
and hopefully will make future development of replay based moderation tools easier.
This version is in *beta*, if you encounter any bugs please report them
to the issue tracker: https://github.com/senseiwells/ServerReplay/issues
This version also comes with numerous features and bug fixes:
- Re-added the `max_file_size` config option
- The behaviour of this differs from the previous behavior
as this refers to the max *raw* file size before the replay
has been compressed, see the documentation for more information.
- Added the `record_hotbar` config option to allow for recording
the player's hotbar (flashback only)
- Added the `chunk_recording_strategy` config option to allow you
to specify chunk recorder pausing behaviour, allowing you to only
record (and otherwise pause) under certain conditions, the options are:
`"always"`, `"chunk_loaded"`, `"chunk_contains_player"`, and
`"chunk_contains_non_spectator_player"`
- Replaced the `enable` config option with the `automatically_record`
option, as well as removed the command to enable/disable ServerReplay.
This toggle was quite ambiguous as it still allowed you to record but
just disabled the server automatically recording. The new config option
reflects this much better.
- Added the ability to record both flashback and replay-mod format
recordings for players at the same time
- Currently the only way to do this is to set the default encoding method
to replay-mod start a recording, then switch the encoding to flashback
(or vice versa) then starting another recording.
- Added the ability to chunk record the same chunk area with multiple recorders
- With the caveat that you each chunk recorder must have a unique name in order
to do this.
- As a consequence this also allows you to record both flashback and replay-mod
replays of the same chunk area at the same time.
- Added Simple Voice Chat support for flashback replays
- Fixed the recording quality of Simple Voice Chat
- Fixed time-limited recordings not accounting for server pausing
- Fixed an issue where an exception would sometimes occur when shutting
down the server
ServerReplay 2.3.2 for 1.21.6
- No longer recording waypoint packets, fixes replay playback on the client
ServerReplay 2.3.1 for 1.21.6
- Updated to 1.21.6
ServerReplay 2.3.0 for 1.21.5
- Implemented proper ReplayMod support for 1.21.5
- Implemented `delete_replays_after_duration` and `log_deleted_replays` config options
- Fixed a bug that caused signed chat messages to be recorded as signed
- Fixed an incompatibility with krypton
- Fixed an incompatibility with distant horizons
- Fixed a bug with the flashback encoding not recording entity snapshots properly
ServerReplay 2.2.0-beta.2 for 1.21.5
Fixed a bug where viewing replays don't pause when paused in singleplayer
ServerReplay 2.2.0-beta.1 for 1.21.5
Update to 1.21.5
Due to replay mod not having a release yet the replay-mod format should be considered unstable. Any recordings using the replay-mod format may not work with the replay mod when it releases.
ServerReplay 2.1.0 for 1.21.4
Added support to view flashback replays
ServerReplay 2.0.0 for 1.21.4
This is quite a big update to ServerReplay with lots of internal
changes. ServerReplay now supports recording to the flashback
format! This support is experimental, and usage may result in
corrupted recordings, please report any bugs you encounter to the github.
Replay mod support will still be maintained for the foreseeable future,
and remains the default recording method.
To change the format to flashback you can run the `/replay encoding set flashback`,
to change back to replay mod you can run `/replay encoding set replay-mod`.
There are some features of flashback that aren't currently available:
- No flashback voicechat support
- No viewing flashback replays server-side
- Flashback will not save resource packs, this is a limitation of flashback itself,
resource packs in replays will still be loaded if the packs are still being hosted externally
**Other changes this update:**
- Fixed an issue where you couldn't use ServerReplay in Singleplayer
- Fixed compatability with servux
- Added config option `"ignore_custom_payloads"` which ignores custom payload
packets, this may resolve compatability issues with some mods, but will break others
- Deprecated `"max_file_size"` and `"include_compressed_in_status"`, for longer replays
these options are just too expensive to feasibly use, these options do not work for the
new flashback format and will eventually be removed for replay mod replays. It's advised
to use `"max_duration"` instead.
ServerReplay 2.0.0-beta.2 for 1.21.4
This is quite a big update to ServerReplay with lots of internal
changes. ServerReplay now supports recording to the flashback
format! This support is experimental, and usage may result in
corrupted recordings, please report any bugs you encounter to the github.
Replay mod support will still be maintained for the foreseeable future,
and remains the default recording method.
To change the format to flashback you can run the `/replay encoding set flashback`,
to change back to replay mod you can run `/replay encoding set replay-mod`.
There are some features of flashback that aren't currently available:
- No flashback voicechat support
- No viewing flashback replays server-side
- Flashback will not save resource packs, this is a limitation of flashback itself,
resource packs in replays will still be loaded if the packs are still being hosted externally
**Other changes this update:**
- Fixed compatability with servux
- Added config option `"ignore_custom_payloads"` which ignores custom payload
packets, this may resolve compatability issues with some mods, but will break others
- Deprecated `"max_file_size"` and `"include_compressed_in_status"`, for longer replays
these options are just too expensive to feasibly use, these options do not work for the
new flashback format and will eventually be removed for replay mod replays. It's advised
to use `"max_duration"` instead.
ServerReplay 1.2.12 for 1.21.4
ServerReplay 1.2.10 for 1.20.6
ServerReplay 1.2.10 for 1.21.1
ServerReplay 1.2.10 for 1.21.3
ServerReplay 1.2.10 for 1.21.4
ServerReplay 1.2.7 for 1.21.4
## IMPORTANT NOTE
Anything that was recorded with 1.21.4 ServerReplay has *invalid metadata*,
which was an oversight on my behalf. All 1.21.4 replays recorded are thought
to use the 1.21.2 protocol, meaning they won't load properly; You can fix this
manually by unzipping any .mcpr files (you may need to rename them to .zip) and
modifying the `"metaData.json"` file by setting `"protocol"` to `769`.
Alternatively you can boot the new version of this mod and it will try
to fix any invalid replays automatically.
ServerReplay 1.2.2 for 1.20.1
ServerReplay 1.2.5 for 1.21.4
ServerReplay 1.2.3 for 1.21.3
ServerReplay 1.2.2 for 1.21.3
ServerReplay 1.2.1 for 1.21.3
- Now using injected http servers for downloading replays and packs
- You no longer need to open additional ports for this
ServerReplay 1.1.5 for 1.21.3
ServerReplay 1.1.5 for 1.17.1
- Optimized resource pack hosting
ServerReplay 1.1.5 for 1.18.2
- Optimized resource pack hosting
ServerReplay 1.1.5 for 1.19.4
- Optimized resource pack hosting
ServerReplay 1.1.5 for 1.20.6
- Optimized resource pack hosting
ServerReplay 1.1.5 for 1.21.1
- Optimized resource pack hosting
ServerReplay 1.1.4 for 1.21.1
ServerReplay 1.1.4 for 1.20.6
ServerReplay 1.1.4 for 1.19.4
ServerReplay 1.1.3 for 1.17.1
ServerReplay 1.1.3 for 1.18.2
ServerReplay 1.1.3 for 1.19.4
- Fixed an incompatibility with C2ME
- Fixed an issue that caused players to not be able to join when auto recording
ServerReplay 1.1.3 for 1.20.4
- Fixed an incompatibility with C2ME
- Fixed an issue that caused players to not be able to join when auto recording
ServerReplay 1.1.3 for 1.20.6
- Fixed an incompatibility with C2ME
- Fixed an issue that caused players to not be able to join when auto recording
ServerReplay 1.1.3 for 1.21.1
- Fixed an incompatibility with C2ME
- Fixed an issue that caused players to not be able to join when auto recording
ServerReplay 1.1.2 for 1.20.4
- Fixed an issue with `/replay view`
- Fixed an incompatibility with Syncmatica
- Added the ability to change the player's recording directory name
ServerReplay 1.1.2 for 1.17.1
- Added the ability to change the player's recording directory name
ServerReplay 1.1.2 for 1.18.2
- Added the ability to change the player's recording directory name
ServerReplay 1.1.2 for 1.19.4
- Fixed an issue with `/replay view`
- Fixed an incompatibility with Syncmatica
- Added the ability to change the player's recording directory name
ServerReplay 1.1.2 for 1.20.6
- Fixed an issue with `/replay view`
- Fixed an incompatibility with Syncmatica
- Added the ability to change the player's recording directory name
ServerReplay 1.1.2 for 1.21
- Fixed an issue with Carpet bots not recording entities properly
- Fixed an issue with `/replay view`
- Fixed an incompatibility with Syncmatica
- Added the ability to change the player's recording directory name
ServerReplay 1.1.1 for 1.17.1
ServerReplay 1.1.1 for 1.18.2
ServerReplay 1.1.1 for 1.19.4
ServerReplay 1.1.1 for 1.20.1
- This is the final version for 1.20.1
ServerReplay 1.1.1 for 1.20.2
- This is the final version for 1.20.2
ServerReplay 1.1.1 for 1.20.4
- This is the final version for 1.20.4
ServerReplay 1.1.1 for 1.20.6
- Removed voicechat support (voicechat is yet to support replay)
ServerReplay 1.1.1 for 1.21
- Removed voicechat support (voicechat is yet to support replay)
ServerReplay 1.1.0 for 1.17.1
- You can now view your replays completely server-side!
- Added the `/replay view` command
- When your replays finish saving a message will appear, if clicked you can view the replay
- Added new config "chunk_recorder_load_radius" which allows you to specify a maximum radius that will be initially loaded
- Fixes an error when VoiceChat was enabled
- Fixes compatability with ViaVersion
- Fixes compatability with VeryManyPlayers
ServerReplay 1.1.0 for 1.18.2
- You can now view your replays completely server-side!
- Added the `/replay view` command
- When your replays finish saving a message will appear, if clicked you can view the replay
- Added new config "chunk_recorder_load_radius" which allows you to specify a maximum radius that will be initially loaded
- Fixes an error when VoiceChat was enabled
- Fixes compatability with ViaVersion
- Fixes compatability with VeryManyPlayers
ServerReplay 1.1.0 for 1.19.4
- You can now view your replays completely server-side!
- Added the `/replay view` command
- When your replays finish saving a message will appear, if clicked you can view the replay
- Added new config "chunk_recorder_load_radius" which allows you to specify a maximum radius that will be initially loaded
- Fixes an error when VoiceChat was enabled
- Fixes compatability with ViaVersion
- Fixes compatability with VeryManyPlayers
ServerReplay 1.1.0 for 1.20.1
- You can now view your replays completely server-side!
- Added the `/replay view` command
- When your replays finish saving a message will appear, if clicked you can view the replay
- Added new config "chunk_recorder_load_radius" which allows you to specify a maximum radius that will be initially loaded
- Fixes an error when VoiceChat was enabled
- Fixes compatability with ViaVersion
- Fixes compatability with VeryManyPlayers
ServerReplay 1.1.0 for 1.20.2
- You can now view your replays completely server-side!
- Added the `/replay view` command
- When your replays finish saving a message will appear, if clicked you can view the replay
- Added new config "chunk_recorder_load_radius" which allows you to specify a maximum radius that will be initially loaded
- Fixes an error when VoiceChat was enabled
- Fixes compatability with ViaVersion
- Fixes compatability with VeryManyPlayers
ServerReplay 1.1.0 for 1.20.4
- You can now view your replays completely server-side!
- Added the `/replay view` command
- When your replays finish saving a message will appear, if clicked you can view the replay
- Added new config "chunk_recorder_load_radius" which allows you to specify a maximum radius that will be initially loaded
- Fixes an error when VoiceChat was enabled
- Fixes compatability with ViaVersion
- Fixes compatability with VeryManyPlayers
ServerReplay 1.0.8 for 1.17.1
ServerReplay 1.0.8 for 1.18.2
ServerReplay 1.0.8 for 1.19.4
ServerReplay 1.0.8 for 1.20.1
ServerReplay 1.0.8 for 1.20.2
ServerReplay 1.0.8 for 1.20.4
ServerReplay 1.0.7 for 1.17.1
- Added new player predicate `"type": "is_fake"` to check whether a player is not a real player (e.g. carpet bot)
- Added `max_duration` that lets you specify a maximum duration for your replay
- Added `restart_after_max_duration` that lets you automatically restart the replay if the max duration limit is met
- Fixed a bug that would cause gradual server lag if `max_file_size` was set
ServerReplay 1.0.7 for 1.18.2
- Added new player predicate `"type": "is_fake"` to check whether a player is not a real player (e.g. carpet bot)
- Added `max_duration` that lets you specify a maximum duration for your replay
- Added `restart_after_max_duration` that lets you automatically restart the replay if the max duration limit is met
- Fixed a bug that would cause gradual server lag if `max_file_size` was set
ServerReplay 1.0.7 for 1.20.1
- Added new player predicate `"type": "is_fake"` to check whether a player is not a real player (e.g. carpet bot)
- Added `max_duration` that lets you specify a maximum duration for your replay
- Added `restart_after_max_duration` that lets you automatically restart the replay if the max duration limit is met
- Fixed a bug that would cause gradual server lag if `max_file_size` was set
ServerReplay 1.0.7 for 1.19.4
- Added new player predicate `"type": "is_fake"` to check whether a player is not a real player (e.g. carpet bot)
- Added `max_duration` that lets you specify a maximum duration for your replay
- Added `restart_after_max_duration` that lets you automatically restart the replay if the max duration limit is met
- Fixed a bug that would cause gradual server lag if `max_file_size` was set
ServerReplay 1.0.7 for 1.20.2
- Added new player predicate `"type": "is_fake"` to check whether a player is not a real player (e.g. carpet bot)
- Added `max_duration` that lets you specify a maximum duration for your replay
- Added `restart_after_max_duration` that lets you automatically restart the replay if the max duration limit is met
- Fixed a bug that would cause gradual server lag if `max_file_size` was set
ServerReplay 1.0.7 for 1.20.4
- Added new player predicate `"type": "is_fake"` to check whether a player is not a real player (e.g. carpet bot)
- Added `max_duration` that lets you specify a maximum duration for your replay
- Added `restart_after_max_duration` that lets you automatically restart the replay if the max duration limit is met
- Fixed a bug that would cause gradual server lag if `max_file_size` was set
ServerReplay 1.0.6 for 1.20.4
- Added `notify_admin_of_status` - notifies admins when replays start, stop, save, and any errors while saving
- Fixed a bug that would cause the server to be unresponsive if you stopped a large recording and restarted it before it finished saving
- Fixed a bug that would not allow players to join if they met the conditions for recording
- Added the currently saving replays to the `/replay status` response
ServerReplay 1.0.6 for 1.20.2
- Added `notify_admin_of_status` - notifies admins when replays start, stop, save, and any errors while saving
- Fixed a bug that would cause the server to be unresponsive if you stopped a large recording and restarted it before it finished saving
- Fixed a bug that would not allow players to join if they met the conditions for recording
- Added the currently saving replays to the `/replay status` response
ServerReplay 1.0.6 for 1.20.1
- Added `notify_admin_of_status` - notifies admins when replays start, stop, save, and any errors while saving
- Fixed a bug that would cause the server to be unresponsive if you stopped a large recording and restarted it before it finished saving
- Added the currently saving replays to the `/replay status` response
- Fixed a bug that would not allow players to join if they met the conditions for recording
ServerReplay 1.0.6 for 1.19.4
- Added `notify_admin_of_status` - notifies admins when replays start, stop, save, and any errors while saving
- Fixed a bug that would cause the server to be unresponsive if you stopped a large recording and restarted it before it finished saving
- Added the currently saving replays to the `/replay status` response
- Fixed a bug that would not allow players to join if they met the conditions for recording
ServerReplay 1.0.6 for 1.18.2
- Added `notify_admin_of_status` - notifies admins when replays start, stop, save, and any errors while saving
- Fixed a bug that would cause the server to be unresponsive if you stopped a large recording and restarted it before it finished saving
- Added the currently saving replays to the `/replay status` response
- Fixed a bug that would not allow players to join if they met the conditions for recording
ServerReplay 1.0.6 for 1.17.1
- Added `notify_admin_of_status` - notifies admins when replays start, stop, save, and any errors while saving
- Fixed a bug that would cause the server to be unresponsive if you stopped a large recording and restarted it before it finished saving
- Fixed a bug that would not allow players to join if they met the conditions for recording
- Added the currently saving replays to the `/replay status` response
ServerReplay 1.0.5 for 1.18.2
- Fixed conflict with GeyserMC (some issues may persist, but it will not crash on launch now)
- Fixed an issue where players were not being added to the metadata correctly
- Added extra configurations:
- `fixed_daylight_cycle` - allows you to set a fixed time of day for the recording
- `ignore_chat_packets` - ignore all chat packets
- `ignore_scoreboard_packets` - ignore all scoreboard packets
ServerReplay 1.0.5 for 1.17.1
- Fixed conflict with GeyserMC (some issues may persist, but it will not crash on launch now)
- Fixed an issue where players were not being added to the metadata correctly
- Added extra configurations:
- `fixed_daylight_cycle` - allows you to set a fixed time of day for the recording
- `ignore_chat_packets` - ignore all chat packets
- `ignore_scoreboard_packets` - ignore all scoreboard packets
ServerReplay 1.0.5 for 1.19.4
- Fixed conflict with GeyserMC (some issues may persist, but it will not crash on launch now)
- Fixed an issue where players were not being added to the metadata correctly
- Added extra configurations:
- `fixed_daylight_cycle` - allows you to set a fixed time of day for the recording
- `ignore_chat_packets` - ignore all chat packets
- `ignore_scoreboard_packets` - ignore all scoreboard packets
ServerReplay 1.0.5 for 1.20.1
- Fixed conflict with GeyserMC (some issues may persist, but it will not crash on launch now)
- Fixed an issue where players were not being added to the metadata correctly
- Added extra configurations:
- `fixed_daylight_cycle` - allows you to set a fixed time of day for the recording
- `ignore_chat_packets` - ignore all chat packets
- `ignore_scoreboard_packets` - ignore all scoreboard packets
ServerReplay 1.0.5 for 1.20.2
- Fixed conflict with GeyserMC (some issues may persist, but it will not crash on launch now)
- Added extra configurations:
- `fixed_daylight_cycle` - allows you to set a fixed time of day for the recording
- `ignore_chat_packets` - ignore all chat packets
- `ignore_scoreboard_packets` - ignore all scoreboard packets
ServerReplay 1.0.5 for 1.20.4
- Fixed conflict with GeyserMC (some issues may persist, but it will not crash on launch now)
- Added extra configurations:
- `fixed_daylight_cycle` - allows you to set a fixed time of day for the recording
- `ignore_chat_packets` - ignore all chat packets
- `ignore_scoreboard_packets` - ignore all scoreboard packets
ServerReplay 1.0.3 for 1.17.1
ServerReplay 1.0.3 for 1.18.2
ServerReplay 1.0.3 for 1.19.4
ServerReplay 1.0.3 for 1.20.1
ServerReplay 1.0.3 for 1.20.2
ServerReplay 1.0.3 for 1.20.4
收录