Commit Graph

5471 Commits

Author SHA1 Message Date
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