Commit Graph

3948 Commits

Author SHA1 Message Date
vis2k
13c2a42a77 remove unused runtime SceneObjectSpawningTests 2021-08-07 19:31:29 +08:00
vis2k
99109076e4 syntax 2021-08-07 19:27:23 +08:00
vis2k
300e236715 syntax 2021-08-07 19:26:38 +08:00
vis2k
1fc008f1ef syntax 2021-08-07 19:24:43 +08:00
vis2k
02cc3de7b8 SnapshotInterpolationTests: casting not necessary anymore 2021-08-07 19:23:07 +08:00
vis2k
664f21ba45 RemoteTestBase: reuse ConnectHostClientBlockingAuthenticatedAndReady 2021-08-07 19:21:36 +08:00
vis2k
964188868d syntax 2021-08-07 19:20:31 +08:00
vis2k
8673471cf1 comment 2021-08-07 19:20:11 +08:00
vis2k
0fdb39fa1c CreateNetworkedAndSpawn without component helper function 2021-08-07 19:15:01 +08:00
vis2k
aff28a0c07 syntax 2021-08-07 19:12:09 +08:00
vis2k
e3f7b8ce74 Tests: rewrite #2629 fix test 2021-08-07 18:56:42 +08:00
vis2k
f12082d0a3 Tests: CreateNetworkedAndSpawn remove unnecesary .connetionToServer setup. it's not necessary anymore. 2021-08-07 18:50:31 +08:00
vis2k
b29a76d242 add assert just to be sure 2021-08-07 18:45:28 +08:00
vis2k
e52b9b24de fix comment 2021-08-07 18:44:52 +08:00
vis2k
4436fb85ad syntax 2021-08-07 15:18:04 +08:00
vis2k
e2a26cd438 syntax 2021-08-07 15:16:46 +08:00
vis2k
ed505b7b65 syntax 2021-08-07 15:16:11 +08:00
vis2k
95a7899b76 TODO 2021-08-07 15:13:22 +08:00
vis2k
90674529e0 syntax 2021-08-07 15:12:23 +08:00
vis2k
fd8023dafe remove redundant TargetRpc (manual) test 2021-08-07 15:11:24 +08:00
vis2k
39ebfc6126 remove redundant RPC (manual) test 2021-08-07 14:04:21 +08:00
vis2k
b71e2f373a syntax 2021-08-07 13:59:35 +08:00
vis2k
98eba5c9c1 syntax 2021-08-07 13:54:18 +08:00
vis2k
f74fb388b4 syntax 2021-08-07 13:45:42 +08:00
vis2k
3350760edb Multiplex Test: reuse CreateGameObject with component 2021-08-07 13:44:52 +08:00
vis2k
70f117a950 AOI Test: reuse CreateGameObject with component 2021-08-07 13:40:46 +08:00
vis2k
dccf1a95f1 AOI Test: reuse CreateGameObject with component 2021-08-07 13:39:43 +08:00
vis2k
5dad5db819 Tests: CreateGameObject with Component helper 2021-08-07 13:39:32 +08:00
vis2k
0888776f06 AOI Test: use CreateGameObject for automated tracking & destroying 2021-08-07 13:37:47 +08:00
vis2k
5c8bd25b7e namespaces 2021-08-07 13:30:11 +08:00
vis2k
46d7e2d6a3 Tests: remove generators 2021-08-07 13:28:18 +08:00
vis2k
4facadfc24 syntax 2021-08-07 13:24:17 +08:00
vis2k
b67156aafa Test: GetStableHashCode 2021-08-07 13:22:57 +08:00
vis2k
fbd3342a76 syntax 2021-08-07 13:19:43 +08:00
vis2k
af94cb902c ignore test 2021-08-07 13:14:34 +08:00
vis2k
35b024197a syntax 2021-08-07 13:12:21 +08:00
vis2k
79fc5f528e comment 2021-08-07 13:11:54 +08:00
vis2k
ac58ca4fd5 syntax 2021-08-07 13:11:27 +08:00
vis2k
8aeeb4daa2 syntax 2021-08-07 13:10:54 +08:00
vis2k
48b430c0ae simplify test 2021-08-07 13:09:54 +08:00
vis2k
80dbbc9697 simplify tests 2021-08-07 13:07:39 +08:00
vis2k
13d9f3ae51 syntax 2021-08-07 13:05:49 +08:00
vis2k
765de95607 cleanup 2021-08-07 13:01:42 +08:00
vis2k
a4be521a87 syntax 2021-08-07 13:00:35 +08:00
vis2k
c47004bdc5 syntax 2021-08-07 13:00:00 +08:00
vis2k
3c5560d0ac remove unused 2021-08-07 12:59:09 +08:00
vis2k
1b6ab9d7c0 syntax 2021-08-07 12:57:52 +08:00
vis2k
a34b974580 syntax 2021-08-07 12:55:49 +08:00
vis2k
3bb95aa528 remove unnecessary tests 2021-08-07 12:55:05 +08:00
MrGadget
7312d20a67
Simplify NetworkManager.isNetworkActive (#2843)
* fix: Obsolete NetworkManager.isNetworkActive
Use NetworkServer.active and/or NetworkClient.active instead.
Fixes #2842

* Cleaned up after conflicts

* Moved invocation of OnDisconnectedEvent handler to before setting of connectState

* Now without obsolete

* Commented Debug lines

* Uncommented another debug line

* Removed conflicted code

* removed debug line

* fixed debug msg

* reverted changes to debug lines

* moved change to separate PR
2021-08-07 12:09:04 +08:00
MrGadget
95de1a3aae
fix: Raise OnDisconnectedEvent before changing ConnectState (#2870) 2021-08-07 12:08:28 +08:00
MrGadget1024
8c6daf318f commented noisy debug 2021-08-06 11:23:51 -04:00
MrGadget1024
a662a52430 commented noisy debug 2021-08-06 11:21:42 -04:00
MrGadget1024
70ddb2f41d commented noisy debugs 2021-08-06 11:14:00 -04:00
MrGadget1024
9a1eb763b5 Added base method call to NetworkManagerOnServerDisconnect test 2021-08-06 11:05:00 -04:00
vis2k
e9791dff13 breaking: perf: SnapshotInterpolation.Compute: removed final boxing allocation. Snapshot.Interpolate is now a Func<T>. 2021-08-03 12:00:51 +08:00
vis2k
a7c0c29025 SnapshotInterpolationTests: use actual type instead of interface now 2021-08-03 11:50:18 +08:00
vis2k
2c70e71555 SnapshotInterpolation.Compute now returns <T> instead of Snapshot for ease of use 2021-08-03 11:11:38 +08:00
vis2k
23a663bdae perf: SnapshotInterpolation.GetFirstSecondAndDelta: return <T> instead of Snapshot to avoid boxing 2021-08-03 11:05:17 +08:00
vis2k
ee78043725 whitespace 2021-08-03 11:05:15 +08:00
vis2k
bb8245c944 rename 2021-08-01 19:54:23 +08:00
ninjakickja
053ab364a9
Fix: ArgumentExceptionError when adding snapshots to buffer (#2862)
* Fix - From !isLocalPlayer to !hasAuthority

Changed !isLocalPlayer to !hasAuthority because object might not be player object.

* Update Assets/Mirror/Components/NetworkTransform2k/NetworkTransformBase.cs

* Fix ArgumentExceptionError when adding snapshot to buffer - SnapshotInterpolation.cs

Occassionally duplicate messages may be received with the same remoteTimestamp. Adding an already existing key to buffer (Sorted List) will throw an ArgumentExceptionError and disconnect the client from the server.
Fixed by adding an if check to add snapshot only if remoteTimestamp key does not exist in the buffer.

* Test for ArgExceptionError - Adding snapshot to buffer with same key

* Update SnapshotInterpolation.cs

* Update SnapshotInterpolationTests.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-08-01 19:53:10 +08:00
MrGadget
03cd2e286f
Improved NetworkIdentity.Reset test (#2863) 2021-08-01 15:22:20 +08:00
vis2k
b495eaa965 syntax 2021-08-01 14:48:05 +08:00
vis2k
0d2733c564 fix: #2797 Clear hasAuthority when Destroying and call OnStopAuthority 2021-08-01 14:45:54 +08:00
vis2k
88112e7778 NetworkServerTest: use CreateNetworkedAndSpawnPlayer 2021-08-01 14:42:59 +08:00
vis2k
a55c75b945 MirrorTest: CreateNetworkedAndSpawnPlayer helper 2021-08-01 14:42:50 +08:00
vis2k
c879f17936 test for #2797 fixed 2021-08-01 14:33:38 +08:00
vis2k
2d2ea64d8a Tests: ConnectHostClientBlocking() now connects local server too. otherwise NetworkServer.localConnection isn't added to NetworkServer.Connections. 2021-08-01 13:51:51 +08:00
vis2k
2c85cfbd06 Tests: ConnectHostClientBlockingAuthenticatedAndReady helper 2021-08-01 13:44:25 +08:00
vis2k
9351c3bb99 test to reproduce #2797 2021-07-31 21:12:05 +08:00
vis2k
b0be4a3540 remove check 2021-07-31 21:04:09 +08:00
vis2k
d82388aff4 Tests: ConnectHostClientBlocking helper function 2021-07-31 20:54:42 +08:00
vis2k
d897da8a6b TODO 2021-07-31 20:51:09 +08:00
vis2k
3232001466 NetworkServer.DestroyObject: added comments 2021-07-31 20:17:55 +08:00
vis2k
e9f8af40f9 split OnStopClient tests into two 2021-07-31 20:06:23 +08:00
vis2k
3c52284c8c keep old name 2021-07-31 20:04:51 +08:00
vis2k
d466d73f85 fix: #2119 - DestroyObject is now called when cleaning up scene identities too. Sends unspawn messages and calls OnStopClient/Server properly. 2021-07-31 17:30:25 +08:00
vis2k
3d9493dbfd Test to reproduce #2119 2021-07-31 17:22:17 +08:00
vis2k
0f069fc848 fix: CleanupNetworkIdentities needs to iterate a copied .spawned list becuase we now call DestroyObject directly. previously Destroy would call OnDestroy the next frame. 2021-07-31 17:22:00 +08:00
vis2k
47bd2b7c78 CleanupNetworkIdentities: better comments and call DestroyObject with DestroyMode.Destroy for spawned prefabs directly. more obvious. 2021-07-31 17:10:49 +08:00
vis2k
beff4b634a rename DestroyMode 2021-07-31 17:08:50 +08:00
vis2k
4a505860eb NetworkServer.DestroyObject: 'DestroyMode' enum instead of bool to make it more obvious.
we don't just need it
2021-07-31 12:33:11 +08:00
vis2k
47217bef6c NetworkServer.CleanupNetworkIdentities: call NetworkServer.Destroy directly instead of GameObject.Destroy->NetworkIdentity.OnDestroy->NetworkServer.Destroy (see #2119) 2021-07-31 12:24:24 +08:00
vis2k
4685ee653d comment 2021-07-31 12:21:24 +08:00
vis2k
e951abeb34 better comments 2021-07-31 12:20:25 +08:00
vis2k
7071a6afc8 comments 2021-07-31 12:03:27 +08:00
vis2k
77a3e0f23b cleanup and rename 2021-07-31 11:47:59 +08:00
vis2k
2a48d80afc rename 2021-07-31 11:44:54 +08:00
Eunseop Shim
f0d4f1595a
Allow reader generation of abstract NetworkBehaviours by reordering checks in Readers.GenerateReader() (#2808)
* Reorder checks to simplify and allow reader generation of abstract NetworkBehaviours

* Add SyncVar/ClientRpc Tests for abstract NetworkBehaviour
2021-07-31 11:32:42 +08:00
vis2k
7036ea5cab fix: NetworkAnimator uses double precision time for accuracy over days/weeks (#2840) 2021-07-31 11:10:25 +08:00
Robin Rolf
93b262dc94
feat: ZigZag VarInt Compression (#2859) 2021-07-30 21:10:36 +08:00
MrGadget1024
015c4d3f35 fix: Added missing [Command] attribute to NetworkAnimator.CmdSetAnimatorSpeed 2021-07-29 08:49:59 -04:00
ninjakickja
7e425d3106
fix: From !isLocalPlayer to !hasAuthority - NetworkTransform2k/NetworkTransformBase.cs (#2855)
* Fix - From !isLocalPlayer to !hasAuthority

Changed !isLocalPlayer to !hasAuthority because object might not be player object.

* Update Assets/Mirror/Components/NetworkTransform2k/NetworkTransformBase.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-07-29 11:44:04 +08:00
Robin Rolf
7e72683850
fix: Lazy create telepathy client/server (#2847)
Otherwise any options set via script are never going to be applied with no way of doing so
2021-07-25 13:12:13 +08:00
vis2k
06a77308ce remove version.txt again. not the one from asset store. 2021-07-23 12:06:00 +08:00
vis2k
ad45a0eb0f feature: Compression.VarInt added again 2021-07-23 12:05:38 +08:00
vis2k
15d2e8caa2 NetworkManager: ConfigureServerFrameRate renamed to ConfigureHeadlessFrameRate 2021-07-21 13:35:45 +08:00
vis2k
24033c101b fix: #2842 Revert "fix: Prevent recursion overflow when stopping (#2833)"
This reverts commit 32fdd5215f.
2021-07-20 11:48:54 +08:00
vis2k
c3bd1f2798 Test for #2842 - StopHostTest 2021-07-20 11:47:12 +08:00
vis2k
c1bfdea524 NetworkManagerTests: StartHost 2021-07-20 11:45:38 +08:00
vis2k
5cd3ad3ec0 missed a test 2021-07-19 11:44:27 +08:00
vis2k
d17156749d
feature: NetworkTransform 2 - Snapshot Interpolation (#2791) 2021-07-19 11:38:06 +08:00
MrGadget1024
ca4c2fd930 fix: Removed ServerAuthFailed from Basic Authenticator
Doesn't do what I intended it to do...better solution needed.
2021-07-18 08:24:12 -04:00
vis2k
b268e61928 add comment 2021-07-18 12:23:04 +08:00
vis2k
f79eab5d20
feature: MatchInterestManagement (#2837)
* feature: MatchInterestManagement component

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
2021-07-17 10:54:48 +08:00
MrGadget1024
6242c618d5 Updated comment 2021-07-16 08:48:54 -04:00
vis2k
6d021c0875 fix: kcp2k V1.12 (updated)
-> where-allocation now optional to handle platforms that don't support it
2021-07-16 20:31:34 +08:00
vis2k
d66d228079 fix: kcp2k V1.12
- where-allocation removed. will be optional in the future.
- Tests: don't depend on Unity anymore
- fix: #26 - Kcp now catches exception if host couldn't be resolved, and calls
  OnDisconnected to let the user now.
- fix: KcpServer.DualMode is now configurable in the constructor instead of
  using #if UNITY_SWITCH. makes it run on all other non dual mode platforms too.
2021-07-16 13:10:05 +08:00
vis2k
69116bfeb2 fix: NetworkTime.UpdateClient uses double precision time for accuracy over days/weeks 2021-07-16 12:25:53 +08:00
Robin Rolf
d516280dca
fix: NetworkBehaviour dirty check uses double time (#2839) 2021-07-16 12:18:59 +08:00
vis2k
28bcce7f0f fix log 2021-07-16 10:52:21 +08:00
vis2k
fecfcd3378 fix: SceneInterestManagement OnCheckObserver uses identity.gameObject instead of own gameObject 2021-07-16 10:46:49 +08:00
vis2k
02ad57cae8 fix: SceneInterestManagement OnSpawned uses identity.gameObject instead of own gameObject 2021-07-16 10:46:08 +08:00
vis2k
53b54f3dac syntax 2021-07-16 10:45:08 +08:00
MrGadget1024
398824703d Updated comments in ZoneHandler 2021-07-15 13:54:29 -04:00
MrGadget
a3e3543797
feat: Transport Exception Handling (#2835)
* feat: Transport Exception Handling
Transports can raise OnServerError and OnClientError
Both are propagated up through NetworkServer & NetworkClient & NetworkManager
Virtual methods added to Network Manager and Template

Fixes: #2782

* Fixed typo

* Better handling of server error

* Updated template comments

* Updated comments in Transport base class

* Syntax

* Update Transport.cs

* Update NetworkServer.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-07-15 13:26:01 +08:00
MrGadget
32fdd5215f
fix: Prevent recursion overflow when stopping (#2833)
* fix: Prevent recursion overflow when stopping
Calling StopServer from OnStartServer or StopClient from OnStopClient (or from user code invoked from those virtual methods) would create a recursion overflow.

This PR moves the setting of `isNetworkActive = false;` up above the virtual method calls in both cases, and adds a check to early out if false to prevent recursion and overflow.

Debug logs were also moved up nearer the top of the method.

Fixes: #2080

* Update Assets/Mirror/Runtime/NetworkManager.cs

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-07-15 13:18:55 +08:00
MrGadget
8453a03bd4
fix: Reset lastPingTime (#2832)
* fix: Reset lastPingTime

* Update Assets/Mirror/Runtime/NetworkTime.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-07-15 13:16:39 +08:00
vis2k
08c74deca0 fix: #2536, #2834 - stop transport server even if dontListen in case it was enabled at runtime 2021-07-15 13:11:05 +08:00
MrGadget1024
8717b6082f fix: Updated Compiler Symbols to MIRROR_43_0_OR_NEWER 2021-07-15 00:57:27 -04:00
MrGadget1024
35e41227d0 fix: Added empty version file
This is a test to see if CI will fill it and include it in the Unity package.
2021-07-14 22:07:21 -04:00
MrGadget1024
0b4fd22c36 fix: Call StopDiscovery when stopping Host/Server/Client in DiscoveryHUD
Fixes: #2477
2021-07-14 18:04:11 -04:00
vis2k
79024450f2
breaking: NetworkMatch component to hold matchId. Prepares for AOI2 match checker. (#2831)
* NetworkMatch component

* NetworkMatchChecker currentMatch points to NetworkMatch.matchId

* NetworkMatchChecker.Update just like scene checker

* remove NetworkMatchChecker.matchId

* adjust tests

* fixed comments, simplified null check

Co-authored-by: MrGadget1024 <github@clevertech.net>
2021-07-14 23:46:09 +08:00
vis2k
fe36a83353
feature: SnapshotInterpolation algorithm (#2824) 2021-07-14 17:42:23 +08:00
vis2k
09cbc7e782 feature: DistanceInterestManagement custom range component 2021-07-14 11:31:45 +08:00
vis2k
99316d6ab9 fix: DistanceInterestManagement initial range check uses '<' instead of '<=' for consistency with the other range checks 2021-07-14 11:26:34 +08:00
vis2k
af03da01ff syntax & comments 2021-07-14 11:06:26 +08:00
vis2k
7206c56a53 comments 2021-07-14 11:04:12 +08:00
Robin Rolf
99db407990
feat: SceneInterestManagement (#2762)
* feat: Add OnSpawned/OnDestroyed events to interest management

* feat: SceneInterestManagement
2021-07-14 11:01:43 +08:00
Robin Rolf
3bc7572154
feat: Add OnSpawned/OnDestroyed events to interest management (#2758) 2021-07-14 11:01:13 +08:00
MrGadget1024
cdf6d2c901 fix: fixed naming typo
#Fixes #2827
2021-07-13 18:47:55 -04:00
vis2k
5afc4e9eed syntax 2021-07-13 19:53:20 +08:00
vis2k
368c08be63 remove comment 2021-07-12 19:43:14 +08:00
vis2k
d60ec59444 syntax 2021-07-12 19:42:07 +08:00
vis2k
3363162dd8 syntax 2021-07-12 19:40:47 +08:00
vis2k
dd716eb0c0 rename 2021-07-12 19:38:00 +08:00
vis2k
3e77166952 syntax 2021-07-12 19:37:28 +08:00
vis2k
f67caa2c1d rename 2021-07-12 19:30:31 +08:00
vis2k
36a1411c4a syntax 2021-07-12 17:23:55 +08:00
vis2k
7eccab0433 PreprocessorDefine: 42_0_OR_NEWER 2021-07-11 16:25:33 +08:00
vis2k
9b160bce5d fix: FallbackTransport didn't propagate Early/LateUpdate 2021-07-10 14:37:54 +08:00
vis2k
b305741b4b
fix: #2822 - OnClientDisconnect wasn't called for host disconnect because LocalConnectionToServer wouldn't call OnTransportDisconnected (#2823)
* test

* fix
2021-07-08 18:25:45 +08:00
vis2k
b1a2ade539 committed the wrong chang 2021-07-08 18:00:50 +08:00
vis2k
2c18d5d4ee add comment 2021-07-08 17:41:58 +08:00
vis2k
1c23b70ca8
fix: #2818 NetworkClient Disconnecting state added. Disconnect now sets state to Disconnecting. OnTransportDisconnected doesn't early return anymore because state was == Disconnected already before. fixes OnClientDisconnect not being called for remote connections. (#2821)
* fix: #2818 NetworkClient Disconnecting state added. Disconnect now sets state to Disconnecting. OnTransportDisconnected doesn't early return anymore because state was == Disconnected already before.

* add test
2021-07-08 16:59:14 +08:00
vis2k
57c0f70df8 NetworkClient.Disconnect: explicitly check against Connecting and Connected.
prepares for Disconnecting state so we don't need to change this here.
2021-07-08 16:10:15 +08:00
vis2k
49eeb58af6 add comment 2021-07-08 16:06:38 +08:00
vis2k
0a7af48e6e NetworkIdentity.SetupIDs: use GetPrefabStage(gameObject) for correctness (#2781) 2021-07-08 15:19:54 +08:00
vis2k
fb052a30b5
fix: #2793 - Interest Management V2 now offers SetHostVisibility overwriting (#2813)
* InterestManagement.SetHostVisibility virtual

* NetworkServer uses it

* NetworkClient uses it
2021-07-08 13:36:27 +08:00