Commit Graph

2688 Commits

Author SHA1 Message Date
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
vis2k
2a5af1af20 kcp2k V1.3 2020-11-17 15:41:37 +08:00
James Frowen
54869c9ba2
finding handler inside TransportReceive so we dont need to check true/false (#2439) 2020-11-16 16:09:32 +00:00
James Frowen
e12621cbd1
moving log inside handler so it has message name (#2438) 2020-11-16 12:40:50 +08:00
James Frowen
46e60c6564
renaming reader (#2437)
less verbose name
2020-11-16 12:40:17 +08:00
James Frowen
38907e63d9
fixing typo (#2434) 2020-11-15 20:40:45 +00:00
vis2k
fcd1394061
MessagePacker.UnpackMessage renamed to Unpack for consistency with Pack and because the class is already named MessagePacker anyway (#2430) 2020-11-16 02:42:01 +08:00
vis2k
14ae0d094d
MessageHandler.MessageHandler renamed to WrapHandler because that's what it does. (#2431) 2020-11-16 01:48:33 +08:00
vis2k
1e9a3b03de add comment 2020-11-16 00:43:48 +08:00
vis2k
ca29bcebe5 MessagePacker.Unpack<T> moved to MessagePackerTests because it's only used for tests 2020-11-15 16:41:38 +08:00
vis2k
cf9025bff7 Synta 2020-11-15 16:41:38 +08:00
James Frowen
3727e36b74
weaver removing unneeded ImportReference (#2429) 2020-11-14 23:55:44 +00:00
MrGadget1024
b14daba289 Removed Telepathy from example that I added by accident 2020-11-14 15:43:14 -05:00
James Frowen
417818d4d6
weaver import typeRefernce when generating readers (#2427)
Importing typeRefernce once before we generate reader
2020-11-14 12:50:21 -06:00
MrGadget1024
2e2fecb20a Minor code cleanup in PlayerControllers 2020-11-14 11:48:28 -05:00
James Frowen
f7b0b88247 removing invalid cref 2020-11-14 16:28:32 +00:00
Paul Pacheco
037ac55937
fix: using mathematics in commands and rpcs (#2425)
Generating readers and writers for structs in other assemblies
could sometimes cause a
```
System.ArgumentException: Member 'xxx' is declared in another module and needs to be imported
```
This in particular affected unity mathematics.

fixes #2406
2020-11-14 10:25:48 -06:00
Paul Pacheco
59ed64f9d0
feat: Provide user friendly error with undefined reader/writer (#2423)
Previously this just gave NRE, which does not help the user address the problem.

provides a better error for #2411
2020-11-14 08:46:53 -06:00
MrGadget1024
d5e162c0d0 Removed Server Only scene object from MultipleAdditiveScenes example 2020-11-14 02:26:19 -05:00
MrGadget1024
7ea55ce935 Added server checks to ZoneHandler 2020-11-14 01:00:06 -05:00
MrGadget1024
e9286b8259 Added server checks to Spawner 2020-11-14 00:58:42 -05:00
MrGadget1024
263b88d24d Removed Server Only Scene Object from Room Example
Spawner now has static property and methods and doesn't need to be on any networked object.
2020-11-14 00:03:19 -05:00
MrGadget1024
474b2ddf06 Removed Server Only Scene Object from Additive Scenes Example 2020-11-13 23:01:30 -05:00
vis2k
218492a921 NetworkServerTests: UpdateDetectsNullEntryInSpawned 2020-11-13 20:13:35 +01:00
vis2k
b957ab7818 better name 2020-11-13 20:10:45 +01:00
vis2k
d21d501bd0 NetworkServerTests: UpdateWithNullEntryInSpawned 2020-11-13 20:05:41 +01:00
vis2k
0f96e8ce6b
Pool<T>; NetworkReader/WriterPools simplified by using Pool<T> (#2414)
* Pool & Tests

* NetworkWriterPool simplified: uses Pool<T>

* NetworkReaderPool simplified: uses Pool<T>
2020-11-13 19:22:03 +01:00
JesusLuvsYooh
3e21f76d4a
Round trip time bool and tooltip. (#2419)
* Round trip time bool and tooltip.

I've added this RTT boolean and a tooltip, might clear up some confusion for future users.
Many believe ping is time to server, and rtt is ping pong.

* Round trip time bool and tooltip.

I've added this RTT boolean and a tooltip, might clear up some confusion for future users.
Many believe ping is time to server, and rtt is ping pong.

* Round trip time bool and tooltip.

I've added this RTT boolean and a tooltip, might clear up some confusion for future users.
Many believe ping is time to server, and rtt is ping pong.

* Round trip time bool and tooltip.

I've added this RTT boolean and a tooltip, might clear up some confusion for future users.
Many believe ping is time to server, and rtt is ping pong.
2020-11-12 17:02:57 +01:00
MrGadget1024
35b61749d1 Updated PreprocessorDefine & ProjectSettings version to 28
This should have been done with PR #2413
2020-11-11 08:53:43 -05:00
vis2k
9c6c5d760c
breaking: Force networkmessage as struct everywhere. Redundant MessagePacker.GetId(type) not needed anymore (#2413)
* breaking: Force NetworkMessage as struct everywhere

* Redundant GetId(type) is not needed anymore
2020-11-11 09:48:03 +01:00
James Frowen
6d4aeaf3e3 fix(SimpleWebTransport): Error event should now correctly be called 2020-11-11 00:42:47 +00:00
MrGadget1024
581dacaaa5 Updated PreprocessorDefine & ProjectSettings version to 27
This should have been done in PR #2400
2020-11-10 18:26:26 -05:00
MrGadget1024
0fdf54dd34 Updated metas for Icosphere 2020-11-10 18:06:33 -05:00
MrGadget1024
2f9b423d41 Added tooltip 2020-11-10 17:48:16 -05:00
vis2k
1ecf57a2f0 Tests: remove unnecessary empty NetworkMessage serialization methods. Weaver takes care of it. 2020-11-10 10:27:35 +01:00
vis2k
2b02fa0130 kcp2k V1.2: smaller fixes, max message size increased from 1200 bytes to 145KB 2020-11-09 21:15:36 +01:00
Martin Bozek
4bb202fddc
feat: Change NetworkPingDisplay settings at runtime (#2396)
* making fields public
* adding format for text
* updating style each frame to update when it is changed
2020-11-09 18:11:13 +00:00
JesusLuvsYooh
a57c47d5f6
Adjusted KCP tooltip typo. (#2409)
Changed the default 100ms to 10ms
Double checked with Vis in Discord  "tooltip is meant to say 10ms."
Already seen one screenshot of a Discord user that set this from 10 to 100, due to the typo, believing 100 was meant to be default and not 10.
2020-11-09 08:24:12 -05:00
MrGadget1024
fd8c227812 Renamed private method to correct spelling. 2020-11-08 21:36:22 -05:00
vis2k
7eaeb07642 fix: flaky Weaver tests. Read/WritePacked removed for good 2020-11-08 18:34:20 +01:00
vis2k
91d365fa13 Tests: NetworkMatchCheckerTest telepathy obsolete warning fixed. uses MemoryTransport now 2020-11-08 17:00:39 +01:00
vis2k
ab71bdbc62
breaking: Obsolete Read/WritePacked functions and use the regular ones everywhere. We are not bandwidth limited but CPU limited, so this is good. Those were overly complex and worst of all they cause non deterministic packet sizes. a player packet might spawn fine in editor, but 1 month into production it might very well hit the 1200 MTU limit if health is suddenly >241 or the Vector2Int position is somewhere else. This was insanity. (#2400)
* NetworkWriter consistency: Write(U)Ints moved to static extension methods for consistency with all the other writer functions like WriteUInt16.
This makes life easier because weaver looks for all Write(U)Int functions in the same place. Otherwise packed writes can't be removed in a later PR without breaking weaver (which is also evidence for being bad design before)

* NetworkReader consistency: removed redundant Read(U)Ints

* breaking: Obsolete Read/WritePacked functions and use the regular ones everywhere. We are not bandwidth limited but CPU limited, so this is good. Those were overly complex and worst of all they cause non deterministic packet sizes. a player packet might spawn fine in editor, but 1 month into production it might very well hit the 1200 MTU limit if health is suddenly >241 or the Vector2Int position is somewhere else. This was insanity.
2020-11-08 15:59:09 +01:00
vis2k
a857707321
Networkwriter consistency (#2399)
* NetworkWriter consistency: Write(U)Ints moved to static extension methods for consistency with all the other writer functions like WriteUInt16.
This makes life easier because weaver looks for all Write(U)Int functions in the same place. Otherwise packed writes can't be removed in a later PR without breaking weaver (which is also evidence for being bad design before)

* NetworkReader consistency: removed redundant Read(U)Ints
2020-11-07 17:49:12 +01:00
vis2k
06e2d7ceda remove unused import 2020-11-07 14:49:04 +01:00
vis2k
1c471feffd life is better with semicolons 2020-11-07 13:54:58 +01:00
Sulexa
4d8b02ce35
prevent multiple client or server to start (#2398)
* Return and log warning on start already started client or server

* Apply suggestions from code review, Always check for client and server active state

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

* Update Assets/Mirror/Runtime/NetworkManager.cs

* Update Assets/Mirror/Runtime/NetworkManager.cs

* Update Assets/Mirror/Runtime/NetworkManager.cs

* Update Assets/Mirror/Runtime/NetworkManager.cs

* Update Assets/Mirror/Runtime/NetworkManager.cs

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
Co-authored-by: vis2k <info@noobtuts.com>
2020-11-07 10:13:47 +01:00
James Frowen
dbd1afe53b
fix(MiddlewareTransport): making sure MiddlewareTransport listens for inner events (#2386)
* making sure events are called

* full tests for middleware Transport
2020-11-07 02:10:44 +00:00