Adapting the ConcertSyncServer and the UnrealMultiUserServer configs and code to work with QuicMessaging as an alternative to UdpMessaging.
#rb jason.walter, manuel.lang
[CL 26176714 by valentin ritzi in ue5-main branch]
Non-code changes:
- Add taskbar icons for UnrealMultiUserServer (Windows, Mac, Linux)
- Update taskbar icons for UnrealMultiUserSlateServer (Windows, Mac, Linux)
- Adjust icon on the top-left corner of window UnrealMultiUserSlateServer
- Adjust the "Create Session" button icon (shown in editor)
- Adjust the "Close server" button icon (shown in editor)
Code change:
- Disable the "Create Session" button in UnrealMultiUserSlateServer
- Make the "Launch Server" button (shown in editor) launch the slate server by default instead of the console one
#jira UE-166219
#rb Jason.Walter
#lockdown Alejandro.Arango
#preflight 633eb5a8f171e4e68b6f2850
[CL 22388876 by dominik peacock in ue5-main branch]
Main implementation by Dominik with build and switchboard support added by me.
#jira UE-147235
#rb Dominik.Peacock
#preflight 6284fa081f474f0660ecb74e
[CL 20264867 by jason walter in ue5-main branch]
#rb none
#jira UE-135725
#ROBOMERGE-AUTHOR: jason.walter
#ROBOMERGE-SOURCE: CL 18284108 in //UE5/Release-5.0/... via CL 18284160
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18284167 by jason walter in ue5-release-engine-test branch]
On Mac, added a warning log when UnrealMultiUserServer terminates because user closed it with CMD-Q (or from menu) or by logging out, shutting down or rebooting the computer.
On Mac, added a reason (logout, sys. restart, sys shutdown, user quitting) to the engine quit request when UnrealMultiUserServer is asked to quit.
#jira UE-106186 - Expected warnings are not shown in logs when UnrealMultiUserServer window is closed
#rb Jason.Walter, Michael.Trepka
[CL 15145104 by Patrick Laflamme in ue5-main branch]
- Fixed verbosity of Multi-User/DisasterRecover endpoint discovery by adding a new log category "LogConcertDebug" defaulting to "Warning" except for the Multi-User server which default to "Log" level. The category verbosity can be adjusted from the command line as: -LogCmds="LogConcertDebug Verbose" or from a console command as: log LogConcertDebug Verbose.
- Prevented Disaster Recovery client from discovering (and logging) all recovery services running.
#rb Francis.Hurteau
[CL 10467794 by Patrick Laflamme in Dev-VirtualProduction branch]
- Fixed a disaster recovery bug preventing the Editor from recovering a session because another instance of the Editor on another project already locked all the sessions.
Problem:
On windows, the CrashReportClientEditor (hosting disaster recovery service) is started in the static initialization, before the engine is initialized, not allowing lot of command line configuration. The Editor project browser would start a first CrashReportClientEditor instance, which would load and lock all the available sessions (unless another CrashReportClientEditor was running). When the user selected a project, a new Editor and CrashReportClientEditor were launched before the first one was closed. The second instance could not access the existing sessions because they were still locked by the first instance.
Solution:
Because CrashReportClientEditor is launch before the engine is initialized, we don't have any context at the launch time. The best the was to delay the moment when the server reloads the existing sessions and enable each clients to store their sessions in different folders (repositories) mounted on demand by the server.
Implementation details:
- Implemented new RPC API to allow the client to list/create/load/drop specific repositories containing its own sessions on demand.
- Updated the Concert server to manage multiples directories where session can be stored/found (session repositories) rather than just one.
- Added a settings to allow the user to specify where the disaster recovery sessions should be stored on the disk. Now default in the current project folder.
- Added a settings to prevent the Concert server from scanning the sessions in the default location.
- Updated disaster recovery to start without any session repository and let the client decide if a new one needs to be created or an existing one be mounted to restore a previous session.
- Changed the code to let disaster recovery client manage its session history rather than letting the server rotate the old session. Defaulted the history to 0, user has no flow to visualize and pick from the history.
#rb Jamie.Dale
#ROBOMERGE-SOURCE: CL 10260823 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v591-10236483)
[CL 10260830 by patrick laflamme in Main branch]
#jira UE-72745
#rb Jamie.Dale
#ROBOMERGE-SOURCE: CL 7248229 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v367-6836689)
[CL 7248230 by francis hurteau in Main branch]
#jira UE-72745
#rb none
[CODEREVIEW] Jamie.Dale
#ROBOMERGE-SOURCE: CL 7233710 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v367-6836689)
[CL 7233713 by francis hurteau in Main branch]