Commit Graph

3822 Commits

Author SHA1 Message Date
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