Is it possible to "join" the playback of DemoNetDriver using LocalFileStreamer as in multiplayer?

<br>(This is a translation of a [Japanese [Content removed] by katai jun.)

This question has been created in relation to the following thread:

[Unable to continue Multiplayer session (with VOIP) during [Content removed]

Thank you for your continued support.

Like the above thread, I am trying to achieve the recording of a multiplayer scene on a ListenServer using ReplaySystem, and let everyone in the multiplayer environment view the playback being played by the host.

By “the playback being played by the host”, I assume that the trainer, who is the host of the ListenServer, manages the playback, and that the trainee, who is a client, can only control the camera.

The above thread mentions implementation with instant replay, but I need to save the record for playing back later. So I think LocalFileStreamer is preferable to MemoryStreamer.

Currently, when starting ReplaySystem on the ListenServer, DemoNetDriver is launched, recording the multiplayer scene. Also, each player can load this file and playback it on their screens individually.

As far as looking into the documentation and source code, it seems that DemoNetDriver simulates multiplayer and achieves playback using replication by treating the viewing players as clients of the multiplayer. However, is it possible for another application instance to join the host of DemoNetDriver, as if joining a ListenServer?

Or, is it possible for a viewing player connected to DemoNetDriver to work as a proxy, so that the player becomes the host of the ListenServer, performing replication to another application instance through the normal flow? (Looking into the source code, I felt that the player can become the server because the client flag is set when connected to DemoNetDriver.)

Thank you.

Hi,

This kind of set up is not supported by the replay system, so implementing it would require custom work and engine modifications. This related case has some more info you may find helpful:

[Content removed]

As for using the LocalFileStreamer for an instant replay, you can check out these related threads for more info:

[Content removed]

[Content removed]

Thanks,

Alex

(This is a translation of a Japanese post by katai jun.)

Thank you very much for your reply.

I understand it’s difficult to achieve what we were aiming for.

> Another option could be to have all clients recording their own in-memory replays, with the server then sending RPCs or some other replicated data in order to tell clients when to start/stop playback of these instant/ghost replays.

As the current project should be developed in a very limited environment, I’ll be using simple UDP, instead of the multiplayer manner, to control a group of independent application instances, based on the above suggestion.

I appreciate your hint to address our difficult demand.

(Please close the thread.)