Commit Graph

4075 Commits

Author SHA1 Message Date
vis2k
d979a45870 NetworkIdentity.spawned dictionary to replace ClientScene.objects, NetworkServer.objects, NetworkScene.objects 2018-12-16 15:27:11 +01:00
vis2k
582bf98bdd Welcome message link updated 2018-12-15 22:08:51 +01:00
vis2k
9a72f71cc6 NetworkManager properties simplified. No need to each one twice when it has public get/set anyway. 2018-12-15 22:01:31 +01:00
vis2k
f8d87c761e Simplify public getters (only lists/dicts that can be cleared from outside anyway. doesn't break any serialization either) (#161)
* NetworkConnection.visList simplified

* NetworkClient.allClients simplified

* NetworkScene public getters simplified. They are internal anyway, can't set them from the outside

* NetworkServer.connections simplified

* NetworkServer.handlers simplified

* NetworkServer.dontListen simplified

* NetworkServer.useWebSockets simplified

* ClientScene.spawnableObjects simplified

* NetworkConnection.clientOwnedObjects simplified

* NetworkManager.spawnPrefabs simplified

* NetworkManager.startPositions simplified
2018-12-15 18:13:29 +01:00
uwee
d2c68cabc1 Moved High rotation compression to Low. Added new High that converts rotation to a byte. (#158) 2018-12-15 17:07:16 +01:00
vis2k
320e70453f
NetworkManager.s_PendingSingleton removed because script reloads were neither detected properly, nor is there any chance of Mirror to continue running properly after script reloads. (#159) 2018-12-15 16:54:45 +01:00
vis2k
84b70dbb92 UNetDomainReload code removed because UnityEngine doesn't call this function in Mirror anyway. 2018-12-15 16:23:24 +01:00
vis2k
72062bbe08 Syntax 2018-12-15 16:17:15 +01:00
vis2k
07000f7d47 Removed old comment 2018-12-15 16:06:22 +01:00
vis2k
d3e13c77af Removed unnecessary syntax 2018-12-15 16:01:11 +01:00
vis2k
29f106fb32 Syntax 2018-12-15 15:53:07 +01:00
vis2k
666af57146 Less confusing syntax 2018-12-15 15:51:37 +01:00
vis2k
04fdce47c9 Removed unused NetworkScene.RemoveLocalObjectAndDestroy 2018-12-15 15:39:39 +01:00
vis2k
88232d244b Updated Telepathy to latest version (SendTimeout) 2018-12-15 15:37:54 +01:00
Paul Pacheco
96992c35bc Revert "Don't require Cmd, Rpc and Target prefixes (#127)"
This reverts commit 590630fcb2.

If you don't use the prefix,  you get stack overflow with the [Commands]
2018-12-14 21:46:55 -06:00
Paul Pacheco
c85391a02b Fix typo in file name 2018-12-13 21:33:54 -06:00
Paul Pacheco
a747b85502 Fix NRE when running headless with HUD
It was possible that the headless HUD would try to start the server before initializing the transport
Now the transport is always initialized when the NetworkManager singleton is initialized
2018-12-12 12:57:09 -06:00
Paul Pacheco
4c1cb66524 return false if the send fails.
Tx to MrGadget who found the issue
2018-12-11 20:48:52 -06:00
Tim Pickup
df4d8fbb8d Initialize() is internal and should not be called externally so shouldnt be public (#131) 2018-12-09 23:55:35 +01:00
vis2k
2ee68888fb NetworkBehaviour.netIdentity made public for easier usage (e.g. from a UI script) 2018-12-09 16:25:22 +01:00
vis2k
c4c3b29231
NetworkBehaviour.isServerOnly and isClientOnly (#148) 2018-12-09 16:20:44 +01:00
vis2k
fb3733711f Fix typo 2018-12-09 16:14:55 +01:00
vis2k
8cea816e23 Removed redundancy between NetworkBehaviour.netIdentity and .myView 2018-12-09 16:13:40 +01:00
vis2k
f50cecff65
NetworkBehaviour.netIdentity made protected so we can use it in inheriting scripts without having to use GetComponent there manually each time. (#147) 2018-12-09 16:07:26 +01:00
Paul Pacheco
eb9b7f556d Simplify local message processing (#146) 2018-12-09 16:03:04 +01:00
Paul Pacheco
e6f8cec658 Initialize objects in the same order as they were initialized on the server. (#144)
This avoid heisenbugs because for a user they might initialize in a different order than the developer
2018-12-09 10:21:42 +01:00
Paul Pacheco
853d797dfe Connections can no longer be null 2018-12-08 21:34:38 -06:00
Paul Pacheco
3af459a107 Reuse ReadMessage from reader (#143) 2018-12-08 10:55:21 +01:00
Paul Pacheco
56007f3c8b RemovePlayerMessage is empty (#142) 2018-12-08 10:55:00 +01:00
Paul Pacheco
8ce2489df0 Display message name in ConnectionRecv log (#141) 2018-12-08 10:54:20 +01:00
Paul Pacheco
413d7cf474 Use functional method to read messages (#140) 2018-12-07 09:52:03 +01:00
vis2k
04af6c9015 Removed unused OnDeserializeAllSafely version 2018-12-06 23:08:19 +01:00
Paul Pacheco
c10a5fc999 Simplify components serialization (#139)
* Performance optimizations in NetworkIdentity.uNetUpdate

* Don't copy array twice

* write to one NetworkWriter for gameobject instead of one per component

* Simplify component serialization and improve performance

* Small style cleanup

* Fix compilation error

* Revert this change for now

* Revert for now

* Remove this for now

* No need for 2 versions of OnSerializeAllsafely

* Removed bad comment

* simplify using foreach
2018-12-06 22:17:04 +01:00
Chris Langsenkamp
6d33fae44f Added link to migration tool 2018-12-04 07:48:15 -06:00
Paul Pacheco
3515aff816 Check if any component is dirty before serializing stuff (#135) 2018-12-04 11:11:55 +01:00
Paul Pacheco
15a5271553 Fix #133, destroy all objects when server shutdowns (#134)
When the server shut down,  all clients are disconnected,  but we were not calling OnDisconnect for the in the server
so we did not clean up their objects
2018-12-03 21:21:08 +01:00
Tim Pickup
b08646dae6 Network server stale connections (#129)
* Fixes 2 bugs:
NetworkServer.cs was not clearing connections on stopping. This meant when then starting again it was trying to communicate with old connections. Simply clear the list in DisconnectAllConnections. Also put in InternalListen for just in case as there should never be any connections at that point.
NetworkClient.cs was unable to load the scene on connect under certain circumstances. This was because NetworkClient.pauseMessageHandling had been set to false on a previous failed connection attempt. On a subsequent connect it would then never accept messages after it connected successfully so didnt know to load the scene. Simple fix to set NetworkClient.pauseMessageHandling to false when connecting. It should never be true at this point.

* split 2 fixed into 2 branches
NetworkServer.cs was not clearing connections on stopping. This meant when then starting again it was trying to communicate with old connections. Simply clear the list in DisconnectAllConnections. Also put in InternalListen for just in case as there should never be any connections at that point.

* moved into Initialize() for neatness
2018-11-30 10:19:28 +01:00
Tim Pickup
525600b56d Network client stale pause message handling (#130)
* Fixes 2 bugs:
NetworkServer.cs was not clearing connections on stopping. This meant when then starting again it was trying to communicate with old connections. Simply clear the list in DisconnectAllConnections. Also put in InternalListen for just in case as there should never be any connections at that point.
NetworkClient.cs was unable to load the scene on connect under certain circumstances. This was because NetworkClient.pauseMessageHandling had been set to false on a previous failed connection attempt. On a subsequent connect it would then never accept messages after it connected successfully so didnt know to load the scene. Simple fix to set NetworkClient.pauseMessageHandling to false when connecting. It should never be true at this point.

* split 2 fixes into 2 branches
NetworkClient.cs was unable to load the scene on connect under certain circumstances. This was because NetworkClient.pauseMessageHandling had been set to false on a previous failed connection attempt. On a subsequent connect it would then never accept messages after it connected successfully so didnt know to load the scene. Simple fix to set NetworkClient.pauseMessageHandling to false when connecting. It should never be true at this point.
2018-11-30 10:17:00 +01:00
Tim Pickup
0b6479727b Added int channelId to GetMaxPacketSize so different channels can have different max packet sizes. (#125)
Useful for transports where you have an unreliable channel thats limited differently
2018-11-29 18:05:36 +01:00
Paul Pacheco
590630fcb2 Don't require Cmd, Rpc and Target prefixes (#127)
The restriction is arbitrary.  Let the user use any name they want.
2018-11-29 16:48:13 +01:00
Paul Pacheco
229250d726 Document callback changes 2018-11-28 11:19:18 -06:00
Paul Pacheco
f22f4a2c8e Remove and RemoveAt now get the item that was removed 2018-11-28 11:19:18 -06:00
vis2k
1e55a28f67 Removed NetworkManagerPreview because it offer nothing of value and no one even knew that it existed 2018-11-28 11:37:26 +01:00
Paul Pacheco
e8a5cfae65 Start server if headless mode (#126)
* Start the server automatically if headless mode

* spaces
2018-11-28 09:50:03 +01:00
vis2k
283725c71c Updated Telepathy to latest version 2018-11-22 10:57:28 +01:00
Paul Pacheco
bcef255b99 varint synclist indexes, fixes #120 (#122) 2018-11-19 15:42:06 +01:00
Paul Pacheco
befd3fa36c pass index of element during add. Fix #118 (#121)
* Reproduce the issue in a unit test

* Pass the index of the element with add

fix issue #118
2018-11-19 15:41:53 +01:00
vis2k
5427bf292c NetworkWriter.WriteBytesAndSize doesn't depend on Transport.layer.GetMaxPacketSize anymore. Mirror checks that in NetworkConnection etc. anyway. Writer should just write to the stream, no magic. 2018-11-15 09:38:25 +01:00
vis2k
1289dee8b3 Transport.MaxPacketSize moved to TransportLayer.GetMaxPacketSize because it depends on the layer 2018-11-15 09:22:13 +01:00
vis2k
7056ccd428
Update README.md 2018-11-13 21:15:39 +01:00