Commit Graph

3434 Commits

Author SHA1 Message Date
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
vis2k
24ec357a46 add comment 2021-01-26 11:46:43 +08:00
James Frowen
2396da8202
tests: updating HostSetup.cs
adding methods to spawn a pair of objects for server/client tests
2021-01-25 22:27:43 +00:00
James Frowen
3fcc7415b4
Update HostSetup.cs
adding virtual methods for test setup
2021-01-25 16:04:51 +00:00
vis2k
7bcf957c23 syntax 2021-01-25 23:21:41 +08:00
MrGadget1024
fdeb2b05bd Added comments to NetworkManager::OnValidate 2021-01-23 14:34:01 -05:00
MrGadget1024
b7b1fa2146 style: Simplified NetworkManager::RegisterClientMessages
- Approved per Discord discussion
2021-01-22 10:18:46 -05:00
vis2k
12ee96f5d9 fix: NetworkServer.OnConnected allows for connectionIds < 0 now. some transports like kcp use hashing where connectionIds can easily be < 0, which previously was not allowed. 2021-01-21 11:07:44 +08:00
MrGadget
fb874169f7
feat: Added NetworkOwnerChecker Component (#2388)
* Added NetworkOwnerChecker component

* Simplified OnRebuildObservers

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-01-18 09:59:27 +08:00
MrGadget1024
872556543c fix: NetworkManager: changed print to logger.Log 2021-01-17 15:37:20 -05:00
MrGadget1024
b80436cc41 style: NetworkBehaviour: Moved OnStopClient below OnStartClient 2021-01-17 15:06:29 -05:00
MrGadget1024
e5eb29a6fc fix: KcpTransport - commented out defines again 2021-01-17 13:17:02 -05:00
vis2k
92f8ad3c5c kcp2k V1.7 version file added too 2021-01-17 20:32:04 +08:00
MrGadget1024
9bcd1a1be4 fix: Corrected NetworkRoomPlayer virtual method param name 2021-01-16 13:26:47 -05:00
Paul Pacheco
7e3b7b9e11
perf: synchronize network time over unreliable (#2543) 2021-01-14 23:37:25 +08:00
vis2k
1cdbcd64ba kcp2k V1.7
- fix: unreliable messages reset timeout now too
- perf: KcpConnection OnCheckEnabled callback changed to a simple 'paused' boolean.
  This is faster than invoking a Func<bool> every time and allows us to fix #8 more
  easily later by calling .Pause/.Unpause from OnEnable/OnDisable in MirrorTransport.
- fix #8: Unpause now resets timeout to fix a bug where Mirror would pause kcp,
  change the scene which took >10s, then unpause and kcp would detect the lack of
  any messages for >10s as timeout. Added test to make sure it never happens again.
- MirrorTransport: statistics logging for headless servers
- Mirror Transport: Send/Receive window size increased once more from 2048 to 4096.
2021-01-13 20:17:22 +08:00
James Frowen
365db8b55e
adding comment to CompressQuaternion 2021-01-12 18:18:31 +00:00
vis2k
ae48cf5c80 perf: kcp2k V1.6 - unreliable channel & improvements 2021-01-10 19:28:50 +08:00
MrGadget1024
8f4856c715 fix: fixed Chat example scene for 2018.4 2021-01-09 20:00:13 -05:00
MrGadget1024
e52dfeb07a Applied Mirror Icon to MiddlewareTransport 2021-01-07 12:12:21 -05:00
vis2k
b85dea57df fix: kcp2k updated to V1.5. bigger send/recv window size defaults because Mirror sends a lot of data. fixes a bug where some projects would encounter ever growing latencies because kcp didn't process/send data fast enough, causing slowly growing send/recv buffers. also shows MaxSend/RecvRate in debug gui now. 2021-01-08 00:00:10 +08:00
MrGadget1024
f10f6f913a doc: Updated ReadMe 2021-01-07 09:34:33 -05:00
MrGadget1024
ca94fca82f fixed NetworkIdentityTest
- removed unused var
2021-01-07 09:22:24 -05:00
MrGadget1024
b85557b8ea Fixed NetworkWriterTest
- Removed unnecessary using
- Removed unused vars
- made netId a uint
2021-01-07 09:20:02 -05:00
Coburn
9393686f16
fix: NetworkWriterTest.cs failing due to Blittable removal (#2530)
This commit compliments dd4d344542, and makes all tests in NetworkWriterTest.cs pass with flying colours. Gold star!
2021-01-05 00:44:38 +08:00
MrGadget1024
0a01edfbd5 fix: Fixed tests for OnStopClient
OnNetworkDestroy was renamed to OnStopClient in May 2020
2021-01-03 21:14:05 -05:00
MrGadget1024
ec972ca46a Removed MonoBehaviour inheritance in Spawners 2021-01-03 13:02:09 -05:00
Coburn
dd4d344542
Revert "perf: NetworkWriter/Reader Write/ReadBlittable<T> for 4-6x performance improvement! (#2441)" (#2526)
This reverts commit 1947f061ad and applies some patches to bring it back up to date without the DOTSNET feature.
2021-01-03 20:52:34 +08:00
James Frowen
eb6b7e73b9
fix: adding newline before StackTrace
this avoids the first line of the stacktrace being on the same line as the Exception. this is better because the Exception line could be line and it is easy to miss the first stack trace line.
2020-12-31 01:58:20 +00:00
James Frowen
d22db33086
Moving FindPath to editor scripts (#2512)
* moving FindPath to editor scripts

this allows this function to be used by other scripts

* Update Assets/Mirror/Editor/EditorHelper.cs

* removing extra using
2020-12-25 16:49:14 +08:00
James Frowen
1cf5930d51
feat: Adding default folder as argument for ScriptableObjectUtility (#2513)
This allows ScriptableObjectUtility to be used for other folders not just Asset/Mirror
2020-12-24 15:29:36 +08:00
MrGadget
41480ac42f
fix: DisallowMultipleComponent on all transports (#2507)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-12-20 10:28:58 +08:00
MrGadget1024
8ad332a64d fixed typo in comment 2020-12-19 14:58:08 -05:00
vis2k
c72fd39f19 NetworkReader.ReadNetworkBehaviour: don't log warning if netId is not in spawned. This is common if we have a [SyncVar] NetworkBeaviour that walks out of proximity range. 2020-12-19 21:39:24 +08:00
vis2k
c7b2d1d1d3 use more obvious syntax 2020-12-19 21:38:39 +08:00
vis2k
4e30409db5 NetworkReader.ReadNetworkIdentity: don't log warning if netId is not in spawned. This is common if we have a [SyncVar] NetworkIdentity that walks out of proximity range. 2020-12-19 21:37:43 +08:00
Paul Pacheco
45a494aded
fix: prevent allocation of massive array (#2465)
* fix: prevent allocation of massive array

A poison message could contain an invalid length causing us to allocate massive arrays

* throw exception instead

* Update Assets/Mirror/Runtime/NetworkReader.cs

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>

* test for ReadArray

* swapping order of equation so that length doesnt overflow

* adding test case

* adding more tests for array length

* swapping order

* fixing expected message

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-12-17 12:12:26 +08:00
MrGadget
f2e78da58c
fix: Changed all fields in examples from [SerializeField] internal to public per Vis request. (#2502)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-12-17 12:06:04 +08:00
MrGadget1024
2aa4c84ae5 Added meta file 2020-12-16 23:00:09 -05:00
James Frowen
50a214613f
fix(weaver): Weaver finds correct log methods for unity 2020.2 (#2497)
Unity has added new private LogWarning methods in 2020.2 which causes weaver to find the wrong method. Checking the parameters as we as the name will find the correct method.

fixes: https://github.com/vis2k/Mirror/issues/2366
2020-12-17 11:43:37 +08:00
Antoine Place
613851ff3c
Added an example featuring multiple match on a single server using the Match Checker component. (#2499)
Co-authored-by: Antoine Place <antoine.place@youkado.com>
2020-12-17 11:42:06 +08:00
MrGadget1024
8fcb7719e2 fix: Updated Basic example to work in Unity 2018.4 2020-12-16 15:05:58 -05:00
MrGadget
58aeb622ba
Make IDisposable classes sealed (#2495)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-12-14 11:12:03 +08:00
James Frowen
e7e36d0558 feat(SimpleWebTransport): adding option to allow for tls outside of the transport 2020-12-12 14:53:23 +00:00
MrGadget1024
2f24d9aa2b fix: Added OnStopServer to NetworkMatchChecker 2020-12-10 14:50:49 -05:00
MrGadget1024
36814e6abb fix: Removed debug logging from NeworkSceneChecker
They were added for testing OnStop Server and forgot to take them out.
2020-12-10 14:49:41 -05:00
MrGadget1024
484b80f0bb fix: Added OnStopServer to NetworkSceneChecker 2020-12-10 14:44:25 -05:00
Tiago Martines
6f8a289384
Disable KCP console logging when debugLog flag is off (#2488)
* Disable KCP console logging when debugLog flag is off

* Update KcpTransport.cs

* Update KcpTransport.cs

Co-authored-by: Tiago Martines <tiago.martines@wildlifestudios.com>
Co-authored-by: vis2k <info@noobtuts.com>
2020-12-09 14:29:38 +08:00
James Frowen
c3e2a26378
feat: allow types that inherit from Networkbehaviour to be used in syncvar's (#2471)
* adding MakeGeneric method

* adding tests for NB syncvar+hook

* adding functions to NetworkBehaviour

* getting references to new functions

* fixing NB read so it always reads same number of bytes as write

* adding backing field and serialize for Nb Syncvar

* extra test

* adding ignore to transform test

* fixing test
2020-12-09 10:53:26 +08:00
James Frowen
99f7e9112d
perf(NetworkTransform): removing allocations from Command (#2491)
`byte[] payload` will cause a new array to be created when parameters are read, using `ArraySegment<byte>` avoids this.
2020-12-08 16:01:39 +08:00
MrGadget1024
53694e3be3 fix: NetworkRoomManager.ReadyStatusChanged made public 2020-12-06 18:36:00 -05:00
James Frowen
2b91a3049b
Sorting usings (#2487)
Seems like this has come up a few times so here is a commit to sort this out.

We shouldn't have to worry about the order of the using, we should just let plugins automatically sort them. They are sorted into alphabetical order expect for system becase we have `dotnet_sort_system_directives_first = true` enabled in `.editorconfig`
2020-12-05 10:51:02 +08:00
James Frowen
a51ee1fa3b
fix: stopping values being reset before OnDestory is called (#2485)
* fix: stopping values being reset before OnDestory is called

* matches server side logic
* if an object is being fully destroyed it doesn't need its values to be reset
2020-12-03 15:50:52 +00:00
James Frowen
4acf0d69e0
feat: Allow Networkbehaviours to be sent in rpc (#2478)
* adding read/write functions

* adding method to get WriteNetworkBehaviour

* adding methods to weavertypes

* adding method to get ReadNetworkBehaviour

* weaver test for NetworkBehaviour in RPC

* renaming var

* writing tests to make sure read/write works

* registering functions

* changing function and adding comment

* checking any writer is set

* adding Description to test

* collection test

* fixing call

* removing errors, networkbehaviour as read/write

* adding test to use the reader that weaver generates

* fixing import

* simplifying test

* removing null from spawned

* improving throw

* adding code coverage

* applying code suggestions
2020-12-02 09:40:38 +08:00
James Frowen
798a4cab33
breaking: Unity LLAPI transport meets the recycle bin. (#2484) 2020-12-02 01:35:53 +00:00
James Frowen
adabbdc552
using TypeReference with comparer instead of string (#2481)
* Using TypeReference  with IEqualityComparer instead of string to keep reference to type
* using targetType to initialize write/read functions
* test to make sure write function is set
2020-12-01 00:32:10 +00:00
James Frowen
05f6690484
weaver: moving IsNetworkIdentityField to extensions (#2476)
* weaver: moving IsNetworkIdentityField to extensions

* making extension use TypeReference
2020-11-29 21:51:19 -06:00
James Frowen
3bc58a851a
weaver: making GenerateWriter return MethodReference (#2479) 2020-11-30 03:05:57 +00:00
James Frowen
f9baa3f9da
making IsDerivedFrom use TypeReference (#2475) 2020-11-29 20:02:46 -06:00
MrGadget1024
58d6db72ad fix: NetworkRoomManager and NetworkRoomPlayer public fields
Made fields public again for inheritance.
2020-11-29 01:52:26 -05:00
MrGadget1024
b3e7aa9d95 fix: NetworkBehaviour throwing error in logger
```
UnityException: ToString is not allowed to be called from a MonoBehaviour constructor (or instance field initializer), call it in Awake or Start instead. Called from MonoBehaviour 'GamePlay' on game object 'GamePlay'.
See "Script Serialization" page in the Unity Manual for further details.
UnityEngine.Object.ToString () (at <a979f18d51af41179d12b797e8c5be14>:0)
UnityEngine.Logger.GetString (System.Object message) (at <a979f18d51af41179d12b797e8c5be14>:0)
UnityEngine.Logger.LogError (System.String tag, System.Object message) (at <a979f18d51af41179d12b797e8c5be14>:0)
Mirror.NetworkBehaviour.InitSyncObject (Mirror.SyncObject syncObject) (at Assets/System/3rdParty/Mirror/Runtime/NetworkBehaviour.cs:168)
myGame.GamePlay..ctor () (at Assets/System/GamePlay.cs:18)
```
2020-11-28 23:03:36 -05:00
MrGadget1024
bcd1c6fbab renamed rb to non-abbreviated name 2020-11-28 22:53:57 -05:00
MrGadget1024
930d0cbbfd Tanks Example Improvements
- made fields private with SerializeField
2020-11-28 19:55:11 -05:00
MrGadget1024
8efd45c0d2 Room Example Improvements
- made fields private / internal with SerializeField
- CapsuleCollider is always on
2020-11-28 19:51:01 -05:00
MrGadget1024
12231c3be7 Pong Example Improvements
- made fields private with SerializeField
2020-11-28 19:26:20 -05:00
MrGadget1024
6823fb9d2e Multiple Additive Scenes Example Improvements
- made fields private / internal with SerializeField
- simplified Spawner to use prefab directly from MultiSceneNetManager
2020-11-28 19:12:57 -05:00
MrGadget1024
982b268b87 Additive Scenes Example Improvements
- Player Collider is always on
- made fields private with SerializeField
2020-11-28 18:53:14 -05:00
MrGadget1024
d6cfd2eadf perf: Improvements to RigidbodyPhysics Example
- consolidate nested if
- set kinematic by default on scene objects
- set kinematic false on server in AddForce::Start
- added field for Rigidbody component reference via inspector
  - eliminated calling GetComponent every frame
- set SyncInverval to zero on both NetworkTransforms and NetworkRigidbody
2020-11-28 18:14:13 -05:00
MrGadget1024
d0ee88150f Removed AsmDef from RigidBodyPhysics example 2020-11-28 18:03:13 -05:00
MrGadget1024
c6f0554bd8 Removed Obsolete from TelepathyTransport 2020-11-28 17:30:33 -05:00
MrGadget1024
090b83e583 Chat Example: made field private with SerializeField 2020-11-28 17:29:38 -05:00
MrGadget1024
f735ad2f6b Chat Example: made field private with SerializeField 2020-11-28 15:45:02 -05:00
MrGadget1024
1339ab7065 fix: Fixed broken reference in Chat example scene 2020-11-28 15:44:27 -05:00
MrGadget1024
6027b8056d Basic Example: Made fields internal with SerializeField 2020-11-28 15:43:02 -05:00
MrGadget1024
0856bc008a perf: Applied Channels.DefaultUnreliable to Experimental Network Transform 2020-11-28 10:20:24 -05:00
MrGadget1024
1616f57db0 perf: Added Compress / Decompress Quaternion to Experimental Network Transform 2020-11-28 10:16:01 -05:00
vis2k
fde07decfc
perf: NetworkTransform compresses rotation from 16 to 4 bytes. (#2469)
1024 entities => 4KB instead of 16KB
2020-11-28 12:12:17 +08:00
vis2k
3d5c942d85 fix: kcp2k V1.4. fixes a bug where KcpConnection message processing can now be stopped immediately when transport was disabled after scene change message; MirrorTransport uses turbo mode by default now 2020-11-27 18:28:10 +08:00
vis2k
cca5c12f4d remove unused import 2020-11-27 17:34:09 +08:00
vis2k
5e4a86e3aa perf: Kcp: use 'turbo mode' configuration in all examples(https://github.com/skywind3000/kcp/blob/master/README.en.md#protocol-configuration) 2020-11-27 17:09:59 +08:00
vis2k
cbcace8dfe
fix: NetworkScenePostProcess now stops editor for invalid sceneIds (#2468)
Better than launching with sceneId errors, which never works.
2020-11-27 15:55:49 +08:00
vis2k
b96d0d2284
fix: NetworkScenePostProcess gives proper error message if currently in prefab edit mode. (#2467)
Previously it would give 'a scene needs to be resaved', which is confusing.
2020-11-27 15:54:25 +08:00
vis2k
4ea25feee7 Syntax 2020-11-27 12:53:02 +08:00
MrGadget1024
01d5358145 Rephrased comment 2020-11-26 19:57:56 -05:00
MrGadget1024
ee24eae3f6 feat: NetworkServer.maxConnections is now public
Fixes #2448
2020-11-25 22:52:48 -05:00
MrGadget
fa9aa67cc6
feat: Updated Basic Example (#2461)
* Changed oldColor to underscore in hook in RandomColor

* WIP

* feat: Updated Basic Example
- PlayerUI is now separated from player object
- PlayerUI is event driven from the Player object
- PlayerUI is locally instantiated, instead of networked
- added border to players panel

* fixed code smells

* moved playersList to BasicNetManager

* fixed compile error and improved layout

* fixed tooltips

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-11-25 22:39:31 -05:00
James Frowen
b14fa87f1a
docs: adding explanation for Compression for ScaleToUInt parameters 2020-11-25 23:41:48 +00:00
vis2k
31c3c2f924 Telepathy: Common.ReadMessageBlocking: log warning instead of logging OverflowException if size header is negative 2020-11-25 21:51:43 +08:00
James Frowen
ff6ced11aa
docs: fixing cref (#2463) 2020-11-24 21:25:54 +00:00
MrGadget1024
fb8c3c4736 fix: broken links to documentation 2020-11-23 10:59:11 -05:00
MrGadget1024
e0fb14feea Changed oldColor to underscore in hook in RandomColor 2020-11-22 21:49:01 -05:00
James Frowen
c84b317a7b
Calling Register from RegisterWriteFunc and adding comments (#2451)
Having near identical lines in these functions is confusing at first glace. Having RegisterWriteFunc call Register makes it more clear exactly what is going on
2020-11-23 10:35:16 +08:00
James Frowen
800a3d934b
docs(NetworkWriter): doc comments for WriteBlittable (with benchmark) (#2459)
* docs(NetworkWriter): doc comments for WriteBlittable

* Update Assets/Mirror/Runtime/NetworkWriter.cs
2020-11-23 10:32:19 +08:00
James Frowen
96a03a3d59
docs(NetworkReader): doc comments (#2460)
* formatting

* moving comment about buffer next to buffer

* moving comment to doc comment

* doc comment position

* doc comments for Length

* doc comments for ReadBlittable

* doc comments for ReadBytes

* doc comments for ReadBytesSegment

* doc comments for ToString

* doc comments for NetworkReaderExtensions

* comments for ReadString

* exception comments for read bytes/segement

* fixing comment
2020-11-23 10:31:50 +08:00
MrGadget
3a5da1d256
feat: Add OnStopServer / OnStopClient methods to Network Authenticator (#2447)
* feat: Add OnStopServer / OnStopClient methods to Network Authenticator

* Added calls to Network Manager

* Added OnStopServer / OnStopClient overrides to Authenticators

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-11-22 10:44:56 +08:00
James Frowen
301e791d9d
fix(weaver): Warning for multiple write/read functions for the same type (#2453)
* fix(weaver): Warning for multiple write/read functions for the same type

Adding warning message when trying to register a write or read function for a type that is already in dictionary. Previously weaver would be silent about this making it hard to know when an extension method overrides another one.

* test for warnings
2020-11-22 10:42:53 +08:00
James Frowen
fd9a7b0561
docs(NetworkWriter): doc comments (#2455)
* style for writer<T>

* adding doc comments to function that miss it
2020-11-22 10:40:06 +08:00
James Frowen
c8e4333d4e
docs(Transport): adding rules to remarks on transport (#2450)
* adding rules to remarks on transport

* adding default channel rule
2020-11-21 17:10:09 +00:00
James Frowen
2bd6675d19
Checking buffer length is atleast 2 (#2433)
* checking buffer length is atleast 2

disconnect if invalid message

* using const instead of magic number

Adding test to make sure that writing id is the same size as IdSize

* adding comment

* renaming to HeaderSize
2020-11-21 11:41:35 +08:00
vis2k
995fd06a77 ignore warning in tests 2020-11-20 23:50:36 +08:00
James Frowen
d3d3113f7b
perf(transport): BREAKING: callbacks instead of unityevent for transports (#2417)
* delegate and callbacks instead of unityevent

* using callbacks in Mirror

* Using new callbacks instead of events
* moving methods next to each other in NetworkClient
* moving add/remove to methods in NetworkServer

* replacing uses of events within transports and tests

* fixing tests

* fixing more tests

* replacing delegates with actions

* adding comments to show what action variable's are

* removing extra function created in rebase

* renaming callbacks

* adding reset methods so that actions arn't null

* fixing rename

* breaking defines

* Update Assets/Mirror/Runtime/Transport/KCP/MirrorTransport/KcpTransport.cs

* Update KcpTransport.cs

* Update Transport.cs

* removing ResetHandlers methods

transports can now call events after stop is called

Co-authored-by: vis2k <info@noobtuts.com>
2020-11-20 23:47:56 +08:00
MrGadget1024
347a376dad fix: Fixed PlayerScore Display in MultipleAdditiveScenes Example 2020-11-19 23:58:14 -05:00
MrGadget1024
72ae5cb7a7 fix: Fixed issues in MultipleAdditiveScenes example
- Fixed NRE when no host player in PlayerScore
- Fixed player collisions by making the collider always on
2020-11-19 22:24:16 -05:00
MrGadget1024
43cea98ef9 Fixed typos 2020-11-18 11:28:01 -05:00
vis2k
1947f061ad
perf: NetworkWriter/Reader Write/ReadBlittable<T> for 4-6x performance improvement! (#2441)
* Mirror asmdef: allow unsafe

* perf: NetworkWriter.WriteBlittable<T> for 4-6x performance improvement

* perf: NetworkReader.ReadBlittable<T>

* Remove unused conversion structs

* Add sizeof(T) vs Marshal.SizeOf<T> comments

* Add 'BlittableOnThisPlatform' test to be sure
2020-11-18 10:46:45 +08:00
James Frowen
cebc578abb
moving transport handler code to functions (#2444)
this matches Networkclient
2020-11-17 14:46:37 +00:00
James Frowen
72fa903125
Refactor add transport handlers 2 (#2443)
* moving add/remove methods next to each other

* renaming methods for clarity
2020-11-17 08:37:55 -06:00
James Frowen
c95f7d4da9
moving add/remove methods next to each other (#2442) 2020-11-17 08:36:21 -06:00
James Frowen
793d3478fc perf: Increase write performance (https://github.com/MirrorNetworking/SimpleWebTransport/pull/25)
* adding options to increase performance of send loop

adding config to Transport

* removing extra comments

* changing default value of sleep to false
2020-11-17 14:25:18 +00:00
vis2k
1ca61547ea Performance Tests: create big enough writer to measure without runtime resizes 2020-11-17 20:59:40 +08:00
vis2k
968c2e86ec Syntax 2020-11-17 20:48:05 +08:00
vis2k
54e680f61c Performance Tests: simplify WriteInt so it truly only measures WriteInt 2020-11-17 20:47:49 +08:00
vis2k
eaf1df2dc1 better 2020-11-17 20:46:37 +08:00
vis2k
f577864877 Performance Tests: add WriteQuaternion to test a more complex type 2020-11-17 20:46:37 +08:00
James Frowen
7bb312bdb8
adding try/catch to handler so server doesn't crash from user exceptions (#2435)
* adding try/catch to hanlder

user code can throw errors.

* Update Assets/Mirror/Runtime/MessagePacker.cs

* Update Assets/Mirror/Runtime/MessagePacker.cs

* test for command that throws

* disconnecting client after Exception in message handler

Co-authored-by: vis2k <info@noobtuts.com>
2020-11-17 15:51:29 +08:00