Commit Graph

127 Commits

Author SHA1 Message Date
jason walter
c71d87ae6d Fix circular include for Horde issue 309764
#jira none
#rb none
#preflight

[CL 25623983 by jason walter in ue5-main branch]
2023-05-25 13:04:38 -04:00
jason walter
bfe09fb7c7 Add a multi-user custom event sequencing. The package event and transaction events exists independently from each other but transaction events can occur between packages events. We need to make sure that these are sequenced properly otherwise the transaction could get applied incorrectly.
We also fixed ReplayTransaction when loading an asset; replay transactions only need to occur if the transaction was applied after the package event.

#jira UE-177465
#rb dominik.peacock
#preflight 646f871250786bb5ba85b1ef

[CL 25623286 by jason walter in ue5-main branch]
2023-05-25 12:32:57 -04:00
valentin ritzi
40064f414d [Concert] Adapt ConcertServer to have a ParticipantCanJoinSession delegate for MultiUser Apps
Adapting the ConcertServer to have a new delegate ParticipantCanJoinSession that will be executed (if bound) when a participant attempts to join a session. The participants ConcertEndpointId, ConcertClientInfo and the SessionId are passed along to a bound delegate function. This change supports custom MultiUser Apps.

#jira UCS-7344
#rb jason.walter, manuel.lang
#preflight 646f16bd6c2a2532b12cda31

[CL 25617184 by valentin ritzi in ue5-main branch]
2023-05-25 04:12:45 -04:00
jamie dale
346fab5bfc Ensure that hardcoded names and numeric suffixes can still be rewritten
This can be needed for object path remapping, where the name may change from hardcoded to not, or the numeric suffix of the name may change

#preflight 63ebbf3a375f05caaf457bdd
#rb Rex.Hill
#rnx

[CL 24251506 by jamie dale in ue5-main branch]
2023-02-16 01:46:50 -05:00
Joe Kirchoff
7de7ec1472 Run FixIncludePaths on Concert
#rnx
#rb trivial
#preflight 63ebfa805c7bd278c1af3337

[CL 24221225 by Joe Kirchoff in ue5-main branch]
2023-02-14 16:39:03 -05:00
jamie dale
6f7437b6dd Updated FConcertSyncObjectRewriter to expose support for inline rewriting object paths
Note: The base archive doesn't actually rewrite any paths itself, but a derived archive can by overriding OnObjectSerialized

#preflight 63ea968f8e7e896ad2914e34
#rb Rex.Hill, Bart.Hawthorne
#rnx

[CL 24197511 by jamie dale in ue5-main branch]
2023-02-13 20:10:09 -05:00
eric knapik
bfa04ba727 #jira: UE-176294
Fix client and server module definition typo.

[FYI] Marc.Audy

[CL 24085601 by eric knapik in ue5-main branch]
2023-02-08 18:08:20 -05:00
jamie dale
a753b2bcfd Updated Concert archives to serialize all objects as FSoftObjectPath internally, to avoid needing to create FNames for full object paths
#preflight 63e2c565fe33a065946919d2
#rb Rex.Hill
#rnx

[CL 24066990 by jamie dale in ue5-main branch]
2023-02-08 00:25:20 -05:00
jamie dale
c277b13a9b Implement support for rewriting Concert transaction data against a different identifier table
This can be used to merge multiple transactions (using different identifier tables) together, either using a single combined identifier table (for portability), or using the in-process FName table (for non-portability, but less memory).

#preflight 63e0fb2ac2257e56f4e49cc9
#rb Rex.Hill, Bart.Hawthorne
#rnx

[CL 24043041 by jamie dale in ue5-main branch]
2023-02-06 20:01:20 -05:00
jason walter
415ffc67ea Add a pop-up to defer reload until the operation deems appropriate. This is to prevent VCam users getting disrupted in a session.
#jira UE-170975
#rb dominik.peacock
#preflight 63e13499cc75b13767ca88cd
#lockdown alejandro.arango

[CL 24042019 by jason walter in ue5-main branch]
2023-02-06 19:13:35 -05:00
steve robb
912a4cc695 Removed usage of TRemoveConst.
#rb none
#preflight 63d45e175354589b5c1a8a54

[CL 23897644 by steve robb in ue5-main branch]
2023-01-27 23:12:27 -05:00
jason walter
52308eb827 Split concert client code from concert server code to allow us to incorporate game tags in the editor client.
#rb dominik.peacock
#jira UE-168182
#preflight 63c6cf3c02024f93d8635de3

[CL 23739781 by jason walter in ue5-main branch]
2023-01-17 12:04:24 -05:00
jason walter
3ce5718d3f Disable Oodle compressor for Multi-user there are some cases that cause the compressor to fail.
#jira UE-172488
#rb none
#preflight trivial

