vis2k
6fb8a32f5b
remove NetworkIdentityEditor because it's not really needed after removing local player authority (which required special checks to only show one option at a time). Also fixes #1289 ( #1309 )
2019-12-16 08:50:47 +01:00
Paul Pacheco
a2e17108b6
display the whole connection
2019-12-13 08:03:15 -06:00
Paul Pacheco
dbe064393a
fix: error when there are no network behaviors ( #1303 )
...
Use the lazy network behaviors cache everywhere, so this can never be null
2019-12-12 20:28:31 -06:00
MrGadget
ca4ff9b6b2
Fix Delayed Disconnect ( #1302 )
2019-12-12 20:02:23 -06:00
MrGadget
3684033f6a
Restore clientAuthorityCallback ( #1298 )
2019-12-12 19:31:11 -06:00
MrGadget
c6678eb3f1
No point in calling this here ( #1300 )
2019-12-12 19:30:40 -06:00
MrGadget
a18d6b5eaa
Unused field ( #1299 )
2019-12-12 19:11:20 -06:00
Paul Pacheco
e4a701ed4e
feat: fallback transport now supports uri ( #1296 )
2019-12-10 17:13:32 +01:00
Paul Pacheco
c206f9ad97
feat: Multiplex based on url ( #1295 )
...
If the multiplex transport receives an url for connection,
try all the underlying transports until it finds a suitable one
For example, let's say you configure a multiplex transport with telepathy and websocket, if you try:
```cs
NetworkManager.StartClient("tcp4://host:port");
```
then the multiplex transport will use telepathy.
if we pass:
```cs
NetworkManager.StartClient("ws://host:port");
```
then the multiplex transport will select websocket
2019-12-10 07:36:42 +01:00
Paul Pacheco
7865a840b6
feat: LLAPI transport can receive port from uri ( #1294 )
...
* feat: LLAPI transport can receive port from uri
* Refactor to use the original method
2019-12-09 21:52:50 +01:00
Paul Pacheco
c8ad118d50
feat: websocket can receive port in url ( #1287 )
...
* feat: websocket can now receive port and encryption setting from uri
* check for ws or wss scheme
2019-12-09 16:52:39 +01:00
Paul Pacheco
06946cf37f
feat: telepathy can now receive port from uri ( #1284 )
...
* feat: telepathy can receive port from uri
* Use configured port if the url does not have one
* use tcp4 as scheme for telepathy
* don't change default port
* Update TelepathyTransport.cs
* Update TelepathyTransport.cs
2019-12-08 19:48:26 +01:00
vis2k
e766f7b511
Update list server header text
2019-12-08 09:08:35 +01:00
Tor Esa Vestergaard
a0425e4e84
fix: Draw SyncVar label for Unity objects inline ( #1291 )
...
* SyncVar label for Unity objects is now drawn inline instead of on the next line
* Made syncVarIndicatorContent static
Did it since there's no need to have that allocation per editor instance.
2019-12-07 14:29:14 +01:00
MrGadget
c8aabd246a
Fix Inspector Refresh ( #1290 )
2019-12-07 09:20:31 +01:00
MrGadget
7843b12f7f
Make startPositionIndex public ( #1288 )
...
* Make startPositionIndex public
startPositions is a public list, so the index should be too.
* Update NetworkManager.cs
* Update NetworkManager.cs
2019-12-06 06:55:38 +01:00
Paul Pacheco
f9d34d5863
feat: Mirror now supports message inheritance ( #1286 )
...
* test: child messages should serialize parent's data
* feat: Mirror now supports inheritance for messages
2019-12-05 11:21:42 -06:00
Paul Pacheco
7e4023246b
fix: Don't set asset id for scene objects
...
Fixes this warning:
```
SetDynamicAssetId object already has an assetId <68fb15ce5f2e7eb44a8ac123d853b91a>
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:LogError(Object)
Mirror.NetworkIdentity:set_assetId(Guid) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkIdentity.cs:165)
Mirror.ClientScene:ApplySpawnPayload(NetworkIdentity, SpawnMessage) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\ClientScene.cs:470)
Mirror.ClientScene:OnSpawn(SpawnMessage) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\ClientScene.cs:529)
Mirror.<>c__DisplayClass35_0`1:<RegisterHandler>b__0(NetworkConnection, SpawnMessage) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkClient.cs:400)
Mirror.<>c__DisplayClass7_0`1:<MessageHandler>b__0(NetworkMessage) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\MessagePacker.cs:163)
Mirror.NetworkConnection:InvokeHandler(Int32, NetworkReader, Int32) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkConnection.cs:271)
Mirror.NetworkConnection:TransportReceive(ArraySegment`1, Int32) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkConnection.cs:325)
Mirror.NetworkClient:OnDataReceived(ArraySegment`1, Int32) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkClient.cs:149)
UnityEngine.Events.InvokableCall`2:Invoke(ArraySegment`1, Int32)
UnityEngine.Events.UnityEvent`2:Invoke(ArraySegment`1, Int32)
Mirror.TelepathyTransport:ProcessClientMessage() (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\Transport\TelepathyTransport.cs:79)
Mirror.TelepathyTransport:LateUpdate() (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\Transport\TelepathyTransport.cs:106)
```
2019-12-05 05:15:43 -06:00
Paul Pacheco
00b51364ac
improve warning message
2019-12-05 05:12:44 -06:00
Paul Pacheco
7c3622cfae
feat: new way to connect using uri ( #1279 )
...
* feat: new way to connect using uri
* set the host name when starting by url
2019-12-05 11:57:24 +01:00
Paul Pacheco
0e1bc8110f
fix: ReplacePlayer now calls OnStartLocalPlayer ( #1280 )
...
* fix: ReplacePlayer now calls OnStartLocalPlayer
fixes #962
* fix: replace player cannot steal another player
2019-12-04 14:54:50 -06:00
MrGadget
b23cfc739d
Fix ServerChangeScene ( #1281 )
2019-12-04 14:49:33 -06:00
MrGadget
555d0d9cc0
Add true for keepAuthority ( #1277 )
2019-12-03 08:49:11 +01:00
vis2k
13e2dcccd9
breaking: SyncList.Callback passes old and new entries instead of only passing one entry which is sometimes the old, sometimes the new entry. This is more consistent and it's very useful to know the previous value in a hook for OP_SET and OP_DIRTY. ( #1273 )
...
* feature: SyncList.Callback passes old and new entries instead of only passing one entry which is sometimes the old, sometimes the new entry. This is more consistent and it's very useful to know the previous value in a hook for OP_SET and OP_DIRTY.
* update tests
* update docs
2019-12-03 08:35:41 +01:00
vis2k
97e838b932
SyncDictionary: remove unused OP_DIRTY operations
2019-12-03 08:17:55 +01:00
vis2k
4b9dcbf9f4
SyncList: remove unused OP_DIRTY operations
2019-12-03 08:16:44 +01:00
vis2k
c5079ada6c
remove SyncDictionary.Dirty function because it's unused and we removed it for SyncList already too ( #1272 )
2019-12-03 08:12:12 +01:00
Paul Pacheco
ad724fe23c
fix: replace player (remove authority by default) ( #1261 )
...
* fix: remove authority properly in replace player
This is an alternative to #1257
Now the user can pass a parameter to ReplacePlayer to indicate
that the old player should remain attached to the connection.
Note the user could simply pass true and then call RemoveAuthority themselves
which was the approach in #1257
Personally I would prefer #1257 , but this is at least better than
master because authority is removed the proper way.
* Update NetworkServer.cs
2019-12-03 08:11:39 +01:00
MrGadget
8012972b0e
Removed non-implemented overload ( #1276 )
2019-12-03 08:01:52 +01:00
vis2k
1eae07fa2c
remove unused SyncList.Dirty function
2019-12-02 11:50:18 +01:00
MrGadget
7898dc2347
Restore Room Player Authority ( #1267 )
2019-12-02 08:48:27 +01:00
MrGadget
1ed12dba79
Require Network Transform ( #1269 )
2019-12-02 06:41:07 +01:00
MrGadget
42a4a7cb00
Add Return button to Room Manager ( #1268 )
...
* Add Return button to Room Manager
* Simplified GUI
* Fixed height
2019-12-02 06:40:55 +01:00
MrGadget
cddef72b41
Move scoring to PlayerScore ( #1266 )
2019-12-02 06:40:11 +01:00
MrGadget
e6f8f3c46f
Improve Turn and Jump ( #1265 )
2019-12-02 06:39:56 +01:00
Paul Pacheco
8899d20712
fix: Additive scene can respawn objects safely ( #1270 )
...
* fix: Additive scene can respawn objects safely
* Update Assets/Mirror/Runtime/NetworkIdentity.cs
Co-Authored-By: MrGadget <chris@clevertech.net>
2019-12-01 22:48:08 -06:00
Paul Pacheco
c753089478
fix: don't call OnStartLocalPlayer twice ( #1263 )
2019-12-01 09:55:57 -06:00
Paul Pacheco
4d373c5071
fix: call OnStartClient only once in room ( #1264 )
2019-12-01 09:55:38 -06:00
Paul Pacheco
2195fee81c
fix: set authority when replacing the player
2019-11-30 07:09:06 -06:00
Paul Pacheco
c58ead16a6
Remove unused method
2019-11-29 23:10:25 -06:00
MrGadget
e8841a3c1d
Merge pull request #1259 from paulpach/fix2clients
...
fix: issue with more than 1 client
2019-11-29 19:58:07 -05:00
Paul Pacheco
095b54752a
isClient is already true, so make sure to initialize the objects
2019-11-29 18:23:46 -06:00
Paul Pacheco
ab73fbcf7a
Simplify isServer ( #1258 )
2019-11-29 18:06:44 -06:00
Chris Langsenkamp
55dabf2755
Updated Templates
2019-11-29 18:44:55 -05:00
Paul Pacheco
4816f0ead1
Spawn host objects via spawn, just like clients ( #1248 )
...
* Spawn host objects works via messages just like clients
* fix spawning local player
* Do not call OnStartClient twice
2019-11-29 17:25:32 -06:00
Paul Pacheco
b8618d356f
Revert "fix: replacing the player does not mean giving up authority ( #1254 )"
...
This reverts commit a2c273ecd1
.
2019-11-29 16:04:06 -06:00
Paul Pacheco
fb26d0023f
fix: isLocalPlayer is true during OnStartClient for Player ( #1255 )
...
related to #1250 but for client mode.
Before:
```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartClient() hasAuthority=True isClient=True isLocalPlayer=False
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=False
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```
After:
```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartClient() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```
2019-11-29 15:40:38 -06:00
Paul Pacheco
a2c273ecd1
fix: replacing the player does not mean giving up authority ( #1254 )
2019-11-29 15:02:55 -06:00
Paul Pacheco
9acde20b0a
fix: isLocalPlayer works in host mode onStartServer ( #1253 )
...
See #1250
Before:
```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartServer() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartClient() hasAuthority=False isClient=True isLocalPlayer=False
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```
after
```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartServer() hasAuthority=False isClient=False isLocalPlayer=True
Void OnStartClient() hasAuthority=False isClient=True isLocalPlayer=True
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```
Note it is not possible to fix Awake because it gets called before we
have any chance of setting any property
2019-11-29 14:34:07 -06:00
Paul Pacheco
d00c95bb55
fix: isClient now reports true onStartServer in host mode ( #1252 )
2019-11-29 14:10:46 -06:00