Commit Graph

3578 Commits

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