[CL 23465247 by jason walter in ue5-main branch]
2022-12-09 12:35:07 -05:00
jason walter
18e6858dda Fix horde issue 243324
#jira none
#rb none
#preflight none

[CL 23446240 by jason walter in ue5-main branch]
2022-12-08 10:00:51 -05:00
jason walter
e873583e9f Add support for different compression types on database and event handling.
#jira UE-168180
#rb Zach.Brockway
#preflight 6390afd35c5308d18c553064

[CL 23431233 by jason walter in ue5-main branch]
2022-12-07 13:06:11 -05:00
aditya ravichandran
f8b7ee5555 Replace any instances of "Source Control" with "Revision Control" in text in the Editor
#rb JeanMichel.Dignard, Robb.Surridge
#preflight 637d180efa348e8480e8837e

[CL 23250808 by aditya ravichandran in ue5-main branch]
2022-11-23 11:57:50 -05:00
valentin ritzi
23fb380779 [Concert] Adapting ConcertTransport LocalEndpoint to remove RemoteEndpoints when transport node is forgotten
This change will adapt the ConcertLocalEndpoint in ConcertTransport to remove RemoteEndpoints after a unregister notification from the message bus has been received that a transport node was forgotten. This is needed as otherwise LocalEndpoints have to wait until the timeout removes RemoteEndpoints instead of removing them immediately after the transport node is unregistered.

Tested:
- Connected with UdpMessaging on localhost, joined Multi-User session and changed UdpMessaging settings on the client side
- Connected with QuicMessaging, joined Multi-User session and removed the static server endpoint on the client side

#jira UCS-5381
#jira UE-87245
#rb jason.walter stuart.hill manuel.lang
#preflight 637620f31c114bec05447242

[CL 23233668 by valentin ritzi in ue5-main branch]
2022-11-22 07:47:47 -05:00
henrik karlsson
b5164ac775 Fixes to make modules compile with IWYU. We've added to IWYU toolchain so it compiles "orphaned" headers which does not have a owning cpp file. This identified lots of headers that couldn't be compiled by themselves (or if they were to included first)
Change consist of only forward declaration and additional includes

#preflight 63789c1de30d438849c48188
#rb none

[CL 23218412 by henrik karlsson in ue5-main branch]
2022-11-21 03:22:23 -05:00
jason walter
cae777bf7e Add a combo box to set the Multi-user send / receive state. This only provides the UI mechanism. The low level implementation is still TBC.
#jira UE-168175
#rb zach.brockway
#preflight 636957e8843e6ac7947bc877

[CL 23016600 by jason walter in ue5-main branch]
2022-11-07 15:23:40 -05:00
Robb Surridge
610c467639 Update vendor links for built-in plugins to use secure protocol.
#jira UE-166823
#rb lauren.barnes
#preflight 6352b20b7261e565c476ec3b

[CL 22690089 by Robb Surridge in ue5-main branch]
2022-10-21 11:04:07 -04:00
valentin ritzi
1c72853cdb Adding startup delegates to ConcertServer for custom UnrealMultiUserServer apps
This change allows other plugins to be notified and provides them a TWeakPtr when a ConcertServer/ConcertSyncServer or a ConcertServerSession has started

#jira UCS-5080
#rb jason.walter, stuart.hill, manuel.lang
#preflight 6345748b3e2a5d14ad22e09f

[CL 22476310 by valentin ritzi in ue5-main branch]
2022-10-12 06:13:47 -04:00
dominik peacock
39ca01eed3 Final UX improvements for Multi-User.
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]
2022-10-06 20:11:57 -04:00
bryan sefcik
50d4fac9e0 Updated ../Engine/Plugins/... to inline gen.cpp files
Before:
3548 unity files
Total CPU Time: 47343.578125 s
Total time in Parallel executor: 494.60 seconds

After:
3445 unity files
Total CPU Time: 46044.671875 s
Total time in Parallel executor: 468.51 seconds

#jira
#preflight 63336159b20e73a098b7f24f

[CL 22218213 by bryan sefcik in ue5-main branch]
2022-09-28 01:06:15 -04:00
dominik peacock
441bb8eaba Fix session's last modified property not getting serialized when sent to clients
#jira UE-150430
#rb Jason.Walter
#preflight 63205288e93a80888c30d4fc

[CL 22003387 by dominik peacock in ue5-main branch]
2022-09-14 04:33:19 -04:00
bryan sefcik
7b9e5abbcc Pass 1 on plugins:
Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631b93c6967ffc68fb2c32df

[CL 21935609 by bryan sefcik in ue5-main branch]
2022-09-10 00:03:16 -04:00