Commit Graph

1312 Commits

Author SHA1 Message Date
MichalPetryka
3d94f4b6c7 Remove trailing whitespace and fix encodings (#1342) 2019-12-22 11:58:52 +01:00
vis2k
307f129bd7 remove trailing whitespaces 2019-12-22 11:13:18 +01:00
vis2k
4c6805cf86 update comment 2019-12-22 11:12:45 +01:00
vis2k
45a8e6367b Telepathy updated to latest version 2019-12-22 09:33:26 +01:00
vis2k
93d3511266 add comment 2019-12-22 09:24:31 +01:00
vis2k
54498403a5
fix: potential exploits / out of sync issues where clients with different transports might see different game states because of different max message sizes when using FallbackTransport. (#1331) 2019-12-22 09:18:51 +01:00
Paul Pacheco
9926472d98
feat: Chat example (#1305)
* Add chat example

* Update Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/Player.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/ChatWindow.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/Player.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/Player.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/Player.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Change package to chat

* Update Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/ChatWindow.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* UI FIxes

* Lighting

* Fixed ScrollView

* Fixed username assignment

* removed commented line

* Layout refinement

* remove empty lines

Co-Authored-By: MrGadget <chris@clevertech.net>

* fixed which element was enabled

* Strip unprintable characters

* reverted ASCI filter

Co-authored-by: MrGadget <chris@clevertech.net>
2019-12-21 13:22:02 -06:00
vis2k
b3127beb89 fix: MultiplexTransport GetMaxMessageSize NullReferenceException when called on server. And fixes potential exploits / out of sync issues where clients with different transports might see different game states because of different max message sizes. (#1332) 2019-12-21 08:09:33 -06:00
MrGadget
9a0127aadc Remove usings (#1327)
* Removed extraneous usings

* Removed extraneous usings

* Removed extraneous usings
2019-12-21 10:26:22 +01:00
MrGadget
ea4fc93159 Add return to ClientConnect(Uri) (#1326) 2019-12-20 21:46:52 +01:00
MrGadget
0e705d4aa0 Remove all extraneous blank lines (#1325) 2019-12-20 21:46:16 +01:00
MrGadget
b479b8ee51 Put the return back in ClientConnect (#1324) 2019-12-20 21:16:45 +01:00
MrGadget
1be4de3f63 Adjust cameras for server view (#1318) 2019-12-19 08:06:00 +01:00
Chris Langsenkamp
a5d369f96c fixed comment 2019-12-18 16:53:09 -05:00
MrGadget
abf5cdcf36 feat: Add roomPlayer parameter to OnRoomServerCreateGamePlayer (#1317)
* Adds roomPlayer parameter to OnRoomServerCreateGamePlayer

* fixed template
2019-12-17 10:16:14 +01:00
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