Commit Graph

3963 Commits

Author SHA1 Message Date
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
vis2k
188be9ead0
fix: serialization precision over days by using frameCount instead of single precision time (#2815)
* fix: serialization precision over days by saving a double timestamp at the start of Broadcast() once

* use tick instead
2021-07-07 22:22:15 +08:00
vis2k
9ac3cf9534 comment 2021-07-07 20:46:50 +08:00
vis2k
c241d9dc20 remove unused import 2021-07-07 19:47:54 +08:00
vis2k
d25df4035b linebreaks 2021-07-07 19:45:05 +08:00
vis2k
e20bcc6f0c syntax 2021-07-07 19:43:45 +08:00
Robin Rolf
ef1f1a55f1
Add (failing) test for large timestamp serialization (#2814)
* Add test for large timestamp serialization

* Update Assets/Mirror/Tests/Runtime/NetworkIdentityTests.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-07-07 19:42:56 +08:00
vis2k
92d4429c55 add comments 2021-07-07 12:23:29 +08:00
vis2k
80387ffa03
fix: nimoyd unbatcher InvalidOperationException (#2812) 2021-07-07 11:48:51 +08:00
vis2k
1100af2ae0 rename 2021-07-07 11:24:37 +08:00
vis2k
fe7ed2ace1 Tests: nimoyd unbatcher repro 2021-07-07 11:23:18 +08:00
MrGadget1024
fb608d685a fix: Fixed additive scenes on host client
- This was broken by #a0f5a846
2021-07-06 12:07:36 -04:00
Eunseop Shim
c0a5dff95f
Use Debug.LogException for NetworkBehaviour error messages (#2803) 2021-07-02 10:10:13 +08:00
MrGadget1024
357ef138c9 code style 2021-06-30 13:17:44 -04:00
MrGadget1024
5b9c7e11d5 syntax 2021-06-30 13:14:36 -04:00
MrGadget1024
6bb97abd2d fix: fixed order of fields in NT Base 2021-06-30 11:26:31 -04:00
MrGadget1024
b86c8615f4 fix: Added null check and error logging to OnDeserializeAllSafely 2021-06-30 00:41:56 -04:00
MrGadget
a0f5a846d7
fix: OnClientChangeScene not firing for host client (#2801) 2021-06-30 10:56:50 +08:00
MrGadget
57d1892433
fix: Avoid NRE in UnpackAndInvoke (#2800)
Client message handlers may call conn.Disconnect, which will make connection = null, so we must check for that after calling `handler.Invoke`.
2021-06-30 10:56:09 +08:00
vis2k
021470360d Tests: WriteUri(null) for https://github.com/vis2k/Mirror/pull/2796/ 2021-06-30 10:54:43 +08:00
MrGadget
e07488d91b
fix: null handling in WriteUri & ReadUri (#2796) 2021-06-30 10:54:06 +08:00
MrGadget1024
b460b90007 fixed deprecation date 2021-06-29 06:07:47 -04:00
MrGadget1024
58c832f614 Removed comment 2021-06-28 07:38:23 -04:00
MrGadget1024
b7e6b6b3bc Added missing Deprecated dates 2021-06-27 13:14:45 -04:00
vis2k
ff218adc17 fix: OverrideVirtualWithBaseCallsBothVirtualAndBase etc. failing tests because Weaver Cmd/Rpc SubstitueMethods couldn't be accessed by inheriting classes 2021-06-26 13:17:18 +08:00
Cooper H
74ae04d222
fix: Weaver Generated Cmd/Rpc should be private (#2799)
* Fix for users calling weaver gen'd methods in the inspector

Forces the new weaver generated method to be private, preventing prevents users from mistakenly calling weaver generated methods in dropdown menus (such as buttons) in the inspector.

* Update Assets/Mirror/Editor/Weaver/Processors/MethodProcessor.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-06-26 01:45:47 +08:00
MrGadget1024
5528bdd27e Syntax 2021-06-23 23:24:57 -04:00
vis2k
243586254d 'multiple NetworkIdentity components' warning changed to Error to make it more obvious that this breaks a project 2021-06-23 12:45:23 +08:00
MrGadget1024
81854247c7 indention 2021-06-22 12:18:33 -04:00
vis2k
bb559b88eb NetworkIdentity: fix define order for SceneManagement and use elif 2021-06-22 22:15:06 +08:00
vis2k
d7373ff175 remove unused imports 2021-06-22 21:25:11 +08:00
vis2k
25e13cb6ec Tests: UtilsTest.GetTrueRandomUInt 2021-06-22 19:10:24 +08:00
vis2k
b309f546ca NetworkIdentity: #if UNITY_2021_2 support when importing SceneManagent to avoid AutoUpgrader modifying NetworkIdentity 2021-06-22 19:06:30 +08:00
MrGadget
92334ba2aa
fix: Don't call FinishLoadScene when customHandling (#2794)
* fix: Don't call FinishLoadScene when customHandling
FinishLoadScene will be called from `UpdateScene`  if `loadingSceneAsync != null && loadingSceneAsync.isDone` and it's the responsibility of the user in their custom handler to assign `loadingSceneAsync` to something to block FinishLoadScene until that completes.

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-06-22 13:29:49 +08:00
vis2k
a6f6dd2b7e MessagePacking.WrapHandler: improve error message when disconnecting a connection because of exceptions. It needs to be obvious that it was disconnected, and why that's a good idea. 2021-06-20 12:10:07 +08:00
vis2k
820c5a6c44 feature: Timestamp Batching #2786 2021-06-20 12:10:07 +08:00
vis2k
e5771c23a0 MessagePacking: MaxMessageSize renamed to MaxContentSize so it's more obvious 2021-06-18 20:10:17 +08:00
vis2k
5644611d5d NetworkServerTest: reuse MessagePacking.MaxMessageSize 2021-06-18 19:34:42 +08:00
vis2k
6ba6543278 MessagePacking: MaxMessageSize property for convenience 2021-06-18 19:31:38 +08:00
vis2k
15e3b3b11d MessagePacking.HeaderSize made public for convenience 2021-06-18 19:30:38 +08:00
vis2k
64040536a6 NetworkConnectionToClient/Server.Update common code moved to NetworkConnection.Update 2021-06-18 18:31:26 +08:00
vis2k
6e9206deab NetworkConnection.SendToTransport abstract; NetworkConnectionToClient/Server.Send(ArraySegment) common code moved into NetworkConnection 2021-06-18 18:31:26 +08:00
vis2k
970c3e8702 syntax 2021-06-18 18:31:02 +08:00
vis2k
cb05c5288b syntax 2021-06-18 18:30:42 +08:00
vis2k
b3b6d04a8b syntax 2021-06-18 18:28:04 +08:00
vis2k
33318555fe add comments 2021-06-18 18:21:14 +08:00
vis2k
bbde7edc1d add comments 2021-06-18 18:18:51 +08:00
vis2k
34492c5097 NetworkConnectionToClient/Server: Validate packet size again before passing batch to transport 2021-06-18 17:19:09 +08:00
vis2k
4382eb0f6e syntax 2021-06-18 16:58:45 +08:00
vis2k
8338d02301 syntax 2021-06-18 16:48:59 +08:00
vis2k
651020852b syntax 2021-06-18 16:45:04 +08:00
vis2k
caf143f4d7 update comment 2021-06-18 16:44:38 +08:00
vis2k
227efb6c7a NetworkConnection.ValidatePacketSize: syntax 2021-06-18 16:41:40 +08:00
vis2k
d818b2d4aa Tests: MemoryTransport guarantees max message size just like a real transport would. Guarantees that even if Mirror tests have max message size issues, transport would catch it. 2021-06-18 15:55:52 +08:00
vis2k
0cce4962d2 NetworkServerTest: MaxMessageSize + 1 server->client too 2021-06-18 13:58:38 +08:00
vis2k
0d86b2cdde NetworkServerTest: max message size server->client too 2021-06-18 13:57:49 +08:00
vis2k
75b17b9a8d NetworkServerTests: MaxMessageSize + 1 2021-06-18 13:56:27 +08:00
vis2k
4703c5e939 NetworkServerTests: MaxMessageSize 2021-06-18 13:55:44 +08:00
vis2k
e78304c465 NetworkServerTest: VariableSize message size adjusted for WriteBytesAndSize header 2021-06-18 13:51:24 +08:00
vis2k
8ded81fa20 cleanup 2021-06-18 13:03:52 +08:00
vis2k
400d5c7a10 NetworkServerTests: VariableSizedMessage for convenience 2021-06-18 13:02:35 +08:00
vis2k
a568ee4c6f syntax 2021-06-18 12:13:52 +08:00
vis2k
379820c435 NetworkServerTest: send data race test to avoid previous bug where larger batch threshold messages would be sent immediately, out of order 2021-06-18 11:57:01 +08:00
vis2k
e374d21f86 better 2021-06-18 11:55:13 +08:00
vis2k
9bff0abbf3 NetworkServerTest: send data race test to avoid previous bug where larger batch threshold messages would be sent immediately, out of order 2021-06-18 11:54:28 +08:00
vis2k
26a8f19204 remove unnecessary imports 2021-06-18 11:42:54 +08:00
vis2k
75c145b175 replaced all GetMaxBatchSize with GetBatchTreshold everywhere 2021-06-17 20:26:04 +08:00
vis2k
b538285b9d Transport.GetMaxBatchSize obsoleted and replaced by GetBatchThreshold 2021-06-17 20:26:02 +08:00
vis2k
2a563b96df
fix: Batcher 'MaxBatchSize' changed to 'Threshold' to support larger messages too. They simply become large batches, while smaller ones are still fitted into 'Threshold'. fixes data race where larger messages would be sent immediately, while smaller ones would be sent at the end of the frame. prepares for timestamp batching which assumes a timestamp prefix for ALL batches (including larger ones, which previously would be treated as not a batch) (#2787)
* fix: Batcher 'MaxBatchSize' changed to 'Threshold' to support larger messages too. They simply become large batches, while smaller ones are still fitted into 'Threshold'. fixes data race where larger messages would be sent immediately, while smaller ones would be sent at the end of the frame. prepares for timestamp batching which assumes a timestamp prefix for ALL batches (including larger ones, which previously would be treated as not a batch)

* add comment

* better comment

* do-while

* better comment
2021-06-17 19:08:50 +08:00
vis2k
41dc651576 Tests: >= max batch size send test added to NetworkServerTests 2021-06-17 12:31:16 +08:00
vis2k
90d23802ab Tests: >= max batch size send test added to NetworkServerTests 2021-06-17 12:29:46 +08:00
vis2k
9aa34e8dae NetworkClient/NetworkServer OnConnected/OnDisconnected events are now public so that custom NetworkManagers can hook into them too 2021-06-17 11:23:01 +08:00
vis2k
342da4fbc7 remove old comments 2021-06-16 23:04:28 +08:00
vis2k
70bfd3acc1 remove old comment 2021-06-16 18:52:07 +08:00
vis2k
185468ea38 NetworkServerTest: Send_ServerToClientMessage 2021-06-16 17:57:47 +08:00
vis2k
764cd988c5 rename 2021-06-16 17:55:48 +08:00
vis2k
22e6a83f00 NetworkClientTests: remove redundant Send test 2021-06-16 17:54:09 +08:00
vis2k
d07f10b7be use NetworkTime.localTime where local time was previously implied when using NetworkTime.time on the server. for clarity. 2021-06-16 16:58:20 +08:00
vis2k
7aecc2b19a feature: NetworkTime.localTime exposed for double precision alternative to Time.time (needed by timestamp batching) 2021-06-16 16:53:08 +08:00
vis2k
d56c0e0ad8 syntax 2021-06-16 16:50:57 +08:00
vis2k
f2496cf7bc NetworkTime: LocalTime() renamed to .localTime for consistency with .time 2021-06-16 16:50:16 +08:00
vis2k
79c067e4aa MirrorTest: ConnectClientBlockingAuthenticatedAndReady helper function 2021-06-16 12:47:05 +08:00
vis2k
2df5357647 rename 2021-06-16 12:44:13 +08:00
vis2k
b98e01b348 typo 2021-06-16 12:43:40 +08:00
vis2k
890cbba297 NetworkServerTest: SendCommand_RequiresAuthority 2021-06-16 12:43:15 +08:00
vis2k
831a2efda4 MirrorTest: ConnectClientBlocking returns server connection for convenience 2021-06-16 12:41:51 +08:00