Commit Graph

3792 Commits

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