Commit Graph

5535 Commits

Author SHA1 Message Date
mischa
afd0f42673 Tests: NetworkClient subfolder 2023-04-20 22:06:25 +08:00
mischa
3580ae7416 Tests: NetworkBehaviour subfolder 2023-04-20 22:05:45 +08:00
mischa
a7105220c6 Tests: ReaderWriter folder renamed 2023-04-20 22:05:08 +08:00
mischa
c6aa694f34 Tests: CompressionTests moved to subfolder 2023-04-20 22:01:49 +08:00
mischa
a97e71ee3f Tests: ReaderWriter subfolder 2023-04-20 21:57:00 +08:00
mischa
a9210b4fb2 Tests: merged RemoteTestBase into FieldsInBaseClasses (only place where it was used) 2023-04-20 21:54:49 +08:00
mischa
937177941b Tests cleanup: Transports subfolder 2023-04-20 21:53:24 +08:00
mischa
06c096242c Tests cleanup: Grid2D tests moved to Interest Management subfolder 2023-04-20 21:51:35 +08:00
mischa
15b1a7610c Tests cleanup: Interest Management tests moved to subfolder 2023-04-20 21:51:07 +08:00
mischa
1b68f4fef7 Tests cleanup: SyncVar tests moved into SyncVars/ folder 2023-04-20 21:49:26 +08:00
mischa
93ca265083 Tests cleanup: Tools tests moved into Tools/ folder 2023-04-20 21:47:38 +08:00
mischa
8fade6e27e Tests cleanup: SyncList/Set/etc. tests moved into SyncCollections/ 2023-04-20 21:45:25 +08:00
mischa
9ffe306ae1 Tests cleanup: Rpc tests moved into Rpcs/ folder 2023-04-20 21:43:12 +08:00
mischa
4e5d0b41b1 Tests: renamed ClientSceneTests to NetworkClientTests. ClientScene was merged with NetworkClient a long time ago. 2023-04-20 21:39:43 +08:00
JesusLuvsYooh
bafc1277c7
Updated ApplySnapshot ScriptTemplates (#3472) 2023-04-15 18:13:36 +02:00
mischa
619d1cc627 Benchmark example: random movement jumps to exact destination when finishing.
for completeness.
2023-04-14 14:59:20 +08:00
MrGadget1024
1fda794f95 fix(Examples): Updated to latest NT changes. 2023-04-11 01:37:14 -04:00
MrGadget1024
83a0593c98 fix(Examples): Updated to latest NT changes. 2023-04-11 01:14:23 -04:00
MrGadget
f23d044519
Moved sendIntervalMultiplier, timelineOffset, timeStampAdjustment, offset to NTBase (#3442)
* Moved sendIntervalMultiplier, timelineOffset, timeStampAdjustment, offset to NetworkTransformBase

* Update Assets/Mirror/Components/NetworkTransformBase.cs

* fix: NetworkTransformUnreliable: timeStampAdjustment, timelineOffset to fix 2s jitter after tab switching in webgl caused by NT snaps potentially arriving behind timeline snaps (#3441)

* NT-U: Implemented sendIntervalMultiplier, timeStampAdjustment, timelineOffset

* Update Assets/Mirror/Components/NetworkTransformUnreliable/NetworkTransform.cs

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>

* Resolved conflict

* Resolved conflict

* NT: send interval multiplier moved to Base

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-04-11 06:23:02 +02:00
mischa
4eeb703488
fix: #3455 TargetRpc(NetworkConnectionToClient) weaver generated InvokeTargetRpc now passes 'null' as connection parameter on clients. (#3465)
Logically, clients can never fill in a NetworkConnectionToClient parameter.
fixes compilation failing for TargetRpc(NetworkConnectionToClient) with IL2CPP builds.
2023-04-11 05:45:43 +02:00
vis2k
e3bd35a091 Tests: FakeNetworkConnection renamed to FakeNetworkConnectionToClient to make usage more obvious 2023-04-11 11:03:23 +08:00
Eunseop Shim
3420c88692
fix: #3457 Make NumSyncVars take parent class syncvars into account (#3458)
* Add tests

* Include parent class when counting syncvars

* SyncObject is unneeded

I was also testing SyncObjects and it turned out they were unaffected of this issue. I removed SyncObject from my tests but forgot to do so here.

* Remove host SyncVar hook guard test

* Update Assets/Mirror/Editor/Weaver/Processors/SyncVarAttributeProcessor.cs

* Update SyncVarAttributeProcessor.cs

* Update Assets/Mirror/Tests/Editor/SyncVarAttributeTest.cs

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-04-11 04:32:31 +02:00
Meno000
e9597b70ac
KcpTransport: reconvert mapped ipv4->ipv6 addresses to ipv4 in ServerGetClientAddress (#3460)
* Update KcpTransport.cs

"::ffff:127.0.0.1" -> "127.0.0.1"

* Update Assets/Mirror/Transports/KCP/KcpTransport.cs

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-04-11 04:18:00 +02:00
MrGadget
fb8ae6c228
feat(NetworkTransform): Added Send Interval Multiplier (#3459) 2023-04-11 04:15:27 +02:00
MrGadget1024
8b1796f0a3 NetworkManagerTemplate: comments 2023-04-10 16:26:33 -04:00
MrGadget1024
a30c85d389 fix(NetworkManagerTemplate): Updated OnServerError / OnClientError comments 2023-04-10 16:18:06 -04:00
MrGadget
bae0c37679
fix(NetworkManager): Try to avoid missing transport errors (#3456)
* fix(NetworkManager): Try to avoid missing transport errors
- If none assigned, tries to use first Transport available and warns user
- If none available, throws clear error to user what to do.

* improved error msg
2023-04-10 05:27:47 +02:00
vis2k
2cf3582922 comment formatting 2023-04-08 18:33:23 +08:00
vis2k
20b7e5326e Weaver: update comments 2023-04-08 13:35:36 +08:00
Eunseop Shim
88170ed141
fix: #3447 make cached SyncVar fallback to original field value when there is no network context (#3449)
* Add Tests

* Fix tests relying on undefined behaviors

- GetSyncVarGameObjectOnClient()
The test relies on the behavior that GameObject SyncVar lookup will behave as client if both isServer and isClient is false.
The test is modified in a way that removes unnecessary object creation and uses a single object that is made sure it's context is client-side.

- TestSyncingAbstractNetworkBehaviour()
This test has been comparing null against null. The test is modified so it simulates each context better.

* Make cached SyncVar getters fallback on no network context

* Remove unnecessary assertions

Gone under my radar doing mindless copy & pasting

* Update Assets/Mirror/Core/NetworkBehaviour.cs

* Update Assets/Mirror/Core/NetworkBehaviour.cs

* Update Assets/Mirror/Core/NetworkBehaviour.cs

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-04-08 06:00:09 +02:00
vis2k
c3b7fe66a1 kcp: forgot to remove a log message when sending unreliable messages 2023-04-07 10:40:49 +08:00
vis2k
b2bceecb2d MIRROR_78_OR_NEWER 2023-04-06 11:58:28 +08:00
vis2k
d226d577c2 Telepathy implements PortTransport interface 2023-04-06 04:51:14 +02:00
vis2k
d62b80ec2d SimpleWeb implements PortTransport interface 2023-04-06 04:51:14 +02:00
vis2k
9b102c0aa1 Kcp implements PortTransport interface 2023-04-06 04:51:14 +02:00
vis2k
0ff04c1cf0 feature: PortTransport interface 2023-04-06 04:51:14 +02:00
mischa
ee957f3fcd
fix: kcp2k V1.35. secure cookie to prevent UDP spoofing. fixes: #3286 (#3445)
* fix: kcp2k V1.35 [2023-04-05]
- fix: KcpClients now need to validate with a secure cookie in order to protect against
  UDP spoofing. fixes:
  https://github.com/MirrorNetworking/Mirror/issues/3286
  [disclosed by IncludeSec]
- KcpClient/Server: change callbacks to protected so inheriting classes can use them too
- KcpClient/Server: change config visibility to protected

* credits

* credits

* link blog post

* 2019 compatibility

* Update Assets/Mirror/Transports/KCP/kcp2k/highlevel/KcpPeer.cs

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

* Update Assets/Mirror/Transports/KCP/kcp2k/highlevel/KcpPeer.cs

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

---------

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
2023-04-06 04:46:26 +02:00
vis2k
7889f3afaf remove unused imports 2023-04-05 10:45:24 +08:00
MrGadget1024
35ec40ea60 fix(BasicExample): Revert unintended changes 2023-04-04 08:10:26 -04:00
MrGadget
12ebd7f722
fix: NetworkTransformUnreliable: timeStampAdjustment, timelineOffset to fix 2s jitter after tab switching in webgl caused by NT snaps potentially arriving behind timeline snaps (#3441)
* NT-U: Implemented sendIntervalMultiplier, timeStampAdjustment, timelineOffset

* Update Assets/Mirror/Components/NetworkTransformUnreliable/NetworkTransform.cs

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-04-03 18:39:01 +02:00
MrGadget1024
ae40fcbddd fix(NetworkTransformReliable): Removed unused onlySyncOnChangeInterval 2023-04-03 12:31:17 -04:00
MrGadget1024
f7fe570c08 fix(SimpleWebTransport): Check hasDisposed in Connection.ToString 2023-04-03 10:20:51 -04:00
vis2k
1c8ea40a99 NetworkBehaviour.SendRpcInternal: simplify safety check and minimize indentation 2023-04-01 19:41:18 +08:00
vis2k
0268e1b9fe perf: remove unused NetworkPongMessage.serverTime to save 8 bytes for every pong 2023-04-01 19:35:44 +08:00
vis2k
615bd1125e syntax 2023-04-01 19:30:19 +08:00
vis2k
d4a5bd71d0 Mathd: Clamp01 reuses Clamp 2023-04-01 11:45:15 +08:00
vis2k
db923a486e ExponentialMovingAverage: alpha changed from float to double for better precision 2023-04-01 11:43:49 +08:00
vis2k
5fe306fdc1 AccurateInterval: syntax 2023-04-01 11:40:29 +08:00
vis2k
a637b831d7 remove unused using 2023-04-01 11:24:21 +08:00
vis2k
2ea568f404 Batcher: readonly .batches 2023-04-01 11:17:37 +08:00
MrGadget1024
31fa8a4b3c fix(SimpleWebTransport): Default sslProtocols to Tls12 2023-03-29 11:50:25 -04:00
MrGadget
40361f62bf
fix(NetworkServer): Don't disconnect on OnEntityStateMessage for object without authority (#3439) 2023-03-29 17:37:08 +02:00
MrGadget1024
b377d765ec fix(Chat Example): moved playerNames HashSet to ChatAuthenticator 2023-03-28 13:13:17 -04:00
MrGadget1024
48b2ee638f chore(SimpleWebTransport): formatting 2023-03-28 08:17:19 -04:00
MrGadget1024
8ce21b40b8 chore(SimpleWebTransport): formatting and syntax 2023-03-28 02:26:17 -04:00
MrGadget1024
22d4fb62bb fix(SimpleWebTransport): Improved tooltips 2023-03-28 01:18:44 -04:00
MrGadget1024
484820e293 feat(SimpleWebTransport): Implemented ClientConnect(Uri uri) 2023-03-28 00:58:32 -04:00
MrGadget
238233da3f
fix(NetworkTransformeliable): fix offset and sendIntervalMultiplier (#3438)
* fix(NetworkTransformeliable): fix offset and sendIntervalMultiplier

* Removed unused using

* latest fixes and comments

* moved comments

* Update NetworkTransformReliable.cs

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-03-28 05:06:52 +02:00
mischa
ae50522895
fix; NetworkTransformUnreliable now broadcasts in LateUpdate as well (#3410) (#3421) 2023-03-28 04:59:26 +02:00
vis2k
527dda561a revert previous commit NetworkTime modifications. keep TimeAsDouble 2023-03-27 10:56:13 +08:00
MrGadget
70e972aeb5
fix: Remove all usage of Time.timeAsDouble (#3436)
- Use NetworkTime.localTime everywhere for Unity 2019 LTS compatibility.
2023-03-26 04:32:44 +02:00
MrGadget
8a4cf9efd7
perf(SyncDictionary): Don't send value for OP_REMOVE (#3435) 2023-03-25 15:48:00 +01:00
MrGadget
41ae4833b8
feat(NetworkTransformReliable): Added SendIntervalMultiplier to optionally reduce bandwidth (#3424)
* NetworkTransformReliable - formatting for consistancy / legibility

* feat(NetworkTransformReliable): Added SendIntervalMultiplier

* fixed conflict

* formatting

* formatting

* formatting

* formatting

* formatting

* indention

* syntax

* syntax

* formatting

* syntax

* syntax

* Restored formatting changes

* one more formatting revert

* Update NetworkTransformReliable.cs

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-03-25 12:51:09 +01:00
MrGadget1024
377f65a919 fix(FadeInOut): Added OnValidate 2023-03-22 11:05:29 -04:00
MrGadget
26bb7e4e09
perf(InterestManagement): Don't Rebuild Observers In OnDestroy (#3430)
* perf(SceneInterestManagement): Only RebuildSceneObservers in Update
Don't RebuildSceneObservers in OnDestroy...that will happen in Update.
Multiple objects could be destroyed in same frame and we don't
want to rebuild for each one...let Update do it once.

* perf(MatchInterestManagement): Only RebuildMatchObservers in Update
Don't RebuildMatchObservers in OnDestroy...that will happen in Update.
Multiple objects could be destroyed in same frame and we don't
want to rebuild for each one...let Update do it once.

* perf(TeamInterestManagement): Only RebuildMatchObservers in Update
Don't TeamInterestManagement in OnDestroy...that will happen in Update.
Multiple objects could be destroyed in same frame and we don't
want to rebuild for each one...let Update do it once.

* SceneInterestManagement: Add curentScene to dirtyScenes in OnDestroy

* MatchInterestManagement - add match to dirtyMatches

* TeamInterestManagement - add team to dirtyTeams
2023-03-22 15:11:31 +01:00
MrGadget1024
2d9a2c93a4 FadeInOut - added comment 2023-03-22 09:12:53 -04:00
MrGadget1024
1aedd8d7c0 fix(AdditiveLevels): FadeInOut more user friendly 2023-03-22 09:10:49 -04:00
MrGadget1024
e29325d450 removd logging 2023-03-21 14:57:04 -04:00
MrGadget1024
fef184704f FadeInOut: Added GetDuration 2023-03-21 14:50:27 -04:00
MrGadget1024
6e2227dcbf fix(Additive Levels): Improve FadeInOut timing 2023-03-21 13:24:34 -04:00
MrGadget1024
5c7de2b6e0 fix(Discovery Template): wrapped OnValidate with #if UNITY_EDITOR 2023-03-21 06:55:32 -04:00
MrGadget1024
f0d288be1b Updated Discovery Template
- Added OnValidate and Start overrides
- Improved comments
2023-03-21 06:10:05 -04:00
MrGadget1024
343cfc1bad Updated Discovery Example 2023-03-21 06:10:05 -04:00
MrGadget1024
199ee490e5 fix(Discovery): Updated Network Discovery
- Moved transport and OnServerFound to base class
- Consolidated Start in base class
- Virtual OnValidate in base class
- Better public field order
- Added missing tooltip
2023-03-21 06:10:05 -04:00
JesusLuvsYooh
069e417edc
Fix(InterestManagementBase): Disable feature fully, if component unticked. (#3406)
* Draft Awake->OnEnabled

Fix: InterestManagement still partially working when using Awake, OnEnabled fixes it.

* Updated commeents

* Dont ask.
2023-03-21 02:54:45 +01:00
vis2k
3f02534978 perf: NetworkBehaviour.syncInterval default set to 0 to send every NetworkServer.sendInterval. fixes #3292 2023-03-20 17:09:44 +08:00
mischa
30d7b5b3a8
fix: #3427 NetworKTransformReliable now has a timelineOffset to account for decoupled arrival of NetworkTime and NetworkTransform snapshots (#3428)
* fix: #3427 NetworKTransformReliable now has a timelineOffset to account for decoupled arrival of NetworkTime and NetworkTransform snapshots

* bool
2023-03-20 03:36:21 +01:00
vis2k
1a34614e4c KcpClient/Server: change config visibility to protected 2023-03-19 11:31:39 +08:00
vis2k
dd50a43b9b KcpClient/Server: change callbacks to protected so inheriting classes can use them too 2023-03-19 11:27:56 +08:00
vis2k
660b57ecb7 KcpPeer: fix log message. 2023-03-19 11:19:29 +08:00
MrGadget1024
638b3536a5 fix(NetworkAuthenticatorTemplate): Added missing overrides 2023-03-18 11:04:56 -04:00
MrGadget
4ce8b2a431
fix: Reader / Writer extensions for Unity structs with properties (#3426)
* fix: Reader / Writer extensions for Unity structs with properties

* removed blank lines
2023-03-18 09:10:53 +01:00
MrGadget1024
b8e7aa0567 Added DriftEMA, DeliveryTimeEMA, and RTT to NetworkClient OnGUI 2023-03-18 16:05:28 +08:00
vis2k
7d93d0156e perf: snapshot interpolation default catchup speed increased to 2%, and slowdown speed increased to 4% to avoid jitter 2023-03-18 16:04:22 +08:00
MrGadget1024
ef86df8454 NetworkReaderExtensions - syntax 2023-03-16 15:26:11 -04:00
MrGadget
ff5115e04a
fix(NetworkManager): Call OnServerDisconnect for Host Client (#3419) 2023-03-16 13:27:49 +01:00
vis2k
a9b216d2e6 snapshot interpolation demo: vsync reminder. it's too easy to forget. 2023-03-16 19:23:53 +08:00
vis2k
d63af8d22c Snapshot Interpolation Demo: add more buttons for testing 2023-03-16 18:31:06 +08:00
vis2k
be8857a509 TimelineClamp: add comments 2023-03-16 11:24:37 +08:00
vis2k
8d857de09b kcp2k V1.34 [2023-03-15]
- Send/SendTo/Receive/ReceiveFrom NonBlocking extensions.
  to encapsulate WouldBlock allocations, exceptions, etc.
  allows for reuse when overwriting KcpServer/Client (i.e. for relays).
2023-03-15 13:00:37 +08:00
vis2k
69de3f0379 NetworkTransformUnreliable: syntax (early returns) 2023-03-14 17:18:27 +08:00
vis2k
5f1ec83cca NetworkTransformUnreliable: UpdateClientInterpolation helper function 2023-03-14 17:17:33 +08:00
vis2k
6e142d8cc0 NetworkTransformUnreliable: UpdateServerInterpolation helper function 2023-03-14 17:16:54 +08:00
vis2k
255789bc57 NetworkTransformUnreliable: UpdateServerBroadcast helper function 2023-03-14 17:15:57 +08:00
vis2k
feab9041b4 NetworkTransformUnreliable: UpdateClientBroadcast helper function 2023-03-14 17:15:11 +08:00
vis2k
9b25758a4e syntax 2023-03-14 17:13:37 +08:00
vis2k
73e953ee2a perf: kcp2k V1.33
- perf: KcpServer/Client RawReceive now call socket.Poll to avoid non-blocking
  socket's allocating a new SocketException in case they WouldBlock.
  fixes https://github.com/MirrorNetworking/Mirror/issues/3413
- perf: KcpServer/Client RawSend now call socket.Poll to avoid non-blocking
  socket's allocating a new SocketException in case they WouldBlock.
  fixes https://github.com/MirrorNetworking/Mirror/issues/3413
2023-03-14 16:57:56 +08:00
MrGadget1024
f31529580b Examples - Unity 2021 updates 2023-03-12 15:19:21 -04:00
MrGadget1024
1955587c9e Room example Unity updates 2023-03-12 14:39:43 -04:00
MrGadget1024
c35b43bb2e WebSocketServer - syntax 2023-03-12 14:21:23 -04:00