Commit Graph

149 Commits

Author SHA1 Message Date
Gene Walters e6650f1ff4 LYN-7655 Fix Race Condition When Launching at Editor-Server (#4946)
* Fix a race condition where the editor tries to connect to the editor-server before the editor-server is ready (originally discovered on lower-spec Jenkin machines).  Change editor-server so that editor waits to receive a EditorServerReadyForInit before trying to send all the level data.

* The editor might not be the connector so make sure to connect to the actual MP simulation even if the editor isn't the editor-server connect (if editorsv_launch=true then the editor-server will connect to the editor)

* Adding warnings if MPEditorConnection cannot find certain cvars

Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-10-27 10:38:09 -07:00
kberg-amzn 4cd6ce1e96 Fixing broken include path
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-10-21 15:38:43 -07:00
kberg-amzn 79b41686c4 Merging latest dev
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-10-21 10:11:37 -07:00
Sergey Pereslavtsev 8e520c8db8 PR feedback
Signed-off-by: Sergey Pereslavtsev <pereslav@amazon.com>
2021-10-20 12:36:35 +01:00
kberg-amzn a6e7a81b79 More fixes to migration, plus some quality of life fixes to TimeoutQueue to allow lambda based handlers and a quick fix to OctreeSystemComponent to more gracefully handle enumerate calls that lie outside the vis system bounds
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-10-14 18:22:41 -07:00
pereslav 0c2c042fde Fixed crash in ConstEntityHandle. Added hierarchical correction data serialization
Signed-off-by: pereslav <pereslav@amazon.com>
2021-10-08 21:19:22 +01:00
kberg-amzn 18340f2b1b Changes to get client migration partially functional
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-10-06 18:57:45 -07:00
pereslav a58325e691 Enabled multi-entities player prefabs. Added updating replication set for hierarchy children. PR feedback addressing
Signed-off-by: pereslav <pereslav@amazon.com>
2021-10-07 00:38:07 +01:00
pereslav 801e54c599 Merge branch 'development' of https://github.com/o3de/o3de into NetHierarchyInput 2021-10-05 15:53:39 +01:00
kberg-amzn 865ed60007 merging latest dev
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-10-01 09:53:16 -07:00
kberg-amzn 8d993494f6 Entity migrations now totally functional again, plus some fixes to network rigid bodies to make them work properly as they migrate around
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-09-30 22:53:51 -07:00
pereslav ef3552df69 First pass for network hierarchy input processing
Signed-off-by: pereslav <pereslav@amazon.com>
2021-10-01 00:07:23 +01:00
kberg-amzn 02bc89cd92 Fixes to sending entity updates and entity rpcs within an environment set up for cross host entity migration
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-09-28 19:25:04 -07:00
kberg-amzn 0a829f9661 Merging latest development
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-09-27 15:50:22 -07:00
kberg-amzn 95d7cc7212 Adding the NetworkConnectionComponent to hold user nonce and migration values for a backup host in case the current host crashes or abnormally disconnects
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-09-27 12:14:41 -07:00
kberg-amzn 2c19abf7ee Merge pull request #4287 from aws-lumberyard-dev/LYN6657_MultiplayerScriptImprovementsForDemo
LYN6657 Misc Improvements for Multiplayer Scripting
2021-09-24 14:11:14 -07:00
puvvadar 5114c2e0f2 Move AutoComponent jinjas to Include and update cmake accordingly
Signed-off-by: puvvadar <puvvadar@amazon.com>
2021-09-24 09:49:46 -07:00
kberg-amzn f837f0494b many bug fixes
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-09-23 18:25:46 -07:00
Gene Walters e91353143f Merge branch 'upstream/development' into LYN6657_MultiplayerScriptImprovementsForDemo 2021-09-23 16:35:56 -07:00
puvvadar f142e30da6 Fix AutoGen of RPCs with no params
Signed-off-by: puvvadar <puvvadar@amazon.com>
2021-09-23 12:56:46 -07:00
Gene Walters cd85df35b6 Make sure Multiplayer AutoComponents dont generate property OnChange script events if GenerateEventBindings is disabled
Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-09-23 12:45:44 -07:00
Gene Walters c2c18f094b Exposing NetworkCharacterComponent::TryMoveWithVelocity to script. Updating Multiplayer AutoComponent baseclass behavior context to Reflect itself instead of its derived (human made) component. This is so the derived class can also create behaviorcontext classes of its own if needed. Misc copyright header edit.
Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-09-23 09:46:55 -07:00
kberg-amzn e8aeb9b101 Format fixing
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-09-21 19:37:54 -07:00
kberg-amzn d28bcbe027 Reverts changes to component application and adds further client migration handling hookup
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-09-21 19:33:59 -07:00
AMZN-Olex f85a7dfeeb Merged dev
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
2021-09-21 12:57:57 -04:00
kberg-amzn 52004f6cb5 Merge pull request #4120 from aws-lumberyard-dev/LYN6527_MoveMPSampleComponents_into_MultiplayerGem
Move Multiplayer Sample Components into Multiplayer Gem
2021-09-20 13:50:00 -07:00
AMZN-Olex bcc77d75db Merge branch 'development' of https://github.com/o3de/o3de into Network/olex/hierarchy_component_phase1_pr 2021-09-20 09:58:43 -04:00
puvvadar bc8ccde318 Merge branch 'development' of https://github.com/o3de/o3de into mp_blending_cleanup 2021-09-17 15:03:43 -07:00
Gene Walters ca5e26e2f9 Merge branch 'upstream/development' into LYN6527_MoveMPSampleComponents_into_MultiplayerGem 2021-09-17 14:30:57 -07:00
Gene Walters 73b04d7e34 Network Input Exposed to Script (#3990)
* NetworkInput now has new attribute called ExposeToScript. NetworkInput with this attribute set to True will be exposed to behavior context. Also added a CreateFromValues for the NetworkInput where scripters can create an instance of the MyComponentNetworkInput class which will eventually be passed around CreateInput and ProcessInput events.

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Adding Create Input event handler. SC can now receive the event to create input, and send it over the network

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Auto-component controller will now generate CreateInput/ProcessInput methods if they have input exposed to script, not ready for use yet, just stubbed in

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Reducing code replication by putting common network input variables into AutoComponent_Common.jinja

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Fix minor comment typo in the CreateInput method

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Small fix. Changing ebus call from MyComponentNameCreateInput to just CreateInput. It's part of the MyComponentRequestBus so adding the component name before CreateInput is noisy

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Cleaning with jinja a bit using macro calls to iterate over scriptable netinputs

Signed-off-by: Gene Walters <genewalt@amazon.com>

* ProcessInput will now be triggered in script

Signed-off-by: Gene Walters <genewalt@amazon.com>

* ProcessInput event is sent to script. Script can now create and process input. Tested locally with a simple script.

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Created a seperate CreateInputFromScript and ProcessInputFromScript. Developers no longer need to remember to call the BaseClass::CreateInput and ProcessInput since CreateInputFromScript will automatically be called beforehand.

Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-09-14 12:01:32 -07:00
Gene Walters 3973e1d3e5 Moved NetworkCharacterComponent out of MPSample and into MP gem
Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-09-14 09:14:55 -07:00
Gene Walters 28ca59ae61 Moving NetworkHitVolumesComponent and NetworkRigidBodyComponent to the MultiplayerGem
Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-09-13 15:00:42 -07:00
AMZN-Olex aa6c038880 Hierarchical components, phase 1, unittests
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com>
2021-09-13 16:51:50 -04:00
puvvadar c5d8c194df Cleaning up NetworkTime and reworking how we approach network interpolation
Signed-off-by: puvvadar <puvvadar@amazon.com>
2021-09-02 14:24:46 -07:00
Gene Walters ffd0bbc165 Merge branch 'upstream/development' into GitIssue3155_MultiplayerComponentsUsingNetInputRequirePlayerInputComponent 2021-08-31 19:52:58 -07:00
puvvadar 91eb7476eb Remove superfluous AutoPacket params
Signed-off-by: puvvadar <puvvadar@amazon.com>
2021-08-30 14:47:35 -07:00
kberg-amzn b1faad8406 Merge remote-tracking branch 'upstream' into ContainerReplicationAndStats 2021-08-30 12:06:45 -07:00
kberg-amzn 99d71cfbc5 Added delta replication and stat tracking to vector and array network property container types, + some minor cleanup I ran into when looking for the best hook points for this functionality
Signed-off-by: kberg-amzn <karlberg@amazon.com>
2021-08-30 12:05:53 -07:00
puvvadar decf15df21 Move packet dispatch to return an enum that includes a pending option
Signed-off-by: puvvadar <puvvadar@amazon.com>
2021-08-24 16:19:38 -07:00
Esteban Papp b406129fd2 Another warning fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-20 11:41:46 -07:00
puvvadar 80584a7130 Merge pull request #3310 from aws-lumberyard-dev/mp_serverrpc_bugfix
Fix type error with Server to Authority RPC generation
2021-08-20 09:52:51 -07:00
puvvadar 4e618db62d Merge pull request #3082 from aws-lumberyard-dev/MultiplayerForwardDeclControllerErrorFix
Fix Multiplayer AutoComponent Delete Incomplete Type Compile Error
2021-08-20 09:52:11 -07:00
puvvadar 41ec5c6ddd Fix one more jinja issue with IsProtected in RPCs
Signed-off-by: puvvadar <puvvadar@amazon.com>
2021-08-19 17:08:01 -07:00
puvvadar 99317a4ad1 Update naming to match other functions in jinja header
Signed-off-by: puvvadar <puvvadar@amazon.com>
2021-08-19 16:39:11 -07:00
puvvadar cbf612d4e7 Update naming to match other functions in jinja
Signed-off-by: puvvadar <puvvadar@amazon.com>
2021-08-19 16:36:41 -07:00
puvvadar ec351c9fce Correct jinja logic slightly
Signed-off-by: puvvadar <puvvadar@amazon.com>
2021-08-19 16:27:04 -07:00
puvvadar bef2e1400c Add check for Client invocation in jinja
Signed-off-by: puvvadar <puvvadar@amazon.com>
2021-08-19 13:39:08 -07:00
puvvadar 32d01f6abd Further fixes to Server to Authority RPC generation
Signed-off-by: puvvadar <puvvadar@amazon.com>
2021-08-18 14:31:05 -07:00
puvvadar 716275b8da Fix type error with Server to Authority RPC generation
Signed-off-by: puvvadar <puvvadar@amazon.com>
2021-08-18 11:41:09 -07:00
Gene Walters 4374e6177e Updating service requirement to use a generic 'MultiplayerInputDrive', that way if other developers want to make a non-local predictition player controller that calls create/process on the server they can do so as long as there custom component provides this 'MultiplayerInputDriver' service
Signed-off-by: Gene Walters <genewalt@amazon.com>
2021-08-16 20:46:34 -07:00