senseiwells / ServerReplay

A completely server-side implementation of the replay mod, this mod allows you to record multiple players that are online on a server at a time, as well as any given chunk area. This will produce replay files which can then be used with the replay mod for rendering.
MIT License
87 stars 9 forks source link

Feature Request: Record Multiple Players #27

Closed Timongcraft closed 5 months ago

Timongcraft commented 5 months ago

It would be great if you could record multiple players in a single replay file or if you could merge player replays to one file using a command.

senseiwells commented 5 months ago

You can already record multiple players in a single replay file by using chunk replays.

Merging player replays is simply not possible. The largest problem is the issue of players being in different dimensions. The client cannot be sent data for multiple dimensions all at once, it's simply not possible. Apart from that there are still loads of smaller issues, like how to deal with conflicts. It's possible that different information is sent to different players, e.g. bossbars, scoreboards, chat messages. How do you decided which ones to display?

Timongcraft commented 5 months ago

You can already record multiple players in a single replay file by using chunk replays.

Merging player replays is simply not possible. The largest problem is the issue of players being in different dimensions. The client cannot be sent data for multiple dimensions all at once, it's simply not possible. Apart from that there are still loads of smaller issues, like how to deal with conflicts. It's possible that different information is sent to different players, e.g. bossbars, scoreboards, chat messages. How do you decided which ones to display?

Yea but the chunk thing also has the downside I can't jsut tell it to record the whole overworld and it will record the chunks that are loaded by players it will just try to load everything and crash the server.

senseiwells commented 5 months ago

Yeah, that's intended, the idea is to initially load all the chunks and then never touch chunkloading again - this drastically helps with file size as you're not constantly loading and unloading chunks.

I could add a config that makes it so the chunks are not loaded when the recording starts but instead only when they are actually loaded. You can make a separate feature request for that if you wish.