Commit Graph

4848 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
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
vis2k
8720325892 NetworkServerTest: ReadyMessageSetsClientReady() simplified 2021-06-16 12:38:27 +08:00
vis2k
5a9adcd9ed NetworkBehaviourTests: remove redundant SendCommandInternal test 2021-06-16 12:35:44 +08:00
vis2k
501d953216 MirrorTest: ConnectClientBlockingAndAuthenticate helper function 2021-06-16 12:34:44 +08:00
vis2k
def54b85fc NetworkServerTest: [Command] tests use weaved [Command] functions now 2021-06-16 12:31:53 +08:00
vis2k
9df7db3db2 NetworkIdentityTests: remove redundant HandleCommand test 2021-06-16 12:29:27 +08:00
vis2k
56c46abd18 syntax 2021-06-16 12:21:53 +08:00
vis2k
0c13f23798 NetworkServerTest: [Command] with wrong netId 2021-06-16 12:21:15 +08:00
vis2k
7c9fd6d10d NetworkServerTest: [Command] only allowed on owned objects 2021-06-16 12:18:52 +08:00
vis2k
c136c9c7f4 NetworkServerTest: [Command] with multiple components 2021-06-16 12:14:54 +08:00
vis2k
453e94a35d NetworkServerTest: [Command] test simple version 2021-06-16 12:11:27 +08:00
vis2k
e49a5392b3 update comment 2021-06-16 12:07:40 +08:00
vis2k
02399940d1 remove unnecessary 2021-06-16 12:06:00 +08:00
vis2k
3577e187b1 comment 2021-06-16 12:03:44 +08:00
vis2k
f5f60ab177 syntax 2021-06-16 12:02:20 +08:00
vis2k
f80d5fd958 NetworkServerTest: HideForConnection rewritten 2021-06-16 12:01:54 +08:00
vis2k
ba019a678c NetworkServerTest: ShowForConnection rewritten 2021-06-16 11:59:10 +08:00
vis2k
d18472b4d5 remove unnecessary 2021-06-16 11:41:25 +08:00
vis2k
b052e2bd91 NetworkServerTest: remove unused 2021-06-16 11:40:05 +08:00
vis2k
6037e7ac1f NetworkServerTest: replace over engineered test 2021-06-16 11:38:58 +08:00
vis2k
3debc65ffd NetworkServerTest cleanup 2021-06-16 11:28:49 +08:00
vis2k
ad5eac2016 sort tests 2021-06-15 17:46:22 +08:00
vis2k
6e015e9442 syntax 2021-06-15 17:44:57 +08:00
vis2k
acf9eff9d0 syntax 2021-06-15 17:44:34 +08:00
vis2k
5d77cda200 cleanup 2021-06-15 17:44:02 +08:00
vis2k
87cdf7bedd NetworkServerTest: Unspawn simplified 2021-06-15 17:43:11 +08:00
vis2k
e18a17e8c7 cleanup 2021-06-15 17:41:45 +08:00
vis2k
58f7ff8902 cleanup 2021-06-15 17:39:52 +08:00
vis2k
0385effd13 syntax 2021-06-15 17:28:53 +08:00
vis2k
f08b6c2806 NetworkServerTest: GetNetworkIdentity tests simplified 2021-06-15 17:28:07 +08:00
vis2k
6d18c42593 NetworkServerTest: SendToClientOfPlayer test removed because it did not even test SendToClientOfPlayer, and the function is obsolete anyway 2021-06-15 17:26:09 +08:00
vis2k
e02032f1ca NetworkServerTest: SendToClientOfPlayer cleanup 2021-06-15 17:24:29 +08:00
vis2k
4b2fa2c5b4 NetworkServerTest: RegisterUnregisterClearHandler cleanup 2021-06-15 17:22:48 +08:00
vis2k
50c6a69492 syntax 2021-06-15 17:17:49 +08:00
vis2k
afeef26fdb NetworkServerTest: SendToAll simplified 2021-06-15 17:14:34 +08:00
vis2k
b2ae4ef7e1 NetworkServerTest: CommandMessageCallsCommand cleanup 2021-06-15 17:11:31 +08:00
vis2k
26e18d7e87 NetworkServerTest: ReadyMessageSetsClientReady cleanup 2021-06-15 17:06:51 +08:00
vis2k
092ff4538a NetworkIdentityTests: reuse CreateLocalConnectionPair 2021-06-15 17:03:57 +08:00
vis2k
79c6897249 NetworkServerTest: reuse CreateLocalConnectionPair 2021-06-15 17:01:44 +08:00
vis2k
06628b3b70 NetworkServerTest: reuse CreateLocalConnectionPair 2021-06-15 17:00:31 +08:00
vis2k
841c3ca2f2 NetworkServerTest: reuse CreateLocalConnectionPair 2021-06-15 16:58:54 +08:00
vis2k
855e0017c8 NetworkServerTest: reuse CreateLocalConnectionPair 2021-06-15 16:50:23 +08:00
vis2k
bf7250c096 NetworkServerTest: reuse CreateLocalConnectionPair 2021-06-15 16:49:44 +08:00
vis2k
68c72a7d54 NetworkServerTest: reuse CreateLocalConnectionPair 2021-06-15 16:48:45 +08:00
vis2k
bfd03adb09 NetworkServerTest: reuse CreateLocalConnectionPair 2021-06-15 16:47:04 +08:00
vis2k
46d49381b0 syntax 2021-06-15 16:46:54 +08:00
vis2k
58cae69647 NetworkServerTest: SetAllClientsNotReady reuses CreateLocalConnectionPair 2021-06-15 16:45:27 +08:00
vis2k
bf6957c150 NetworkServerTest: RemoveLocalConnection reuses CreateLocalConnectionPair 2021-06-15 16:44:31 +08:00
vis2k
133b1eb841 LocalConnectionTest: use CreateLocalConnectionPair 2021-06-15 16:42:34 +08:00
vis2k
7f36a75ef7 NetworkServerTest: SetClientReadyAndNotReady simplified 2021-06-15 16:40:58 +08:00
vis2k
2506195e42 MirrorTest: CreateLocalConnectionPair helper function 2021-06-15 16:40:48 +08:00
vis2k
34634e51b0 LocalConnection classes made public for tests 2021-06-15 16:39:06 +08:00
vis2k
2706eb30b9 LocalConnectionToClient made internal for tests 2021-06-15 16:37:37 +08:00
MrGadget
8218979e32
fix: Prevent m_AssetId set to empty string (#2766)
* fix: Prevent m_AssetId set to empty string
Fixes: #2765

Checks path for empty string before assigning to `m_AssetId`.

I left commented debug logs in place from testing, which was setting `NetworkIdentity.ServerOnly` on and off both in normal edit mode and prefab edit mode. In either mode, OnValdidate fires 4 times, and two of those try to set an empty string to `m_AssetId`.

* Changes as requested

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

* Update NetworkIdentity.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-06-15 16:10:42 +08:00
vis2k
b08cc62fd4 NetworkServerTest: OnDataReceivedInvalidConnectionId simplified 2021-06-15 14:16:55 +08:00
vis2k
e827c6c0f3 fix: NetworkClient.Shutdown now clears OnDis/ConnectedEvents 2021-06-15 14:13:05 +08:00
vis2k
68a4a06926 fix: NetworkServer.Shutdown now clears OnDis/ConnectedEvents 2021-06-15 14:11:02 +08:00
vis2k
8295c8d5ab rename 2021-06-15 13:58:20 +08:00
vis2k
a45cef2536 Tests: reuse ProcessMessages 2021-06-15 13:58:03 +08:00
vis2k
3d0c13ec6a MirrorTest: ProcessMessages updates transports too now 2021-06-15 13:52:02 +08:00
vis2k
2ab17571cf MirrorTest: ProcessMessages: switch update order so we can use it in NetworkServerTest.ClientToServerMessage 2021-06-15 13:51:32 +08:00
vis2k
196f4d3f36 NetworkServerTest: remove complicated OnDataReceived test. ClientToServerMessage does the same now. 2021-06-15 13:46:54 +08:00
vis2k
113b8cebaa NetworkServerTest: ClientToServerMessage 2021-06-15 13:46:06 +08:00
vis2k
4db998f9a6 MirrorTest: ConnectClientBlocking helper function 2021-06-15 13:45:57 +08:00
vis2k
41d4b31856 NetworkServerTest: DisconnectAllTest_LocalConnection cleanup 2021-06-15 13:37:17 +08:00
vis2k
0df666382f NetworkServerTest: DisconnectAllTest_RemoteConnection cleanup 2021-06-15 13:36:18 +08:00
vis2k
42de58c9e9 NetworkServerTest: RemoveConnection cleanup 2021-06-15 13:34:55 +08:00
vis2k
86f83da2d9 NetworkServerTests: AddConnection test split into two, and cleaned up 2021-06-15 13:33:23 +08:00
vis2k
ab4c2bceae NetworkServerTest: RemoveLocalConnection cleanup 2021-06-15 13:28:51 +08:00
vis2k
64e8697031 NetworkServerTest: SetLocalConnection split into two tests 2021-06-15 13:27:48 +08:00
vis2k
37c972658e NetwrokServerTests: cleanup OnConnectedOnlyAllowsNonZeroConnectionIds 2021-06-15 13:25:25 +08:00
vis2k
79fee4c93d syntax 2021-06-15 13:23:08 +08:00
vis2k
b3820991a1 syntax 2021-06-15 13:19:31 +08:00
vis2k
26d72ada5d syntax 2021-06-15 13:17:50 +08:00
vis2k
f2f911808f remove unused import 2021-06-15 13:09:40 +08:00
vis2k
ddb00ae2d1 Tests: remove empty TearDowns 2021-06-15 13:08:44 +08:00
vis2k
b1e286d779 RemoteTestBase: remove redundant NetworkClient.Disconnect 2021-06-15 13:07:17 +08:00
vis2k
52ee9408b1 Tests: remove redundant NetworkServer.Shutdowns 2021-06-15 12:50:27 +08:00
vis2k
6e7d71b9d3 MirrorTest: clear NetworkIdentity.spawned in TearDown 2021-06-15 12:48:19 +08:00
vis2k
7a7ea26cc9 MirrorTest: TearDown shuts down NetworkClient/Server too 2021-06-15 12:45:09 +08:00
vis2k
3d535e0c4e LocalConnectionTest : MirrorTest so that transport etc. are available too (prepares for tick batching) 2021-06-15 12:37:33 +08:00
vis2k
0d7edde710 fix NetworkClientTests.Send() test 2021-06-15 12:07:37 +08:00
MrGadget1024
4a03c3034e Fixed typo in comment 2021-06-14 13:26:07 -04:00
MrGadget1024
21a6b64e38 Updated Compiler Symbols MIRROR_41_0_OR_NEWER 2021-06-14 10:01:43 -04:00
Alexander Klaiber
d2ee4979f7
fix: clientAuthority access (#2779)
Provide the same interface access for runtime changes like the NetworkTransform class.
2021-06-14 09:42:59 -04:00
vis2k
7bd65c2d9b syntax 2021-06-14 21:19:43 +08:00
vis2k
bdb410e015 fix: NetworkServer.OnTransportData header size is now checked before every message unpacking again like before batching. 2021-06-14 17:53:41 +08:00
vis2k
e6b379fb8d fix: NetworkClient.OnTransportData header size is now checked before every message unpacking again like before batching. 2021-06-14 17:51:42 +08:00
vis2k
8e8cc71e94 Unbatcher.GetNextMessage: use NetworkReader.Remaining 2021-06-14 17:48:31 +08:00
vis2k
aa71d2a848 NetworkIdentity.OnDeserializeSafely: use NetworkReader.Remaining 2021-06-14 17:48:23 +08:00
vis2k
ccbd6185b4 feature: NetworkReader.Remaining for convenience 2021-06-14 17:46:12 +08:00
vis2k
7c91707d34 Unbatcher: StartReadingBatch helper function to prepare for tick batching 2021-06-14 16:43:14 +08:00
vis2k
2aa8958210 remove unused 2021-06-14 16:34:39 +08:00
vis2k
dcf470b1e9 breaking: remove NetworkClient/NetworkServer.batching properties. Tests still pass. Batching needs to be always on for tick batching. 2021-06-14 15:13:00 +08:00
vis2k
72f915a456 breaking: force enable batching to prepare for TickBatching 2021-06-14 14:54:00 +08:00
vis2k
7eacdaa96b
NetworkConnectionToClient.Disconnect(): remove RemoveFromObservingsObservers because we do that in OnTransportDisconnected now, which is called for both voluntary and involuntary disconnects. (#2760) 2021-06-14 12:11:40 +08:00
vis2k
2c9dd3fc01 add comments 2021-06-13 13:28:09 +08:00
vis2k
a55932ea81 Unbatcher: update icon 2021-06-13 13:05:52 +08:00
vis2k
2c2581fa08 fix: #2778 SpawnObjects SetActive(true) would not initialize NetworkIdentity if the parent is inactive because Unity would not call Awake() 2021-06-13 13:03:49 +08:00
vis2k
6eea1e77f5 fix: #2744 KcpTransport statistics changed to long to avoid int overflows 2021-06-12 18:39:49 +08:00
vis2k
c5e8614101
fix: #2651 scene changing with batching would cause errors because we wouldn't stop the batch processing after a scene message (#2774) 2021-06-12 18:33:46 +08:00
vis2k
9dfc823df6
perf: Client -> Server batching (#2773)
* perf: Client->Server batching to prepare for tickbatching/NT and batching scene change fix

* move to NetworkConnection base class
2021-06-11 12:19:45 +08:00
vis2k
72623ae60b add comment 2021-06-10 21:11:51 +08:00
vis2k
9d7b83e035
The Unbatcher (#2771) 2021-06-10 12:33:45 +08:00
vis2k
53a119d3ab
The Batcher (#2770)
* Batcher & Tests

* NetworkConnectionToClient: use Batcher

* folder

* namespace

* comment

* rename param

* add comment
2021-06-10 12:23:25 +08:00
vis2k
2f5ce11491 NetworkReaderPool: use NetworkReader.SetBuffer 2021-06-09 21:13:30 +08:00
vis2k
854ea1e5a3 NetworkReader.SetBuffer helper function to prepare for batching improvements 2021-06-09 21:13:19 +08:00
vis2k
8089490b51 add TODO 2021-06-09 13:08:27 +08:00
vis2k
a159fe3c41 update comment 2021-06-09 13:06:04 +08:00
vis2k
6e448f22f7 breaking: remove batchInterval to prepare for TickBatching and for the scene change fix 2021-06-09 12:56:09 +08:00
vis2k
24130d6e35 update comments 2021-06-09 12:32:44 +08:00
Angga Permana
83c86f0f16
fix typo (#2769) 2021-06-08 19:19:04 -04:00
Robin Rolf
9ff054ade4
Missing space in weaver log message (#2767) 2021-06-08 08:36:23 -04:00
vis2k
3eefed30fb cherry picked preprocessor define from asset store release branch 2021-06-08 12:45:19 +08:00
vis2k
f84c012ae8
perf: kcp2k V1.11 - where-allocation - 25x reduction in Socket.SendTo/ReceiveFrom allocations (#2759) 2021-06-08 12:41:56 +08:00
vis2k
0a9533eb92 fix: Telepathy V1.8 [2021-06-02]
- fix: Do not set timeouts on listener (fixes https://github.com/vis2k/Mirror/issues/2695)
- fix: #104 - ReadSafely now catches ObjectDisposedException too
2021-06-02 11:52:14 +08:00
vis2k
a2c7a7e60d add comment 2021-06-02 11:22:50 +08:00
MrGadget
456e098544
fix: Clear observers from other clients (#2757)
* fix: Clear observers from other clients
Fixes #2737

Added call to RemoveFromObservingsObservers in NetworkServer.DestroyPlayerForConnection

* Update NetworkServer.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-06-02 11:18:47 +08:00
vis2k
99db41b483 improve error message 2021-06-01 12:15:46 +08:00
MrGadget1024
4e5ad17699 Updated Readme
Unity version, formatting
2021-05-30 15:26:43 -04:00
vis2k
114c68a8d5 add test for #2674 2021-05-30 12:14:52 +08:00
MrGadget1024
9fc5e0c287 fix: Fixed PlauerUI Text in Basic Example 2021-05-29 16:22:28 -04:00
vis2k
3efc917b6e fix: NetworkIdentity default execution order set to -1. guarantees Awake() initializing all NetworkBehaviours before their Awake is called. [imer, FakeByte] 2021-05-28 20:00:35 +08:00
vis2k
a0e062af94 add comment 2021-05-28 19:55:59 +08:00
vis2k
10c39a59cc fix: kcp2k V1.10
- feature: configurable Timeout
- allocations explained with comments (C# ReceiveFrom / IPEndPoint.GetHashCode)
- fix: #17 KcpConnection.ReceiveNextReliable now assigns message default so it
  works in .net too
- fix: Segment pool is not static anymore. Each kcp instance now has it's own
  Pool<Segment>. fixes #18 concurrency issues
2021-05-28 16:36:52 +08:00
MrGadget1024
3abaa70f0f NetworkManager: Commented noisy Debug.Log 2021-05-28 03:51:17 -04:00
MrGadget1024
4d1f440b7d Revert "NetworkManager: Commented noisy Debug.Log"
This reverts commit 9c45d6685b.
2021-05-28 03:44:19 -04:00
MrGadget1024
9c45d6685b NetworkManager: Commented noisy Debug.Log 2021-05-28 03:43:48 -04:00
MrGadget1024
f77583c5e4 Changed all deprecation dates to ISO format 2021-05-28 03:39:48 -04:00
Robin Rolf
1432932c7f
Remove non-existant param from xml doc (#2750) 2021-05-28 12:15:30 +08:00
vis2k
e6b27cf7e8 fix: NetworkClient.Disconnect NullReferenceException if connection was null 2021-05-28 02:25:27 +08:00
vis2k
089e5bbb59 perf: NetworkServer.Broadcast serialization lookup removed. serializations are now cached and rebuilt in NetworkIdentity based on timestamp.
=> way easier
=> way faster because we don't need to recycle two writers for every .spawned at the end of broadcast
2021-05-27 12:24:06 +08:00
vis2k
fe3b7ae57c TODO 2021-05-27 12:20:24 +08:00
vis2k
724eb7e09c iso date format 2021-05-26 20:07:30 +08:00
vis2k
f8319d0f80 TODOs 2021-05-26 19:58:48 +08:00
vis2k
d0d32785db Tests: ClientSceneTest_LocalPlayer_asHost moved to separate file 2021-05-26 19:55:24 +08:00
vis2k
06691c9aef ClientSceneTests_LocalPlayer: reuse CreateNetworked 2021-05-26 19:54:22 +08:00
vis2k
edd580fb7b syntax 2021-05-26 19:49:38 +08:00
vis2k
dd9949d3aa HostSetup: reuse CreateGameObject 2021-05-26 19:40:16 +08:00
vis2k
c636e19dcd remove unused import 2021-05-26 19:37:53 +08:00
vis2k
f94ff22f55 NetworkServerRuntimeTests: reuse MirrorPlayModeTest 2021-05-26 19:37:21 +08:00
vis2k
a911e580e1 add comment 2021-05-26 19:35:49 +08:00
vis2k
e45c6b98ca add comment 2021-05-26 19:34:27 +08:00
vis2k
a143124941 NetworkIdentityTests (runtime): reuse MirrorPlayModeTest 2021-05-26 19:33:28 +08:00
vis2k
9b78ee82f1 Tests: MultiplexTransportEnableTest moved to separate file 2021-05-26 19:30:02 +08:00
vis2k
227402c6aa ClientSceneTests_LocalPlayer: reuse CreateNetworked 2021-05-26 19:28:02 +08:00
vis2k
5e1e8128fe ClientSceneTests_DestroyAllClientObjects uses MirrorPlayModeTest 2021-05-26 19:26:01 +08:00
vis2k
5c38f6f989 syntax 2021-05-26 19:20:20 +08:00
vis2k
359184942f Tests: HostSetup reuses MirrorPlayModeTest 2021-05-26 19:17:46 +08:00
vis2k
e5f4461315 rename 2021-05-26 19:15:45 +08:00
vis2k
378a7402b9 MirrorPlayModeTest 2021-05-26 19:14:58 +08:00
vis2k
dc2fee7212 MirrorTest renamed to MirrorEditModeTest to prepare for MirrorPlayModeTest 2021-05-26 18:46:20 +08:00
vis2k
940ff58e72 NetworkClient.isLocalClient renamed to isHostClient, which is less confusing 2021-05-26 18:33:41 +08:00
vis2k
443b542fb6 update summary 2021-05-26 18:31:14 +08:00
vis2k
a43837e0d8 UpdateVarsMessage renamed to EntityStateMessage so it's more obvious. NetworkClient.OnEntityStateMessage can be reused for WorldState easier later. 2021-05-26 18:16:51 +08:00
vis2k
0a6cd15bbd MessagePackingTest: don't rely on UpdateVarsMessage 2021-05-26 18:14:55 +08:00
vis2k
193d2cbfeb syntax 2021-05-26 18:06:08 +08:00
vis2k
b4cecccbcb NetworkServer: GetEntitySerializationForConnection helper function 2021-05-26 18:04:48 +08:00
vis2k
ca319fdb32 rename 2021-05-26 17:58:42 +08:00
vis2k
27378e3146 syntax 2021-05-26 17:57:17 +08:00
vis2k
98bd54f5eb NetworkServer.Broadcast helper function 2021-05-26 17:56:14 +08:00
vis2k
4763bad896 NetworkServer: DisconnectInactive helper function 2021-05-26 17:55:06 +08:00
vis2k
82b79df1be NetworkServer: ClearSpawnedDirtyBits helper function 2021-05-26 17:52:29 +08:00
vis2k
a8630abbf6 NetworkServer: CleanupSerializations helper function 2021-05-26 17:51:15 +08:00
vis2k
2085cd387f NetworkServer: broadcast to connection code moved into BroadcastToConnection 2021-05-26 17:49:19 +08:00
vis2k
7af1156d4a perf: Extensions.CopyTo foreach allocation removed 2021-05-26 14:51:17 +08:00
vis2k
15b13c9bf6 perf: Pool initial capacity. allocates writers during initialization so we have fewer allocations in the first few frames 2021-05-26 14:45:11 +08:00
vis2k
8adede43a2 NetworkIdentity.visibility: assign from Awake instead of lazy get 2021-05-26 14:19:13 +08:00
vis2k
a10cdd6cbf
NetworkConnection: move message processing to NetworkServer/Client to avoid extra round in call stack (#2744)
* NetworkConnection: remove redundant .handlers state. NetworkConnectionToClient/Server use NetworkServer/Client anyway.

* NetworkConnection: move OnTransportData to NetworkServer/Client to simplify call stack. previously it was:

  Transport.OnData
    Server/Client.OnTransportData
      Connection.OnTransportData
        Connection.UnpackAndInvoke
          Connection.InvokeHandler
            Server/Client.Handler

now it is:

  Transport.OnData
    Server/Client.OnTransportData
      Server/Client.UnpackAndInvoke
        Server/Client.Handler
2021-05-26 10:18:44 +08:00
MrGadget1024
26a7a2f76a fix: Stop Discovery when client gets into Connected state 2021-05-24 22:30:11 -04:00
vis2k
e5f32feeba syntax 2021-05-24 17:45:26 +08:00
vis2k
ceb7b24b8a
breaking: NetworkBehaviour .netIdentity, .ComponentIndex, .NetworkBehaviours[] simplified by setting it from NetworkIdentity.Awake() (#2742) 2021-05-24 17:41:34 +08:00
vis2k
52b3c94e20 NetworkServerTest: clean up client too 2021-05-24 16:04:43 +08:00
vis2k
9ac8997d6a comments 2021-05-24 15:06:29 +08:00
vis2k
02e8cde323 syntax 2021-05-24 15:05:05 +08:00
vis2k
98ea3af0e0 LocalConnectionTest: correct test names 2021-05-24 15:04:41 +08:00
vis2k
7ebb7fafcb rename 2021-05-24 14:55:03 +08:00
vis2k
3309fa4cc3 TODO 2021-05-23 23:42:44 +08:00
vis2k
77e8f1d7e4 ClientSceneTests: reuse CreateNetworked 2021-05-23 23:36:26 +08:00
vis2k
0a28072f26 syntax 2021-05-23 22:41:27 +08:00
vis2k
1f7e97e29b BatchingTests : MirrorTest 2021-05-23 22:40:07 +08:00
vis2k
1f858fff01 remove unnecessary BasicAuthenticatorTest 2021-05-23 22:38:55 +08:00
vis2k
04d5b7d5f0 NetworkIdentityTests: cleanup via CreateNetworked 2021-05-23 20:03:21 +08:00
vis2k
0426920d88 MirrorTest: CreateNetworked<T,U,V> 2021-05-23 19:57:04 +08:00
vis2k
78493f5fe3 this too 2021-05-23 19:53:54 +08:00
vis2k
8f336b8551 NetworkIdentityTests: simplify cleanup 2021-05-23 19:49:07 +08:00
vis2k
aec7e7ac77 NetworkBehaviourTests: cleanup via CreateNetworked 2021-05-23 19:40:02 +08:00
vis2k
7d5655ae56 NetworkBehaviourTests: simplify cleanup 2021-05-23 19:19:44 +08:00
vis2k
4a4415d456 NetworkBehaviourTests: reuse CreateNetworked 2021-05-23 19:17:13 +08:00
vis2k
edcbaae9a4 NetworkBehaviourTests: ComponentIndex simplified 2021-05-23 19:12:03 +08:00
vis2k
ec332f8b74 syntax 2021-05-23 19:08:49 +08:00
vis2k
3e62659b6f NetworkServerTests: cleanup 2021-05-23 19:05:37 +08:00
MrGadget1024
e09b313571 Syntax. made list readonly (code smell) 2021-05-23 06:30:19 -04:00
vis2k
c8156292a5 fix: #2739: NetworkServer.Update now operates on a copy of connections so transports can call OnTransportDisconnected from within send. avoids 'collection can't be modified while iterating' exception 2021-05-23 17:32:01 +08:00
vis2k
7364361028 Extensions: CopyTo(List<T>) and test 2021-05-23 17:31:06 +08:00
vis2k
db6a842358 Tests: NetworkServer.UpdateWithTimedOutConnection related to #2718 2021-05-22 14:49:54 +08:00
vis2k
b20c5b636c InterestManagementTests: utilize MirrorTest 2021-05-20 16:02:49 +08:00
vis2k
8961eb2ec6 SyncVarTest: reuse CreateNetworked 2021-05-20 15:56:54 +08:00
vis2k
f846b311f3 ClientSceneTestsBase: remove unnecessary shortcuts 2021-05-20 15:48:42 +08:00
vis2k
fd2288e541 ClientSceneTestsBase: remove tracking 2021-05-20 15:41:15 +08:00
vis2k
9e73f074c9 ClientSceneTests: reuse CreateNetworked/CreateGameObject 2021-05-20 15:40:22 +08:00
vis2k
25f069065e MirrorTest: CreateGameObject 2021-05-20 15:38:53 +08:00
vis2k
d43e85b5ae ClientSceneTests: reuse CreateNetworked 2021-05-20 15:36:08 +08:00
vis2k
63023c1f27 Tests: SpawnObject reuses CreateNetworked 2021-05-20 15:29:08 +08:00
vis2k
c8193c2100 ClientSceneTest: CreateSceneObject reuses CreateNetworked 2021-05-20 15:26:58 +08:00
vis2k
648b7a650b ClientSceneTestsBase : MirrorTest 2021-05-20 15:26:58 +08:00
James Frowen
aee7c82ddd
fix: fixing NetworkDiagnostics receive for batching (#2700) 2021-05-20 15:05:33 +08:00
vis2k
80c69422ab NetworkManagerHUD: show host status separately to avoid confusion (see #2725) 2021-05-20 15:04:29 +08:00
vis2k
260eed289e NetworkManagerHUD connected wording 2021-05-20 15:00:21 +08:00
MrGadget1024
c1d8964c82 MIRROR_39_0_OR_NEWER 2021-05-20 02:04:11 -04:00
vis2k
887a31942e NetworkWriterTest: use CreateNetworked 2021-05-20 13:31:41 +08:00
vis2k
2052d1e7ca NetworkWriterTest: use CreateNetworked 2021-05-20 13:30:50 +08:00
vis2k
4b3061a786 remove unused 2021-05-20 13:27:28 +08:00
vis2k
b6a8f6853f Tests: finally remove CreateNetworkIdentity 2021-05-20 13:26:26 +08:00
vis2k
7011a1f49f SyncVarTests: remove dependency on CreateNetworkIdentity 2021-05-20 13:26:04 +08:00
vis2k
ff2c264fae Tests: remove generic magic 2021-05-20 13:19:19 +08:00
vis2k
bbeb544d23 Tests: SyncVarCacheNetidForBehaviour: don't use generic magic 2021-05-20 13:18:38 +08:00
MrGadget1024
b2105be8f1 feat: RoomManager Auto-Restart
When in headless server mode, and when last player disconnects, RoomManager will self-call `StopServer` which will fully reset it to the offline scene and then back to the Room scene so players can join again for another play.
2021-05-20 01:16:08 -04:00
MrGadget1024
c7fe7acc15 Moved Discovery Stop buttons down a bit 2021-05-20 01:16:08 -04:00
vis2k
bcb0e1f53d Tests: SyncVarCacheNetidForIdentity: don't use generic magic 2021-05-20 13:15:57 +08:00
vis2k
11be7869fc Tests: SyncVarCacheNetIdForGameObject: don't use generic magic 2021-05-20 13:13:57 +08:00
vis2k
a8249bb13d remove unused test 2021-05-20 13:10:10 +08:00
vis2k
0af57b1bea SyncVarHookTest: reduce dependencies on CreateNetworkIdentity to prepare for removal 2021-05-20 13:08:12 +08:00
vis2k
35e1976373 SyncVarHookTest: reduce dependencies on CreateNetworkIdentity to prepare for removal 2021-05-20 13:06:21 +08:00
MrGadget
b4e81537c9
fix: Shutdown Discovery in OnDisable / OnDestroy (#2736) 2021-05-20 13:06:12 +08:00
MrGadget1024
d0e5131b3f feat: Added Stop buttons to Discovery HUD
Copied from NetworkManagerHUD
2021-05-20 00:49:12 -04:00
vis2k
e153cd6ced TODO 2021-05-20 12:25:34 +08:00
vis2k
538f6c7b29 SyncVarTest: reuse CreateNetworked instead of CreateNetworkIdentity 2021-05-20 12:23:04 +08:00
vis2k
2650d92804 NetworkIdentity.Reset: add comment 2021-05-20 11:46:06 +08:00
vis2k
404d5a884f Tests call NetworkIdentity.Awake now too. prepares for NetworkComponents initialization. 2021-05-20 11:39:12 +08:00
vis2k
69fea4064b CreateNetworkedAndSpawn: reuse CreateNetworked 2021-05-20 11:35:57 +08:00
vis2k
86d8986f5b remove unused 2021-05-19 20:21:30 +08:00
vis2k
1a75bcc616 SyncVarHookTest: reuse CreateNetworked 2021-05-19 20:21:05 +08:00
vis2k
c59d453cd8 remove unused 2021-05-19 20:16:47 +08:00
vis2k
819552d6a7 SyncVarTests: reuse CreateNetworked 2021-05-19 20:15:25 +08:00
vis2k
f6583f5d88 MirrorTest: set syncInterval=0 too 2021-05-19 19:58:20 +08:00
vis2k
1a4cd6a250 SyncVarTestBase: reuse MirrorTest 2021-05-19 19:54:06 +08:00
vis2k
ad224baf38 RemoteTestBase: remove unused 2021-05-19 19:48:32 +08:00
vis2k
181464521c NetworkServerTest: use MirrorTest CreateNetworked 2021-05-19 19:47:10 +08:00
vis2k
f6c13424cf MirrorTest: CreateNetworked<T,U> 2021-05-19 19:47:10 +08:00
vis2k
152ffb11a7 NetworkMatchCheckerTest reuses MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
09d749e613 NetworkManagerTest reuses MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
9c8f60bd56 NetworkManagerStopHostOnServerDisconnectTest reuses MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
b7cbbb02c0 NetworkIdentityTests reuse MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
4ee6eec558 NetworkConnectionToClientTests reuse MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
b180fd5001 NetworkClientTests reuse MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
d2f181a7d6 MirrorTest.UpdateTransport helper 2021-05-19 19:47:10 +08:00
vis2k
385facbe5c NetworkBehaviourTests reuses MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
787a734ce5 TODO 2021-05-19 19:47:10 +08:00
vis2k
6db98895a1 MirrorTest: CreateNetworkedAndSpawn, ProcessMessages 2021-05-19 19:47:10 +08:00
vis2k
97c525eb88 TargetRpcTest: reuse CreateNetworked 2021-05-19 19:47:10 +08:00
vis2k
e98ce05bee protected 2021-05-19 19:47:10 +08:00
vis2k
8a7c474e25 null check 2021-05-19 19:47:10 +08:00
vis2k
0d8ca1fe66 RemoteTestBase uses MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
753ee98a09 MirrorTest creates MemoryTransport too 2021-05-19 19:47:10 +08:00
vis2k
8d4a6f0f21 Tests: MirrorTest helper class 2021-05-19 19:47:10 +08:00
vis2k
31e85ac834 remove unnecessary NetworkTransformChildTest 2021-05-19 19:46:59 +08:00
vis2k
511f9ee453 NetworkMatchCheckerTest: don't use reflection 2021-05-19 19:29:38 +08:00
vis2k
4a52a566c6 perf: NetworkBehaviour ComponentIndex O(N) => O(1) via caching 2021-05-19 15:31:23 +08:00
vis2k
72c440bd9c TODO 2021-05-19 15:29:38 +08:00
vis2k
237357c147 TODO 2021-05-19 15:29:10 +08:00
vis2k
3851325c59 oops 2021-05-19 12:37:31 +08:00
vis2k
dc70cd33d7 Tests: CreateNetworked without NetworkBehaviour 2021-05-19 12:37:20 +08:00
vis2k
c4491fe0d6 Tests: ActivateHostSceneCallsOnStartClient uses CreateNetworked 2021-05-19 12:35:54 +08:00
vis2k
691ac1311c TestUtils.CreateNetworked<T> 2021-05-19 12:32:34 +08:00
vis2k
c8349f3f01 TestUtils.CreateBehaviour 2021-05-19 12:03:29 +08:00
Chris Lang
96cf4e74c4 Updated processor define symbols for breaking changes
- We really need to remember or automate this.
2021-05-18 14:14:16 -04:00
Chris Lang
c48beedb48 Dated Deprecations 2021-05-18 11:00:34 -04:00
vis2k
a14da0a701 TODO 2021-05-18 22:03:44 +08:00
vis2k
c4dcb4d176 add comment 2021-05-18 22:00:46 +08:00
vis2k
c4e37f670c NetworkReader API cleanup: ReadInt16 => ReadShort etc. 2021-05-18 21:01:48 +08:00
vis2k
46539ef816 NetworkWriter API cleanup: WriteInt16 => WriteShort etc. 2021-05-18 13:31:44 +08:00
vis2k
c661fdac36 fix test after NetworkWriter Length removal 2021-05-18 13:25:13 +08:00
vis2k
8a4416e3b5
breaking: perf: remove NetworkWriter.Length/SetLength/EnsureLength. Position is enough. (#2731)
* NetworkWriter: obsolete .Length and .SetLength()

* breaking: perf: remove NetworkWriter.Length/SetLength/EnsureLength. Position is enough.
2021-05-18 12:07:10 +08:00
vis2k
e823de74bd Mirror uses new Transport.Send version everywhere 2021-05-17 17:41:54 +08:00
vis2k
9a0cce64cd Transport.Send API cleanup: channelId is now the last parameter, for consistency with the rest of Mirror where it's often a default parameter (which has to be last) 2021-05-17 17:27:58 +08:00
vis2k
f79709a263 Transport: xml comments cleanup 2021-05-17 17:06:53 +08:00
vis2k
6ebe813fc8 add comment 2021-05-16 14:06:09 +08:00
MrGadget
28f186a76f
fix: Reset Network Time whenever server starts (#2713) 2021-05-15 14:45:26 +08:00
vis2k
d33965c800 NetworkServer broadcasting: GetEntitySerialization helper function 2021-05-14 12:43:21 +08:00
vis2k
d045918ea7 add TODO 2021-05-14 12:41:08 +08:00
vis2k
16d0829ee4 NetworkClient.Shutdown: clear connection too 2021-05-13 22:13:50 +08:00
vis2k
269f9f486c obsolete test 2021-05-13 21:57:17 +08:00
vis2k
55263977f8
breaking: obsolete FallbackTransport (#2720) 2021-05-13 21:52:10 +08:00
vis2k
b0b4b9523c breaking: remove Cloud API and examples. 2021-05-13 21:51:49 +08:00
vis2k
c5073da7b3 syntax 2021-05-13 13:07:57 +08:00
vis2k
15232d35b3 syntax 2021-05-13 13:07:04 +08:00
vis2k
f4c72cf135 syntax 2021-05-13 13:06:07 +08:00
vis2k
d8786b16ff syntax 2021-05-13 13:05:33 +08:00
vis2k
c5579e9744 syntax 2021-05-13 13:02:23 +08:00
vis2k
cce0e7db03 syntax 2021-05-13 13:00:23 +08:00
vis2k
74297fd7fb syntax 2021-05-13 12:58:42 +08:00
vis2k
46dce930fb syntax 2021-05-13 12:58:00 +08:00
vis2k
3a3a726059 NetworkServerTest: syntax 2021-05-13 12:55:12 +08:00
vis2k
0d6b677660 syntax 2021-05-13 12:53:34 +08:00
vis2k
f5a856abc1 remove NetworkReader/WriterPoolTests. Pool<T> is already tested. 2021-05-13 12:51:33 +08:00
vis2k
d22e4387a0 add comments 2021-05-13 12:50:10 +08:00
vis2k
8cb68f6a16 Tests: MessageBaseTests renamed to NetworkMessageTests 2021-05-13 12:48:13 +08:00
vis2k
23cfcb7db7 Tests: LocalConnectionsTest ClientToServer 2021-05-13 12:47:15 +08:00
vis2k
02ff1076f8 Tests: LocalConnectionsTest ServerToClient 2021-05-13 12:43:51 +08:00
vis2k
3d122ea37e Tests: remove unnecessary CustomAttributeTest 2021-05-13 12:30:59 +08:00
vis2k
9d50c1a1d0 Tests: BuiltInMessages cleanup 2021-05-13 12:30:04 +08:00
vis2k
b7a6932b93 use local function 2021-05-13 12:06:00 +08:00
vis2k
a66fefb1e3 syntax 2021-05-13 12:00:59 +08:00
vis2k
35b16df3e5 add comments 2021-05-13 11:59:41 +08:00
vis2k
56b52b4973
NetworkManager.StopHost: call NetworkServer.OnTransportDisconnected directly so we can obsolete NetworkClient.DisconnectLocalServer. (#2717) 2021-05-11 22:00:16 +08:00
vis2k
97b4cb1c0b NetworkServer.DisconnectAllExternalConnections moved into DisconnectAll, because that's what it actually does. 2021-05-11 21:54:06 +08:00
vis2k
c44016b049 add comment 2021-05-11 21:21:43 +08:00
vis2k
007dd80852 fix: NetworkServer.OnDisconnected removed. There is only one way to invoke the disconnect handling, which is OnTransportDisconnected. fixes bugs where OnDisconnect would handle the disconnect, not remove the connection, then the Transport callback would call OnTransportDisconnected->OnDisconnect a second time. fixes #2706 and many more 2021-05-11 21:19:45 +08:00
vis2k
bac1f94033 NetworkServerTest: use ClientConnect so that invoked connectionId and MemoryTransport's internal connectionId match. 2021-05-11 18:21:03 +08:00
vis2k
2d24dfefbe NetworkServerTest: UpdateTransport helper function 2021-05-11 16:36:34 +08:00
vis2k
e942062c79 NetworkServerTests simplified by storing Transport in a field 2021-05-11 16:34:44 +08:00
vis2k
7c358054d7 fix: NetworkServer.OnTransportDisconnected doesn't call conn.Disconnect() again. avoids possible deadlocks etc. 2021-05-11 13:15:14 +08:00
vis2k
7d807d04fa add TODO 2021-05-11 13:05:20 +08:00
vis2k
4722b9739d NetworkClient.Disconnect: RemoveLocalConnection call moved into LocalConnectionToServer where it belongs 2021-05-11 12:58:02 +08:00
vis2k
015a8ea1a4 NetworkClient.Disconnect: connection != null check not needed because of the new early return 2021-05-11 12:41:07 +08:00
vis2k
f0caa19270 add TODO 2021-05-11 12:36:20 +08:00
vis2k
e8a6b5c2b5 NetworkClient.Disconnect: remove dead code 2021-05-11 12:35:44 +08:00
vis2k
79caa1b9a2 NetworkClient.Disconnect: early return so it's not called twice 2021-05-11 12:31:20 +08:00
vis2k
1733b84cbe breaking: Transport.ServerDisconnect return value changed from bool to void because it's not used anywhere 2021-05-11 12:06:12 +08:00
vis2k
45e481e65e NetworkConnection.RemoveObservers renamed to RemoveFromObservingsObservers because that's what it actually does 2021-05-11 11:47:46 +08:00
vis2k
979f67497e disable failing test 2021-05-10 23:23:20 +08:00
vis2k
76241da75f
breaking: obsolete Mirror timeout handling. Transport handle it instead. (#2711) 2021-05-10 21:37:29 +08:00
vis2k
9b2e7d09c7 add comment 2021-05-10 21:33:38 +08:00
vis2k
939f2820ea fix: NetworkServer.OnDisconnect now calls DestroyPlayerForConnection if NetworkManager doesn't handle it. 2021-05-10 21:04:03 +08:00
vis2k
eadda02701 add comment 2021-05-10 20:59:30 +08:00
vis2k
e723a52c97 add comments 2021-05-10 20:57:38 +08:00
vis2k
497c279b2f TODO 2021-05-10 20:49:45 +08:00
vis2k
561ec64960 NetworkManager: remove redundant OnServerDisconnectInternal 2021-05-10 20:44:19 +08:00
vis2k
522a9533f6 NetworkConnection.TransportReceive renamed to OnTransportData 2021-05-10 20:17:34 +08:00
vis2k
0d3d0bdf5f NetworkClient: Transport events renamed to be more obvious 2021-05-10 20:11:31 +08:00
vis2k
b11cc9c52a NetworkServer: Transport events renamed to be more obvious 2021-05-10 20:07:16 +08:00
vis2k
5b84aee346 Transport: add comments on what is required 2021-05-10 19:47:20 +08:00
MrGadget1024
18dc7cc373 feat: sync scale and interpolation adjustments
- PR #2704 should have been prefixed with "feat" for version bump
2021-05-05 00:25:41 -04:00
JesusLuvsYooh
fa8ef7da49
sync scale and interpolation adjustments (#2704)
* sync scale and interpolation adjustments

* Update NetworkTransformBase.cs
2021-05-03 10:22:39 +08:00
MrGadget
474f278575
fix: Network Authentators: Removed NetworkConnection parameter (#2703)
As was done in other areas, now using `NetworkClient.connection` instead of passing a `conn` parameter around.
- Abstract NetworkAuthenticator now has obsoletes.
- Basic and Timeout Authenticators Updated
- Network Manager Updated
- Script Template Updated
2021-04-30 09:33:17 +08:00
Musab Gültekin
1167e50fed
Typo fix (#2696)
Fix a typo at line 1218 on NetworkManager.cs
2021-04-22 09:17:40 -04:00
MrGadget
29668bdf6a
feat: Prevent Player Prefab from being added to spawnPrefabs (#2678)
* feat: Prevent Player Prefab from being added to spawnPrefabs
This will prevent this unhelpful warning:
`Replacing existing prefab with assetId 'c3ee5d2b-0807-ecb4-f85b-93753624468e'. Old prefab 'Player', New prefab 'Player'`

* added comment

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-04-22 10:47:23 +08:00
vis2k
9fe19bf8e8 'Spawn scene object not found' error improved 2021-04-19 11:44:03 +08:00
Laur3nt1u
6db8e4a929
SimpleWebTransport fix ssl handshake (#2689)
This fixes the handshake for reverse proxy use
2021-04-14 10:11:56 +08:00
MrGadget
8ef84791be
Moved "removed" files to Empty folders (#2692)
Moved "removed" files to Empty folders in same folder as original to preserve meta references.
In one case the entire Logging folder was moved.
In all cases I stayed within the coverage of AsmDef's that they were previously.
2021-04-14 10:10:30 +08:00
vis2k
3e555c92ba breaking: MessagePacking GetId<T> return value changed to ushort because that's what it always is. type safety matters. 2021-04-06 18:57:55 +08:00
MrGadget1024
6c5934f731 fix: Added ServerAuthFailed bool to Basic Authenticator
Fixes #2621
2021-04-06 00:02:51 -04:00
MrGadget1024
5fee51ada0 doc: Updated docs urls 2021-04-01 06:23:32 -04:00
vis2k
93ee04723a version define 2021-03-28 10:03:55 +08:00
MrGadget
621153c95e
feat: Call ConfigureServerFrameRate For Headless Clients (#2660)
* feat: Call ConfigureServerFrameRate for headless clients

* code order consistancy

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-03-27 18:53:18 +08:00
MrGadget
008dbbcf9c
fix: Prevent client shutdown from running twice (#2666)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-03-27 18:52:27 +08:00
vis2k
2ec53df4a9 syntax 2021-03-27 12:06:14 +08:00
vis2k
3a9d954404 fix: #2579 - Weaver skips already weaved assemblies when restarting Unity. fixes a bug where GeneratedNetworkCode class would exist twice, while the newer one was missing some writers 2021-03-27 11:49:12 +08:00
vis2k
afc4f584fc syntax 2021-03-27 11:30:52 +08:00
vis2k
a4eb0c4d77 Weaver: CreateGeneratedCodeClass helper function and some restructuring so it's not hidden in WeaverList constructor 2021-03-27 11:09:52 +08:00
vis2k
e356e4f9c8 Weaver: GeneratedNetworkCode name as const 2021-03-27 11:05:01 +08:00
vis2k
42065c1699 add comment 2021-03-27 11:05:01 +08:00
MrGadget1024
38250ebb59 Added tooltip to SyncMode for inspector 2021-03-26 13:07:46 -04:00
vis2k
95a7f830c3 add log for debugging if needed 2021-03-26 19:34:37 +08:00
vis2k
98109c0ed3 add comments 2021-03-26 11:32:40 +08:00
vis2k
b1754c8748 Weaver.ReaderWriterProcessor.InitialzieReaderAndWriters: eli5 2021-03-26 11:31:41 +08:00
vis2k
417642475a fix: #2579 "No writer found" error when running Mirror tests in Unity 2020.3 Editor. fixes the first bug in editor, but maybe not the runtime bug? or maybe it does. 2021-03-26 11:17:56 +08:00
vis2k
b7c63c3067 fix: #2517 - NetworkManager.UpdateScene wraps FinishLoadScene in try/catch to guarantee loadingSceneAsync being cleared no matter what. fixes a bug where if FinishLoadScene throws then loadingSceneAsync is never cleared and the code runs every update 2021-03-21 23:54:13 +08:00
vis2k
57ae5372ba NetworkManager.UpdateScene made non static. it wasn't obvious why this would be static, and it's called from nonstatic Update() anyway. makes it cleaner. 2021-03-21 12:33:06 +08:00
vis2k
b422ccb29e NetworkManager.FinishLoadScene made protected so inheritors can still use it, but users don't need to worry about it (not in the public API) 2021-03-21 12:31:41 +08:00
MrGadget1024
fedc2884ce Revert "Replaced Proximity Checker with Distance Interest Mgmt"
This reverts commit 5c7bfa4834.
2021-03-21 00:24:19 -04:00
MrGadget1024
5c7bfa4834 Replaced Proximity Checker with Distance Interest Mgmt 2021-03-20 22:51:00 -04:00
MrGadget
0c903dabc6
Updated examples to not sync scale (#2661)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-03-21 10:05:07 +08:00
MrGadget
cd6a4805d7
breaking: Compiler symbols culled to Mirror 17 and later. (#2659)
* breaking: Compiler symbols culled to Mirror 17 and later.

* added missing quote

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-03-21 10:04:45 +08:00
MrGadget1024
95f55e652f doc: Added DDOL note to NetworkBehaviour template 2021-03-20 19:26:35 -04:00
MrGadget1024
1f22066f9b fix: MultipleAdditiveScenes disabled Server Batching
This can be enabled again when batching is fixed.
See https://github.com/vis2k/Mirror/issues/2651
2021-03-19 22:46:55 -04:00
MrGadget1024
9190dcfb7e NetworkManager: Make FinishLoadScene public
FinishLoadScene needs to be accessible from override of LateUpdate
2021-03-19 09:22:51 -04:00
MrGadget1024
1335b40d11 NetworkManager: move clientSceneOperation caching up 2021-03-19 09:07:12 -04:00
JesusLuvsYooh
6b9b7ce5af
Added new syncScale boolean to NT Test writer. (#2657) 2021-03-18 16:47:01 -04:00
JesusLuvsYooh
68ae40818b
NetworkTransformBase sync scale boolean. (#2655)
* NetworkTransformBase syncScale boolean

https://github.com/vis2k/Mirror/pull/2646

* NT - Command for client to server - Unreliable
2021-03-18 16:39:14 +08:00
vis2k
09bf1c5bf0 fix: NetworkLoop inserts a fresh PlayerLoopSystem instead of resizing and overwriting partially. fixes undefined behaviour where the previous nativeLoop IntPtrs weren't cleared, possibly still updating a native loop accidentally. See also #2652 2021-03-18 12:59:00 +08:00
MrGadget1024
1defc926dc Basic Example: Moved playersList to Player class 2021-03-17 21:56:13 -04:00
MrGadget1024
f70946a362 fix: Fixed field lable not shown for SyncVars 2021-03-16 14:40:55 -04:00
vis2k
c957500710 customizable noise 2021-03-16 16:30:27 +08:00
vis2k
e9081c468c LatencySimulation: perlin noise spikes 2021-03-16 16:12:04 +08:00
vis2k
d8fb7cda63 range slider 2021-03-16 15:32:04 +08:00
vis2k
83f8593caa LatencySimulation: spike latency via multiplier 2021-03-16 15:29:20 +08:00
vis2k
1281f72ac2 LatencySimulation: SimulateLatency helper function 2021-03-16 15:26:42 +08:00
vis2k
de076348c0 syntax 2021-03-16 15:24:52 +08:00
vis2k
58560166ca Latency Simulation: add latency when adding to queue 2021-03-16 15:24:23 +08:00
vis2k
28be3a814c syntax 2021-03-16 15:19:37 +08:00
vis2k
1938597a7b LatencySimulation: scramble changed to a probability 2021-03-16 13:40:04 +08:00
vis2k
c5322ac5d5
remove performance test framework to fix CI (#2648) 2021-03-16 12:40:26 +08:00
MrGadget
53dad15e04 Shorten Channel Enums (#2644)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-03-16 12:08:28 +08:00
ThatDan123
254a0b929d Added what size the rejected packet was (#2645) 2021-03-16 12:08:23 +08:00
MrGadget1024
386a26c5b7 GUIConsole in Mirror namespace, formatting 2021-03-16 12:08:18 +08:00
vis2k
0713db8338 add comment 2021-03-15 19:26:18 +08:00
vis2k
0c39279239 obsolete Utils.Version 2021-03-15 19:21:24 +08:00
vis2k
257dd2a775 cleanup 2021-03-15 19:18:02 +08:00
vis2k
a5ab683917 cleanup 2021-03-15 19:18:02 +08:00
JesusLuvsYooh
ce62184a86
interpolateScale On NT (#2639)
interpolateScale On NT
2021-03-15 18:01:55 +08:00
vis2k
c4e4bf3148 LatencySimulation: add latency spikes 2021-03-15 13:43:15 +08:00
vis2k
f3997b6030 syntax 2021-03-15 13:38:40 +08:00
vis2k
7de5c18986 fix: LatencySimulation now sends all messages that are ready to be sent. previously a scrambled message being inserted randomly could delay the ones behind it in the list 2021-03-15 13:21:34 +08:00
vis2k
7c7fa74572 add comment 2021-03-15 13:16:12 +08:00
vis2k
2f2ffb9f36
feature: Latency Simulation (#2640)
* wrap around a transport

* loss

* unreliable client to server latency

* reliable client to server latency

* unreliable/reliable server to client latency

* add comment

* list to prepare for scramble

* unreliable scramble

* rename to LatencySimulation

* help url

* doc: updated comment

* fix: MultipleAdditiveScenes AddPlayer timing

* Update Assets/Mirror/Runtime/Transport/LatencySimulation.cs

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

* Update Assets/Mirror/Runtime/Transport/LatencySimulation.cs

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

* remove old comments

* SimuateSend helper function as per suggestion

Co-authored-by: MrGadget1024 <chris@clevertech.net>
Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
2021-03-15 10:12:54 +08:00
MrGadget1024
86c8e1bb24 fix: MultipleAdditiveScenes AddPlayer timing 2021-03-14 17:06:05 -04:00
MrGadget1024
6384d1c244 doc: updated comment 2021-03-14 15:10:13 -04:00
vis2k
78b6cfbde7 feat: NetworkTransform.compressRotation option. disabled by default to not break 2D projects. 2021-03-14 14:53:23 +08:00
vis2k
19017dfb41 fix: NetworkTransform compression disabled for now to fix tiny 'wobbly' 2D sprite rotations. NetworkTransform will be remade anyway. make it work, then make it fast. 2021-03-14 14:41:10 +08:00
vis2k
7428941c93 CompressionTests: test 90 degree euler angle 2021-03-14 14:14:43 +08:00
MrGadget1024
383a0279c0 fix: Updated Authenticator Template for NetworkClient.connection 2021-03-13 15:57:30 -05:00
vis2k
c3c95d22ca Utils.IsPrefab: remove <2018.3 support 2021-03-13 20:00:12 +08:00
vis2k
df2330239f add TODO 2021-03-13 19:53:51 +08:00
vis2k
b9027737c8 add TODO 2021-03-13 19:47:35 +08:00
vis2k
23722ce828 add comment 2021-03-13 19:42:49 +08:00
vis2k
b258a27c09 add comment 2021-03-13 19:42:20 +08:00
vis2k
f19385d565 add TODO 2021-03-13 19:40:18 +08:00
vis2k
461ce519ff obsolete redundant NetworkClient.RegisterHandler version with NetworkConnection 2021-03-13 19:35:49 +08:00
vis2k
e0d023828f add TODOs 2021-03-13 19:30:46 +08:00
vis2k
5cb86830f1 BasicAuthenticator.OnAuthResponseMessage: remove unnecessary NetworkConnection parameter to remove last dependency on RegisterHandler version with NetworkConnection 2021-03-13 19:30:16 +08:00
vis2k
ecf15f5070 NetworkManager: OnClientSceneInternal uses RegisterHandler version without NetworkConnection parameter to prepare for removal 2021-03-13 19:25:29 +08:00
vis2k
8e0ef05c64 NetworkManager: OnClientNotReadyMessageInternal uses RegisterHandler version without NetworkConnection parameter to prepare for removal 2021-03-13 19:24:45 +08:00
vis2k
5bf7be143c NetworkClient.OnConnected/DisconnectEvent: remove redundant NetworkConnection parameter. It's always NetworkClient.connection anyway. 2021-03-13 19:22:57 +08:00
vis2k
f38d29b61c MultipleMatches example: CanvasController uses RegisterHandler version without NetworkConnection parameter to prepare for removal 2021-03-13 19:17:59 +08:00
vis2k
3cfee7dd14 add TODO 2021-03-13 19:13:53 +08:00
vis2k
21e0d6c8e0 NetworkClient.RegisterSystemHandlers: use the variant without NetworkConnection parameter so we can remove the other one later 2021-03-13 19:12:08 +08:00
vis2k
251d3cd392 NetworkClient.ClearLocalPlayer removed. clear it directly instead. 2021-03-13 18:36:52 +08:00
vis2k
9cf4207819 fix: #2635 - Reset also checks if local player before clearing it (see previous commit) 2021-03-13 18:36:29 +08:00
vis2k
457b21d907 fix: #2635 NetworkIdentity.OnDestroy only clears NetworkClient.localPlayer if WE are STILL the local player.
fixes data race in rooms scene (explanation see comments)
2021-03-13 18:29:20 +08:00
vis2k
2cd4403429 add TODO 2021-03-13 13:59:19 +08:00
vis2k
be229f27d8 add TODO 2021-03-13 13:58:39 +08:00
vis2k
251000436f syntax 2021-03-13 13:54:04 +08:00
vis2k
e5f6d25ae3 syntax 2021-03-13 13:53:27 +08:00
vis2k
01d1630b7f syntax 2021-03-13 13:52:44 +08:00
vis2k
a643cf7045 syntax 2021-03-13 13:52:32 +08:00
vis2k
89df32563b syntax 2021-03-13 13:52:14 +08:00
vis2k
b2892e7e1a add TODO 2021-03-13 13:51:20 +08:00
vis2k
0949c9d875 NetworkClient.HandleClientDisconnect removed. set .ready=false directly instead. way easier to understand. 2021-03-13 13:48:29 +08:00
vis2k
d7ee25e589 NetworkClient.HandleClientDisconnect: remove unnecessary connection parameter. it wasn't even used. 2021-03-13 13:44:34 +08:00
vis2k
4a47b1c7d2 NetworkClient.Ready: easier syntax 2021-03-13 13:34:58 +08:00
vis2k
f38af96202
NetworkClient.Ready: remove unnecessary NetworkConnection parameter (#2634) 2021-03-13 13:33:02 +08:00
vis2k
4daf0e439f add TODOs 2021-03-13 13:17:17 +08:00
vis2k
5e7c873af9 comment formatting 2021-03-13 13:15:00 +08:00
vis2k
a5224ecd10 syntax 2021-03-13 13:11:13 +08:00
vis2k
4ce55f585c NetworkClient.Ready: improve error message 2021-03-13 13:10:39 +08:00
vis2k
10aca712c2 add TODO 2021-03-13 13:08:20 +08:00
vis2k
a2dc9e6283 add TODO 2021-03-13 13:07:15 +08:00
vis2k
87c2f982cd NetworkClient.AddPlayer: remove unnecessary ready line. we don't even get there if we aren't already ready. 2021-03-13 13:04:24 +08:00
vis2k
d118de81db NetworkClient.AddPlayer: check if ready again. UNET checked if it has a readyConnection before too. 2021-03-13 13:01:21 +08:00
vis2k
c3f27f0fa1 NetworkClient.AddPlayer: simplify syntax, add TODO 2021-03-13 12:53:36 +08:00
vis2k
dc181ffe08 NetworkClient.AddPlayer: remove unnecessary NetworkConnection parameter 2021-03-13 12:44:54 +08:00
vis2k
0d5df4842f obsolete NetworkClient.readyConnection redundant state 2021-03-13 12:36:54 +08:00
vis2k
dd5c137c7b Tests: remove last dependencies on .readyConnection 2021-03-13 12:35:45 +08:00
vis2k
13b4f7d5e7 old Logging files moved into Old folder 2021-03-13 12:22:56 +08:00
MrGadget1024
c7c43da3ad fix: NetworkLoop compiler definition wrong version 2021-03-12 09:04:44 -05:00
vis2k
c39a35077e SendCommandInternal: use NetworkClient.connection instead of NetworkClient.readyConnection to remove dependency on .readyConnection 2021-03-12 16:37:36 +08:00
vis2k
cf08822f00 test for #2629 [Command(requiresAuthority=false)] to make sure it never happens again 2021-03-12 15:32:10 +08:00
vis2k
9d38188d6e fix: NetworkClient.Ready(): set .connection to connection parameter like UNET did.
this was changed in 89cdec3075 because it's unnecessary.
but NetworkBehaviourTests.SendCommandInternal depends on it.
so let's keep feature parity for now.
2021-03-12 15:26:56 +08:00
vis2k
67d24ee2ca forgot to revert test too 2021-03-12 15:07:47 +08:00
vis2k
c749c84ee4 forgot to fix log 2021-03-12 15:06:03 +08:00
vis2k
73cd1ac72a fix: #2629 - Revert "NetworkBehaviour.SendCommandInternal: use connectionToServer instead of NetworkClient.readyConnection. reduces dependencies on NetworkClient.readyConnection (which is redundant) and reduces static states. (#2620)"
This reverts commit 64f247fb32.
=> also adding a comment for next time
2021-03-12 14:54:09 +08:00
vis2k
413291a857 add TODO 2021-03-12 14:28:02 +08:00
MrGadget1024
5d00885564 perf: NetworkTransform - Removed redundant .transform 2021-03-11 08:49:24 -05:00
vis2k
2d004609c4 add comment 2021-03-11 14:23:18 +08:00
Coyote-A
038a1e3fd2
fix: networkloop breaks other libraries that use playerloop (#2627)
* use GetCurentPlayerLoop in unity 2019.3 or newer

* Update NetworkLoop.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-03-11 14:15:03 +08:00
vis2k
48a55ab487 remove old comment 2021-03-11 11:27:37 +08:00
vis2k
0992d71fe3 NetworkClient.CheckForLocalPlayer: remove dependency on readyConnection 2021-03-11 11:25:25 +08:00
MrGadget1024
540af6a9d5 fix: fix broken summary comments 2021-03-10 22:22:20 -05:00
vis2k
4c7a5d64a5 NetworkClient.AddPlayer: remove dependency on .readyConnection. the code has a '!ready' check before. so by definition, .readyConnection == .connection here. 2021-03-11 11:14:21 +08:00
vis2k
d299d607eb NetworkClient.InternalAddPlayer: remove dependency on readyConnection 2021-03-11 11:09:54 +08:00
vis2k
9ee2bc5893 NetworkClient.HandleClientDisconnect: remove unnecessary readyConnection comparison 2021-03-11 11:09:54 +08:00
MrGadget
1042a39d85
fix: Added PersistNetworkManagerToOfflineScene (#2625)
* Added PersistNetworkManagerToOfflineScene
- Fixes #2624

* Added pragma suppression

* Fixed bool check

* More comments

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-03-10 22:08:29 -05:00
vis2k
171b674a0f comment 2021-03-11 10:48:20 +08:00
vis2k
89cdec3075 NetworkClient.readyConnection state removed. points to .connection if .ready instead. 2021-03-11 10:36:11 +08:00
vis2k
5a1a67298b update comment 2021-03-11 10:21:29 +08:00
vis2k
816c8885de wat 2021-03-11 10:19:51 +08:00
vis2k
c5d1af2287 fix tests that started failing after isLocalPlayer fixes commit (a6f6f80f65) because it assumed ApplySpawPayload would set isLocalPlayer=true. but now it's only set true in OnStartLocalPlayer, which is only called in ApplySpawnPayload if spawnFinished is true. which it isn't. so we set it manually instead. 2021-03-11 00:09:16 +08:00
vis2k
accf843283 fix: NetworkIdentity.Reset resets isLocalPlayer AFTER the isLocalPlayer ClearLocalPlayer check. fixes a runtime UnSpawn test. 2021-03-10 23:45:29 +08:00
vis2k
a23c01aa24 add OnStartLocalPlayer comment from paul 2021-03-10 23:28:11 +08:00
vis2k
956bfff3ad wat 2021-03-10 21:08:40 +08:00
vis2k
be2369f4a1 forgot one 2021-03-10 20:58:35 +08:00
vis2k
388b6bab71 NetworkAnimator: replace UNET's magic readyConnection check with isClient. this was from UNET and there was no comment, so nobody knew why it was used instead of isClient. 2021-03-10 20:55:21 +08:00
vis2k
97615b9491 syntax 2021-03-10 20:54:24 +08:00
vis2k
64f247fb32
NetworkBehaviour.SendCommandInternal: use connectionToServer instead of NetworkClient.readyConnection. reduces dependencies on NetworkClient.readyConnection (which is redundant) and reduces static states. (#2620) 2021-03-10 19:46:31 +08:00
vis2k
abbe34501d add TODOs 2021-03-10 19:31:54 +08:00
vis2k
a58cd37a36 [Command] tests: set up NetworkIdentity connectionToServer everywhere too, not just to client. prepares for making SendCommandInternal use connectionToServer instead of NetworkClient.readyConnection. 2021-03-10 19:04:08 +08:00
vis2k
b3c25d1094 add TODO 2021-03-10 18:46:41 +08:00
Coyote-A
29590401bc
add missing virtual update methods in MultiplexTransport (#2618) 2021-03-10 17:34:25 +08:00
vis2k
f239ee678a cleanup 2021-03-10 17:25:53 +08:00
vis2k
15d595fe41 SyncObject cleanup 2021-03-10 17:25:26 +08:00
vis2k
debcb400fe syntax 2021-03-10 17:23:29 +08:00
vis2k
ba9b9ec85b RemoteCallHelper cleanup 2021-03-10 17:22:57 +08:00
vis2k
0b9539b8de NetworkWriterPool cleanup 2021-03-10 17:20:37 +08:00
vis2k
055ff8dae4 NetworkWriter cleanup 2021-03-10 17:19:12 +08:00
vis2k
5dd37b5c09 cleanup 2021-03-10 16:31:13 +08:00
vis2k
459d5e203e NetworkTime: add TODOs 2021-03-10 16:31:13 +08:00
vis2k
b596294917 NetworkTime.rttSd was renamed to rttStandardDeviation 2021-03-10 16:31:13 +08:00
vis2k
46f4079856 NetworkTime.rttVar was renamed to rttVariance 2021-03-10 16:31:13 +08:00
vis2k
8a7fd39cf0 NetworkTime.timeSd was renamed to timeStandardDeviation 2021-03-10 16:31:13 +08:00
vis2k
b8b72d4482 NetworkTime.timeVar renamed to timeVariance to not confuse it with 'timeVariable' etc. 2021-03-10 16:31:13 +08:00
vis2k
fef1184404 NetworkTime cleanup 2021-03-10 16:18:11 +08:00
vis2k
a079f2a412 typo 2021-03-10 16:10:04 +08:00
vis2k
6ad3b5a6b7 previous syntax 2021-03-10 16:09:50 +08:00
vis2k
efc303ceb8 NetworkStartPosition cleanup 2021-03-10 16:09:14 +08:00
vis2k
5a6db1e4b7 NetworkReaderPool cleanup 2021-03-10 16:00:48 +08:00
vis2k
1358ab643f cleanup 2021-03-10 15:57:39 +08:00
vis2k
b2d9279e76 NetworkReader cleanup 2021-03-10 15:53:13 +08:00
vis2k
f7c6d09b44 empty files moved into Empty folder 2021-03-09 19:20:10 +08:00
vis2k
078a0c4aec NetworkManager comments cleaned up 2021-03-09 19:07:21 +08:00
vis2k
4962cee248 feat: NetworkManager.OnServerAddPlayer instantiates with name "Player [connId=42]" instead of "Player (clone)" for easier debugging 2021-03-09 18:58:20 +08:00
vis2k
fc92a28715 cleanup 2021-03-09 18:56:27 +08:00
vis2k
5e2f3c239f syntax 2021-03-09 18:54:00 +08:00
vis2k
46c9bddb6c cleanup 2021-03-09 18:53:24 +08:00
vis2k
64b436445f cleanup 2021-03-09 18:49:58 +08:00
vis2k
a4e237d307 cleanup 2021-03-09 18:41:42 +08:00
vis2k
9f68d269cc NetworkManagerHUD doesn't need xml comments except one 2021-03-09 18:25:35 +08:00
vis2k
ea141c30d6 syntax 2021-03-09 18:24:28 +08:00
vis2k
1f550b8289 cleanup 2021-03-09 18:22:36 +08:00
vis2k
22384458bd cleanup 2021-03-09 18:07:29 +08:00
vis2k
013a748da6 cleanup 2021-03-09 18:03:16 +08:00
vis2k
6926bad7d6 cleanup 2021-03-09 17:55:19 +08:00
vis2k
25e9904fa8 add TODO 2021-03-09 17:54:43 +08:00
vis2k
0291d0a402 cleanup 2021-03-09 17:53:46 +08:00
vis2k
e79dd1e443 cleanup 2021-03-09 17:52:41 +08:00
vis2k
f02c163232 add comment about static state 2021-03-09 17:48:15 +08:00
vis2k
71e7393278 syntax 2021-03-09 16:17:07 +08:00
vis2k
fe3e365c7d cleanu 2021-03-09 16:16:55 +08:00
vis2k
7ae1496b88 update url 2021-03-09 16:16:08 +08:00
vis2k
294fd46146 syntax 2021-03-09 16:12:40 +08:00
vis2k
94707b2554 add TODO 2021-03-09 16:07:55 +08:00
vis2k
2cf41cf835 syntax 2021-03-09 15:53:20 +08:00
vis2k
c4d217af2f syntax 2021-03-09 15:50:27 +08:00
vis2k
b0ccb28f18 add comment 2021-03-09 15:50:22 +08:00
vis2k
c47a6b0085 NetworkIdentity.ThisIsASceneObjectWithPrefabParent moved to Utils 2021-03-09 15:47:46 +08:00
vis2k
04b3e34593 syntax 2021-03-09 15:40:33 +08:00
vis2k
6b9acacaf0 cleanup 2021-03-09 15:40:12 +08:00
vis2k
dd2b4f8736 syntax 2021-03-09 15:38:01 +08:00
vis2k
7d3666a121 syntax 2021-03-09 15:37:41 +08:00
vis2k
ad40b260d1 syntax 2021-03-09 15:35:02 +08:00
vis2k
7fc91537ed remove unused NetworkBehavioursCache 2021-03-09 15:34:47 +08:00
vis2k
a21344196e cleanup 2021-03-09 15:32:48 +08:00
vis2k
4a1f4115d5 cleanup 2021-03-09 15:30:30 +08:00
vis2k
15aa2e091e cleanup 2021-03-09 15:23:48 +08:00
vis2k
4e7c49ee50 syntax 2021-03-09 15:21:11 +08:00
vis2k
d131367245 syntax 2021-03-09 15:19:40 +08:00
vis2k
665b1c2156 perf: batching is now enabled by default 2021-03-09 15:17:29 +08:00
vis2k
1b6f898a5a update batching comment 2021-03-09 15:16:08 +08:00
vis2k
fbe378a069 cleanup 2021-03-09 15:15:11 +08:00
vis2k
7cc3e166c4 cleanup 2021-03-09 15:02:02 +08:00
vis2k
c4cf8c263d syntax: avoid hiding property 2021-03-09 14:59:40 +08:00
vis2k
1bf08bbf89 syntax: avoid hiding property 2021-03-09 14:59:29 +08:00
vis2k
fc6ada4ab9 syntax: avoid hiding property 2021-03-09 14:59:15 +08:00
vis2k
8bcc8d29ef syntax 2021-03-09 14:57:41 +08:00
vis2k
4e71f324c6 cleanup 2021-03-09 14:56:54 +08:00
vis2k
387571722b cleanup 2021-03-09 14:55:03 +08:00
vis2k
5118f43a83 cleanup 2021-03-09 14:51:50 +08:00
vis2k
57432d94c9 NetworkVisibility: improve obsolete message 2021-03-09 14:05:11 +08:00
vis2k
d8e2f1650f cleanup 2021-03-09 11:27:09 +08:00
vis2k
c2af82f897 cleanup 2021-03-09 11:18:15 +08:00
vis2k
2be35efbad cleanup 2021-03-09 11:16:30 +08:00
vis2k
2d46c13ef5 syntax 2021-03-09 11:09:35 +08:00
vis2k
f1f51ce213 cleanup 2021-03-09 11:09:17 +08:00
vis2k
2f77fec632 cleanup 2021-03-09 10:57:42 +08:00
vis2k
e8e5f30fd6 cleanup 2021-03-08 22:50:24 +08:00
vis2k
86c0abd2b9 remove unused 2021-03-08 22:41:01 +08:00
vis2k
488d67de85 add TODO 2021-03-08 22:39:15 +08:00
vis2k
ecf6a42a2d syntax 2021-03-08 22:36:20 +08:00
vis2k
bb5513338c syntax 2021-03-08 22:34:30 +08:00
vis2k
9932b56b65 cleanup 2021-03-08 22:33:42 +08:00
vis2k
77ed0055a8 add comments 2021-03-08 22:31:03 +08:00
vis2k
4eed0ff7f1 cleanup 2021-03-08 22:29:54 +08:00
vis2k
36e7ebd50e cleanup 2021-03-08 22:19:45 +08:00
vis2k
f53ee6583c cleanup 2021-03-08 22:13:53 +08:00
vis2k
6045736266 clean up 2021-03-08 22:11:22 +08:00
vis2k
3fa8eb727c remove unused LogFilter and NetworkManager.showDebugMessages 2021-03-08 22:09:37 +08:00
vis2k
925c9d749f xml cleanup 2021-03-08 22:06:29 +08:00
vis2k
8bba4300a6 xml one liner 2021-03-08 22:02:31 +08:00
vis2k
a1381741d5 remove old batching comment 2021-03-08 11:50:14 +08:00
vis2k
92c9522388 move all the things 2021-03-07 19:57:46 +08:00
vis2k
0bc2a5573f tests 2021-03-07 19:52:38 +08:00
vis2k
396fc4542b ClientScene: move the rest to NetworkClient 2021-03-07 19:52:23 +08:00
vis2k
477d009f97 ClientScene.DestroyAllClientObjects moved into NetworkClient 2021-03-07 19:28:25 +08:00
vis2k
27ac635931 ClientScene: spawning moved into NetworkClient 2021-03-07 19:28:02 +08:00
vis2k
03f6ae59d3 ClientScene: internal Shutdown moved to NetworkClient 2021-03-07 19:15:51 +08:00
vis2k
ab1218fe17 ClientScene: internal hide & destroy moved into NetworkClient 2021-03-07 19:08:01 +08:00
vis2k
ae50ec751e ClientScene: internal callbacks moved to NetworkClient 2021-03-07 19:04:31 +08:00
vis2k
5650d952c8 remove obsolete comment 2021-03-07 18:59:59 +08:00
vis2k
12ac3613ad moved comment 2021-03-07 18:58:40 +08:00
vis2k
f20d30d4bb ClientScene: prefab spawning and spawn handlers obsoleted and moved to NetworkClient 2021-03-07 18:57:17 +08:00
vis2k
13c5a409e5 add TODO 2021-03-07 18:23:55 +08:00
vis2k
d71c6e943a internal function doesn't need summary 2021-03-07 18:22:26 +08:00
vis2k
c20de093ec syntax 2021-03-07 18:19:46 +08:00
vis2k
95e0545759 cleanup and sorting 2021-03-07 18:18:04 +08:00
vis2k
e7dab8bd49 cleanup 2021-03-07 18:11:52 +08:00
vis2k
ead0d351c9 cleanup 2021-03-07 18:10:51 +08:00
vis2k
82b8f650fb cleanup 2021-03-07 18:10:11 +08:00
vis2k
980c8a8b64 syntax 2021-03-07 18:09:12 +08:00
vis2k
9abc60c62b cleanup 2021-03-07 18:08:37 +08:00
vis2k
5a9d7921c5 cleanup 2021-03-07 18:07:43 +08:00
vis2k
f7c6eb84e8 cleanup 2021-03-07 18:06:17 +08:00
vis2k
061d1c77ba cleanup 2021-03-07 18:04:03 +08:00
vis2k
d3e3ada5c6 cleanup 2021-03-07 16:51:33 +08:00
vis2k
8ce209ac69 cleanup 2021-03-07 16:43:59 +08:00
vis2k
f06e6f0509 cleanup 2021-03-07 16:41:27 +08:00
vis2k
3667f76703 cleanup 2021-03-07 16:37:36 +08:00
vis2k
707c20c6d6 syntax 2021-03-07 16:34:04 +08:00
vis2k
5c9962100e more sorting 2021-03-07 16:29:53 +08:00
vis2k
200bde6852 NetworkClient sorting 2021-03-07 16:25:56 +08:00
vis2k
51f5dd52a9 cleanup 2021-03-07 16:22:50 +08:00
vis2k
7d397d9172 cleanup 2021-03-07 16:06:40 +08:00
vis2k
19d848feec cleanup 2021-03-07 16:03:28 +08:00
vis2k
159a35dbb4 feat: NetworkClient.isConnecting added 2021-03-07 16:01:17 +08:00
vis2k
9579789da3 NetworkClient cleanup 2021-03-07 16:00:16 +08:00
vis2k
191c1124b4 NetworkServer.VerifyCanSpawn moved into SpawnObject 2021-03-07 15:42:22 +08:00
vis2k
b7e21d9a44 NetworkServer: VerifyCanSpawn moved into SpawnObject 2021-03-07 15:41:28 +08:00
vis2k
10be9eada1 more sorting 2021-03-07 15:41:02 +08:00
vis2k
0fe5d30c00 more sorting 2021-03-07 15:37:32 +08:00
vis2k
632a4a8cc2 syntax 2021-03-07 15:34:58 +08:00
vis2k
f94091b585 more sorting 2021-03-07 15:34:12 +08:00
vis2k
0cef4d78a5 more sorting 2021-03-07 15:32:36 +08:00
vis2k
f54f9c3599 DisconnectAllConnections was renamed to DisconnectAllExternalConnections because that's what it does. 2021-03-07 15:29:20 +08:00
vis2k
207501de4e NetworkServer.InternalReplacePlayerForConnection moved into ReplacePlayerForConnection 2021-03-07 15:25:50 +08:00
vis2k
330036f1a9 more sorting 2021-03-07 15:24:11 +08:00
vis2k
e4729c2608 more sorting 2021-03-07 15:23:22 +08:00
vis2k
5a23cd056e more sorting 2021-03-07 15:22:22 +08:00
vis2k
688ec28d5d more sorting 2021-03-07 15:22:00 +08:00
vis2k
84f5ea61cc more sorting 2021-03-07 15:19:33 +08:00
vis2k
2f90fca1d5 more sorting 2021-03-07 15:18:00 +08:00
vis2k
bf804a93c2 more sorting 2021-03-07 15:17:01 +08:00
vis2k
c5947b92e2 more sorting 2021-03-07 15:12:54 +08:00
vis2k
c47f64908d NetworkServer: more sorting 2021-03-07 15:11:37 +08:00
vis2k
6dc0b42d89 NetworkServer: more sorting 2021-03-07 15:09:04 +08:00
vis2k
7daab9dd40 NetworkServer: sort similar functions together 2021-03-07 15:04:13 +08:00
vis2k
cf7de49def cleanup 2021-03-07 14:57:04 +08:00
vis2k
93217b4493 cleanup 2021-03-07 14:55:55 +08:00
vis2k
f3b7524691 cleanup 2021-03-07 14:53:56 +08:00
vis2k
0f8b06b12b cleanup 2021-03-07 14:51:10 +08:00
vis2k
306620d0d0 cleanup 2021-03-07 14:43:02 +08:00
vis2k
2e9ecd73bb cleanup 2021-03-07 14:42:01 +08:00
vis2k
f1bbdd62e7 cleanup 2021-03-07 14:40:38 +08:00
vis2k
ebcaf9a256 cleanup 2021-03-07 14:39:50 +08:00
vis2k
8f5c6c7b93 cleanup 2021-03-07 14:37:59 +08:00
vis2k
a5bc753150 cleanup 2021-03-07 13:31:35 +08:00
vis2k
b2490f9c1f cleanup 2021-03-07 13:30:14 +08:00
vis2k
85287fe642 cleanup 2021-03-07 13:28:35 +08:00
vis2k
6799868517 NetworkServer.NoConnections renamed to NoExternalConnections 2021-03-07 13:09:30 +08:00
vis2k
a744c5c5e8 cleanup 2021-03-07 13:07:17 +08:00
vis2k
382b6c67f4 cleanup 2021-03-07 13:06:26 +08:00
vis2k
2797253cc4 cleanup 2021-03-07 13:04:41 +08:00
vis2k
988bd3a51c cleanup 2021-03-07 13:03:54 +08:00
vis2k
a2f4d82dc0 NetworkServer cleanup 2021-03-07 13:02:46 +08:00
vis2k
e9b9c3819f NetworkServer cleanup 2021-03-07 13:01:34 +08:00
vis2k
e60d22b7e1 NetworkServer cleanup 2021-03-07 13:00:00 +08:00
vis2k
06ff30f42c NetworkServer cleanup 2021-03-07 12:56:29 +08:00
vis2k
f31044b23d NetworkServer clean up 2021-03-07 12:55:52 +08:00
vis2k
fdcd0b8541 NetworkServer cleanup 2021-03-07 12:44:08 +08:00
vis2k
183de927d0 NetworkServer: clean up 2021-03-07 12:42:24 +08:00
vis2k
36e04e1272 NetworkServer: remove old UNET comments, XML summary one liner 2021-03-07 12:39:58 +08:00
vis2k
7de4c07cde NetworkIdentity.Reset: update comment 2021-03-07 11:56:55 +08:00
vis2k
9d0b3bae81 ClientScene.DestroyAllClientObjects: use same syntax as NetworkServer.CleanupNetworkIdentities 2021-03-07 11:53:07 +08:00
vis2k
6447871d8f DestroyAllClientObjects/CleanupNetworkIdentities: add comments 2021-03-07 11:51:26 +08:00
vis2k
4d971c1e57 NetworkServer.CleanupNetworkIdentities: add comments 2021-03-07 11:41:43 +08:00
vis2k
11718d9521 NetworkIdentity.OnDestroy: add comment 2021-03-07 11:39:44 +08:00
vis2k
22f1754ff8 xml to comment 2021-03-07 11:38:55 +08:00
Pandanym
921a7a2fde
feat: Added bool to Discovery to disable automatic active discovery (#2580)
* Use a negative value for ActiveDiscoveryInterval to disable automatic broadcasting

If you want to extend NetworkDiscoveryBase using the templates, you may hit this problem where you want to disable the automatic discovery. But you can't without modifying the base class. This is a proposition that is not breaking for users of the NetworkDiscovery.

* Added a bool to NetworkDiscoveryBase to toggle ActiveDiscovery

* Added tooltip and made enableActiveDiscovery field public
2021-03-06 21:43:40 +08:00
vis2k
a6f6f80f65
fix: NetworkIdentity.isLocalPlayer is only set, but never reset. fixes a bug where isLocalPlayer would be false in OnDestroy, so some components couldn't rely on it in OnDestroy. fixes #2615 (this is also faster than comparing ClientScene.localPlayer each time) (#2616)
* fix: NetworkIdentity.isLocalPlayer is only set, but never reset. fixes a bug where isLocalPlayer would be false in OnDestroy, so some components couldn't rely on it in OnDestroy. fixes #2615 (this is also faster than comparing ClientScene.localPlayer each time)

* fix: NetworkIdentity.OnStartClient now sets isLocalPlayer early so isLocalPlayer is true in OnStartClient callbacks already
2021-03-06 19:30:16 +08:00
vis2k
1fb8990f39 breaking: remove onLocalPlayerChanged over engineering. it was added in #1920 for #1923 which was never merged. keep it simple. 2021-03-06 18:57:58 +08:00
vis2k
2d421df9c7 comment formatting 2021-03-06 18:39:38 +08:00
vis2k
89ea278036 NetworkIdentity.isClient: add comment on how it's expected to behave 2021-03-06 18:30:16 +08:00
vis2k
ee1f941290 fix: NetworkIdentity.isServer is only set, but never reset. fixes a bug where isServer would be false in OnDestroy, so some components couldn't rely on it in OnDestroy. fixes #2533 2021-03-06 18:29:25 +08:00
vis2k
b0cae3c049 comment 2021-03-06 18:09:15 +08:00
vis2k
7e00056d97 comments 2021-03-06 18:07:40 +08:00
vis2k
e7f6a3ea81 comments 2021-03-06 18:06:50 +08:00
vis2k
e4f9b2f94d NetworkIdentity.isServer: make comments readable 2021-03-06 18:04:38 +08:00
vis2k
0e0456809b NetworkIdentity.isClient: make comments readable 2021-03-06 18:02:50 +08:00
vis2k
63f96a9c4d add comment 2021-03-06 14:31:18 +08:00
vis2k
faa8f65e42 add TODO (remove SendToReady) 2021-03-06 14:31:16 +08:00
vis2k
064d30614d [Obsolete] SendToClientOfPlayer so we can remove it later. unnecessary complexity.
(it was previously used in NetworkServer.Update, but now we refactored it)
2021-03-06 14:31:13 +08:00
vis2k
b0b89d489d add TODO 2021-03-06 14:31:11 +08:00
vis2k
aa357dc58b perf: NetworkServer.Update: separate connections update loop moved into the main loop. now there is only one connections loop anymore. 2021-03-06 14:31:07 +08:00
vis2k
5775a36e49 perf: NetworkServer.Update: inactive connection check moved into the main connections foreach loop. Avoids one extra foreach-connections loop. 2021-03-06 14:31:04 +08:00
vis2k
7f0984548c syntax: NetworkServer.Update 'conn' renamed to 'connection 2021-03-06 14:31:01 +08:00
vis2k
6b83411593 syntax: CheckForInactiveConnections moved above NetworkServer.Update 2021-03-06 14:30:58 +08:00
vis2k
6cedb5b404 perf: push->pull broadcasting part 1: feature parity 2021-03-06 14:30:55 +08:00
vis2k
57d4db2e8d Compression: largest three compression from DOTSNET with safe normalized quaternions in case clients send invalid data (#2584) 2021-03-06 14:30:51 +08:00
vis2k
9232dab3a0 add preprocessordefine 2021-03-06 14:23:00 +08:00
vis2k
25ece5a0d5 fix: NetworkManager.StopServer/StopClient: avoid NullReferenceException when called in OnApplicationQuit or from tests 2021-03-06 14:22:56 +08:00
vis2k
425e3131dc fix: NetworkServer.SpawnObserversForConnection refactored to support all visibility cases (ForceShown/ForceHidden/Default) and all systems (legacy/new/default). fixes #2606 2021-03-06 14:22:52 +08:00
vis2k
a277f5c7b7 NetworkClientTests: UpdateTransport: restore original order before we changed it in 'MemoryTransport use new EarlyUpdate' commit 2021-03-04 19:09:34 +08:00
vis2k
7641aa73d4 Websockets: use new EarlyUpdate to remove warnings 2021-03-04 17:40:23 +08:00
vis2k
7e41302ca9 Telepathy: use new EarlyUpdate to remove warnings 2021-03-04 17:37:50 +08:00
vis2k
371ddc457a MemoryTransport uses new EarlyUpdate functions to remove warning 2021-03-04 17:26:52 +08:00
Raguel
c94cbe2811
Hot fix for scene rename (#2614)
Co-authored-by: Alice Loverdrive <al.zhumagali@gmail.com>
2021-03-04 17:12:09 +08:00
Robin Rolf
978a3deb7f
Add scripting define for update loop changes (#2613) 2021-03-04 17:10:48 +08:00
vis2k
96750d80d5 use icons 2021-03-03 14:30:28 +08:00
vis2k
4f58366e0f
perf: kcp Tick split into TickIncoming/Outgoing to utilize the new NetworkEarly/LateUpdate functions. minimizes latency. (#2608) 2021-03-02 19:18:18 +08:00
vis2k
5ba677118e kcp2k V1.9: Tick() split into TickIncoming()/TickOutgoing() to use in Mirror's new update
functions.
2021-03-02 18:43:11 +08:00
vis2k
b882653768 syntax 2021-03-02 15:57:30 +08:00
vis2k
b663636a5b
perf: Transport.Client/Server Early/LateUpdate to fix data races and allow transports to reduce latency by doing all receiving & sending in one frame. (#2605)
* fix: NetworkClient/Server: use the new custom NetworkLateUpdate instead of Unity's LateUpdate. fixes possible data races where other component's LateUpdate could be called before/after NetworkServer/Client LateUpdate causing non obvious data races.

* perf: Transport.Client/Server Early/LateUpdate to fix data races and allow transports to reduce latency by doing all receiving & sending in one frame.
2021-03-02 15:28:50 +08:00
vis2k
43e6fb4c53
fix: NetworkClient/Server: use the new custom NetworkLateUpdate instead of Unity's LateUpdate. fixes possible data races where other component's LateUpdate could be called before/after NetworkServer/Client LateUpdate causing non obvious data races. (#2604) 2021-03-02 15:28:30 +08:00
vis2k
edea4089e4 perf: avoid NetworkIdentity.visibility access allocations from obsolete messages when accessing .visibilityCache 2021-03-01 19:08:59 +08:00
vis2k
a2b828a511 syntax 2021-03-01 18:41:29 +08:00
vis2k
4fedf417b1
feature: add custom NetworkEarlyUpdate (before any Update/FixedUpdate), NetworkLateUpdate (after any Update/FixedUpdate/LateUpdate) loops (#2603)
* NetworkLooper helper class with explanation

* AddSystemToPlayerLoopList from ECS and tests

* rename to Append

* change function type to UpdateFunction, actually add it

* better

* use Array.Resize

* syntax

* better logging

* addmode

* better

* FindPlayerLoopEntryIndex helper to verify

* better

* disable logs

* syntax

* test for PreLateUpdate

* add at runtime

* better log

* NetworkServer/Client.Update renamed to LateUpdate to make it more obvious

* NetworkLoops call NetworkServer/Client funcs

* logs

* Unity 2019 ifdef

* disable logs

* add comment

* obsoletes

* syntax

* change

* internal
2021-03-01 17:51:42 +08:00
vis2k
5809c50c2c
NetworkPingDisplay simplified (#2602) 2021-03-01 14:28:46 +08:00
vis2k
a67fd9084b RegisterPrefab with assetId: add comment 2021-02-25 15:10:27 +08:00
vis2k
8854844a7f dontListen: add comment 2021-02-25 09:57:48 +08:00
vis2k
8d3f33081b
NetworkServer: obsolete redundant RegisterHandler version without connection parameter (#2594) 2021-02-25 09:56:02 +08:00
vis2k
1f0d9e73e1
NetworkManagerHUD.showGUI obsoleted (#2596) 2021-02-25 09:55:14 +08:00
vis2k
62b99ed9a7
breaking: ClientScene.spawnableObjects doesn't need to be public (#2597) 2021-02-25 09:54:49 +08:00
vis2k
2d188080ec syntax 2021-02-24 18:08:35 +08:00
vis2k
ac5f978b22 syntax 2021-02-24 18:08:00 +08:00
vis2k
d202024d1f syntax 2021-02-24 18:07:39 +08:00
vis2k
290811e043 syntax 2021-02-24 18:07:03 +08:00
vis2k
dd53593255 syntax 2021-02-24 17:55:33 +08:00
vis2k
49cf2569f0 Utils.IsPrefab and reuse it everywhere else 2021-02-24 17:51:25 +08:00
vis2k
2367959f54 syntax 2021-02-24 17:42:37 +08:00
vis2k
d8c1924cf8 NetworkIdentity: GetRandomUInt moved to Utils 2021-02-24 17:42:14 +08:00
vis2k
a030caad0d UNetwork.cs renamed to Utils.cs 2021-02-24 17:37:40 +08:00
vis2k
eff035a604 syntax 2021-02-24 17:35:38 +08:00
vis2k
c417d50e1c syntax 2021-02-24 17:35:17 +08:00
vis2k
598f9e78c1 syntax 2021-02-24 17:34:38 +08:00
vis2k
aaf4b19539 SyncSet: add comments 2021-02-24 17:33:49 +08:00
vis2k
e80ec86577 NetworkServer.DestroyObject(GameObject) helper function to reuse in UnSpawn and Destroy 2021-02-24 16:52:32 +08:00
vis2k
820070cf60 syntax: NetworkServer.CreateSpawnMessagePayload moved above CreateSpawnMessage so it's more obvious 2021-02-24 16:49:29 +08:00
vis2k
4f69dd6d7b syntax 2021-02-24 16:48:46 +08:00
vis2k
a2f374f117 syntax: NetworkServer.Send functions 'msg' renamed to 'message' 2021-02-24 16:48:16 +08:00
vis2k
008df9cee4 syntax: NetworkManager.startPositions moved up 2021-02-24 16:46:06 +08:00
vis2k
72e8bf80c6 fix: InterestManagement added missing ready checks. x branch didn't have ready anymore, so they were missed when porting interest management to master. adding them guarantees exact same behaviour as before. 2021-02-24 12:50:36 +08:00
vis2k
2ef51d03f7 fix: #2595 InterestManagement AddAllAuthenticatedConnectionsToObservers fat fingered from x branch which didn't have 'ready' anymore. it should be AddAllReadyServerConnectionsToObservers like before, no change in the logic. 2021-02-24 12:44:21 +08:00
MrGadget1024
f3813c41cc fix: Multiple Additive Scenes - wrong mesh and materials 2021-02-22 22:43:33 -05:00
MrGadget1024
f8cac55d79 fix: Multiple Additive Scenes - Missing mesh assignment 2021-02-22 22:26:41 -05:00
MrGadget1024
0ad623a869 Fixed typo 2021-02-22 14:08:43 -05:00
MrGadget1024
15e77507f6 NetworkRoomManager: Removed redundant code 2021-02-20 09:11:39 -05:00
MrGadget
827d31e1c8
feat: Move Network Manager out of DDOL in StopServer and StopClient (#2582)
* feat: Move Network Manager out of DDOL in StopServer and StopClient
- Moves Network Manager out of DDOL before going to offline scene to avoid collision and let a fresh Network Manager be created.

* removed spaced between braces

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-02-20 11:56:14 +08:00
MrGadget
89e5206e39
Disable Obsolete Warnings In Tests (#2583)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-02-20 11:55:24 +08:00
vis2k
21196fc05b fix: Telepathy V1.7 - receive timeout disabled by default; MirrorTransport now uses 30s instead of 5s timeout to avoid timing out during scene changes etc. 2021-02-20 11:53:19 +08:00
vis2k
659c035d42 disable log 2021-02-19 18:55:20 +08:00
vis2k
f3f56bd3cd forgot to disable log 2021-02-19 16:01:55 +08:00
MrGadget
0fab6dbef3
Suppressed Flakey Tests (#2589)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-02-18 10:15:15 -05:00
vis2k
42fe37eeeb syntax 2021-02-18 17:21:19 +08:00
vis2k
a8db766837 NetworkServer.SendToAll/SendToObservers: remove LocalConnectionToClient check because they both use Send now 2021-02-18 17:19:48 +08:00
MrGadget1024
3896722a49 Removed old files 2021-02-18 03:25:32 -05:00
MrGadget1024
bb617d1959 Added comments to Chat Example methods 2021-02-18 03:09:38 -05:00
MrGadget1024
685366e7e1 fix: Chat Example Network Address OnValueChanged Wire-up 2021-02-18 03:03:26 -05:00
vis2k
b09d1681a0
LocalConnections.LocalConnectionBuffer replaced with System.Queue (#2585) 2021-02-18 14:56:46 +08:00
vis2k
73d95f9b5b NetworkReader/WriterPool: .pool renamed to .Pool 2021-02-18 14:40:38 +08:00
vis2k
409eac092d syntax 2021-02-18 14:39:59 +08:00
vis2k
efac1e2f5f syntax 2021-02-18 14:39:27 +08:00
vis2k
af78b2c139 syntax 2021-02-18 14:38:42 +08:00
vis2k
6954ea478f syntax 2021-02-18 14:37:42 +08:00
vis2k
4b4dd310b6 syntax 2021-02-18 14:34:45 +08:00
vis2k
af3c5b5e8b ULocalConnection renamed to LocalConnection 2021-02-18 14:32:15 +08:00
vis2k
44bfe7ab11 syntax 2021-02-18 14:29:49 +08:00
vis2k
6374c4b88b NetworkIdentity: NetworkBehaviours[] caching simplified 2021-02-18 14:28:28 +08:00
vis2k
b4fa4f2d1c syntax 2021-02-18 14:26:22 +08:00
vis2k
dcd3005674 add comment 2021-02-18 14:26:09 +08:00
vis2k
239bc660fd feat: NetworkIdentity.isServer/ClientOnly added. NetworkBehaviour.isServer/ClientOnly uses it. 2021-02-18 14:24:43 +08:00
vis2k
4bef7fc635 MessagePacker renamed to MessagePacking 2021-02-18 14:19:29 +08:00
vis2k
f00aa2f8d8 syntax 2021-02-18 14:17:29 +08:00
vis2k
d7adbf6f1e syntax 2021-02-18 14:06:16 +08:00
vis2k
2ab0154333 syntax 2021-02-18 14:05:50 +08:00
vis2k
fd29828512 syntax 2021-02-18 14:05:19 +08:00
vis2k
cc68c854e7 TelepathyTransport moved into Telepathy folder for consistency with the other transports 2021-02-18 14:03:23 +08:00
vis2k
08a89e83bd CecilX license updated: show 'x' source 2021-02-18 13:59:27 +08:00
vis2k
dade531dfe ChatExample: remove unused code 2021-02-18 13:58:53 +08:00
vis2k
68d38832ed NetworkScenePostProcess: use LogWarning instead of LogWarningFormat 2021-02-18 13:57:47 +08:00
vis2k
4624f34b0e syntax 2021-02-18 13:56:33 +08:00
vis2k
d8187d4b7d syntax 2021-02-18 13:56:33 +08:00
vis2k
d83ce37760 remove //namespace comments 2021-02-18 13:56:33 +08:00
vis2k
5fd79094fc fix: changing any NetworkIdentity settings in the Inspector at runtime (like forceHidden) would call OnValidate, cleared the assetId because the prefab conection isn't known at runtime. As result, the NetworkIdentity couldn't be spawned on other clients anymore because assetId is empty. 2021-02-18 13:43:00 +08:00
vis2k
dd29d99be2 Revert "fix: SetupIDs() now detects if Editor is running. fixes a bug where changing any NetworkIdentity setting at runtime would clear the NetworkIdentity.assetId, causing respawn bugs where client would receive an empty assetId (forceHidden -> not forceHidden)."
=> this broke two of the runtime tests previously
2021-02-18 13:43:00 +08:00
MrGadget1024
ae5875203e Removed Overrides of OnServerError / OnClientError in templates 2021-02-17 22:14:27 -05:00
vis2k
9927c827dc disable log 2021-02-18 10:43:55 +08:00
vis2k
3db423455b fix: GUIConsole now shows logs in editor too. instead of only showing the empty console. 2021-02-18 10:43:55 +08:00
vis2k
2631982cb3
feature: perf: Global Interest Management. NetworkVisibility components per-NetworkIdentity obsoleted and replaced by one global InterestManagement component on NetworkManager instead. Significantly easier to understand, allows for spatial hashing (~30x faster) and reduces amount of components in the worlds (for 1k objects, we avoid 1k NetworkVisibility components now). (#2581)
* feature: perf: Global Interest Management. NetworkVisibility components per-NetworkIdentity obsoleted and replaced by one global InterestManagement component on NetworkManager instead. Significantly easier to understand, allows for spatial hashing (~30x faster) and reduces amount of components in the worlds (for 1k objects, we avoid 1k NetworkVisibility components now).

* Benchmark scene uses new Spatial Hashing

* improve message

* Update Assets/Mirror/Components/InterestManagement/SpatialHashing/Grid2D.cs

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

* NetworkIdentity.forceHidden changed to enum to prepare for forceShown

* NetworkIdentity.Visibility: added ForceShown option

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
2021-02-18 10:16:10 +08:00
vis2k
650231025f Interest Management: NetworkConnection.visList renamed to observing 2021-02-16 20:38:52 +08:00
vis2k
bd4fa37cd5 use M icon in all runtime scripts 2021-02-16 20:33:17 +08:00
vis2k
798984e4de breaking: [Command(ingoreAuthority=false)] double negative changed to [Command(requiresAuthority=true)] 2021-02-16 20:32:05 +08:00
vis2k
c4899a92ca remove comments 2021-02-16 20:29:57 +08:00
vis2k
9cf5984ce9 breaking: [ClientRpc(excludeOwner=false)] double negative changed to [ClientRpc(includeOwner=true)] 2021-02-16 20:26:49 +08:00
vis2k
60b112079c Welcome Message updated 2021-02-16 20:23:58 +08:00
vis2k
64eba8204f CustomAttributes.cs renamed to Attributes.cs 2021-02-16 20:23:12 +08:00
vis2k
020f79a8d2 Weaver: worker.Append(worker.Create(Opcode)) replaced with worker.Emit(Opcode) 2021-02-16 20:17:44 +08:00
vis2k
7ba6a9ab0b Weaver Log simplified 2021-02-16 20:16:42 +08:00
vis2k
34a1722c76 Weaver Extensions: remove comments 2021-02-16 20:16:37 +08:00
vis2k
1b5ff01c8c Weaver Extensions: syntax 2021-02-16 20:16:34 +08:00
vis2k
2ac0b3692c Weaver Extensions: remove comment 2021-02-16 20:16:31 +08:00
vis2k
a8eb104273 Weaver CompilationFinishedHook: syntax 2021-02-16 20:16:25 +08:00
vis2k
bb8de742ae Weaver CompilationFinishedHook: syntax 2021-02-16 20:16:22 +08:00
vis2k
7abbd2411e Weaver CompilationFinishedHook: remove unused fields 2021-02-16 20:16:06 +08:00
vis2k
cfc648d722 Weaver Extensions: use Linq 2021-02-16 20:11:18 +08:00
vis2k
9121a65cc8 Weaver Extensions ImplementsInterface: use Linq 2021-02-16 20:11:13 +08:00
vis2k
7bd86cef5f syntax 2021-02-16 20:10:31 +08:00
vis2k
9438b90c0d syntax 2021-02-16 20:09:36 +08:00
vis2k
078e3c228d feat: GUIConsole from uMMORPG add component to scene, press F12 to see log console in builds 2021-02-16 20:07:40 +08:00
vis2k
0185539905 WeaverTypes: remove unused 2021-02-16 20:06:32 +08:00
vis2k
7e509eae4a Weaver.ReadAllFields: remove unused field 2021-02-16 20:05:53 +08:00
vis2k
bd34f100fc syntax: remove unnecessary 'private' 2021-02-16 20:04:19 +08:00
vis2k
d75eeb346c NetworkMessage moved into NetworkMessage.cs 2021-02-16 20:01:22 +08:00
vis2k
deaf73cc2a remove unused imports 2021-02-16 19:59:55 +08:00
vis2k
3296de741f DotNetCompatibility extension moved into Extensions.cs 2021-02-16 17:48:28 +08:00
vis2k
080924193d remove unused Weaver Helpers.DestinationFileFor 2021-02-16 17:46:59 +08:00
vis2k
daf324310d remove unused ScriptableObjectUtility 2021-02-16 17:46:23 +08:00
vis2k
ffebaa9cc6 StringHash extensions renamed to Extensions 2021-02-16 17:40:26 +08:00
vis2k
092ce8b214 breaking: removed LogFactory 2021-02-16 17:34:57 +08:00
vis2k
4be31cac9d fix: batching reimplemented to be testable. fixes > MTU sized messages previously flushing out empty batches because the if size check is always true for > MTU sized messages, causing it to flush previous batch even if empty, causing odd empty message behaviour on server and client.
(added tests too)
2021-02-14 19:29:13 +08:00
vis2k
66b64f010f fix: kcp2k V1.8: fixes empty message sending/receiving undefined behaviour and fixes IPv6 errors on Nintendo Switch 2021-02-14 17:46:34 +08:00
Robin Rolf
4cc9f2ea6a
Add scripting define for telepathy api change (#2573) 2021-02-13 13:20:05 -05:00
MrGadget1024
d26b09d544 Fixed Typo 2021-02-13 13:12:01 -05:00
vis2k
631fdb80d1 breaking: remove unused ErrorMessage & handlers 2021-02-14 00:43:42 +08:00
vis2k
4c12c59f78 breaking: remove NetworkConnection.InvokeHandler now that it's not needed anymore 2021-02-14 00:43:39 +08:00
vis2k
be42976a26 fix: NetworkServer/Client don't use Connect/DisconnectMessage anymore. fixes a bug where external connects could try sending that message causing undefined behaviour (#2577) 2021-02-14 00:39:23 +08:00
vis2k
5aed823cc7 fix: SetupIDs() now detects if Editor is running. fixes a bug where changing any NetworkIdentity setting at runtime would clear the NetworkIdentity.assetId, causing respawn bugs where client would receive an empty assetId (forceHidden -> not forceHidden). 2021-02-12 01:04:06 +08:00
JesusLuvsYooh
60574dd1ab
Wrong /n should be \n (#2572) 2021-02-10 21:04:43 +08:00
vis2k
3394f755b9
fix: Telepathy V1.6. fixes data races & improves stability (#2571)
* fix: perf: Telepathy V2.0
+ fixed data races
+ no more allocations
+ improved server stability under heavy load(!)
+ added lots of tests & fixed flaky tests

* fix: perf: Telepathy V2.0 (Concurrent Pipe Version)

* fix: Telepathy V1.3 (FOR CCU TEST. DONT MERGE, NEEDS ENABLED SCENE CHANGE CHECK)

* fix: Telepathy V1.4 (FOR CCU TEST. DONT MERGE, NEEDS ENABLED SCENE CHANGE CHECK)

* fix: Telepathy V1.5. fixes data races.

* fix: Telepathy V1.6 (fixes data races and more)
2021-02-10 19:36:39 +08:00
vis2k
e98a12b499
NetworkManager.MaxConnections default increased from 4 to 100 (#2569) 2021-02-08 10:11:16 +08:00
MrGadget
0675518762
fixed a bunch of typos (#2566)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-02-06 17:52:24 -05:00
MrGadget1024
7d6566c3aa fixed typo in comment 2021-02-06 14:29:47 -05:00
James Frowen
638f761469
fix: making exception for OnDeserializeSafely more clear (#2562) 2021-02-07 00:48:13 +08:00
vis2k
638796a0ad syntax 2021-02-06 14:11:29 +08:00
MrGadget
d743f79136
feat: Add ScriptTemplates to repo and package (#2559)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-02-05 09:34:22 +08:00
vis2k
1ff4fe30b7
perf: Batching (#2552)
* perf: Batching. Batches message into Transport.GetMaxPacketSize sized chunks and sends them every batchInterval

* don't log time

* Transport.GetMaxBatchSize and kcp override it to always use MTU

* remove comment

* NetworkConnectionToClient tests

* Test: Send_BatchesUntilUpdate

* Test: Send_BatchesUntilInterval

* fix: initialize last send time with NetworkTime.time

* better comment

* fixing reset after sending batch

Need to reset both position and length

* revert the transportreceive change for localconnections.
before it didn't work because of the length bug that is fixed now.

* added test to avoid length bug in the future

* optional

* enable batching in benchmark demo for max scale

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2021-02-03 22:47:06 +08:00
James Frowen
d870351afb
fix(SimpleWebTransport): removing unimportant error
ReadHelperException can be throw when connection disconnects, this is normal and should not be sent to mirror as an error.
2021-01-27 21:31:37 +00:00
vis2k
4d3eff0b7f NetworkConnection.TransportReceive split into two functions 2021-01-26 12:15:44 +08:00