Commit Graph

5787 Commits

Author SHA1 Message Date
mischa
82c09850da Tanks demo: increase send rate from 30 Hz to 120 Hz to avoid rtt being too high. reduces rtt from ~30 ms to ~8ms. 2023-07-18 16:52:22 +08:00
mischa
f6cf32ee8d Lag Compensation demo: fix warning 2023-07-18 16:10:58 +08:00
mischa
70c34ecf5d NetworkBehaviour.OnValidate: GetComponentInParent(bool) 2020 support (credits FakeByte) 2023-07-18 15:37:04 +08:00
mischa
27e2238d0b typo 2023-07-18 15:14:26 +08:00
mischa
8b6364bb76 NetworkIdentity: correct GetComponentInParent explanations (credit: FakeByte) 2023-07-18 14:49:26 +08:00
mischa
6d4e460f87 NetworkIdentity: expose AssetGuidToUint in builds 2023-07-18 14:44:17 +08:00
mischa
4ec80368f6 fix: NetworkBehaviour.OnValidate can't find parent NetworkIdentity because both the Unity define and GetComponentInParent() are broken in 2023.3 LTS. 2023-07-18 14:33:34 +08:00
mischa
0315fb3345 fix: Tanks demo: replace Turret obsolete NetworkTransform with NetworkTransformUnreliable component 2023-07-18 14:09:09 +08:00
mischa
fcd3a6b91b perf: remove some unnecessary inlining to optimize instruction cache 2023-07-18 13:24:02 +08:00
mischa
0862b9b99f NetworkIdentity: expose AssetId to Guid translation function 2023-07-10 12:53:28 +08:00
Robin Rolf
39211f9002
fix: 2019 tests work again (#3547) 2023-07-09 12:22:59 +08:00
mischa
629e50e4f9 fix: NetworkBehaviour OnValidate #ifdef adjusted for Unity 2020.3.19 support 2023-07-08 14:33:39 +08:00
mischa
f62b9a5a24 improve error message for #3525 for cases where the [SyncVar] is named 'value' 2023-07-06 20:03:01 +08:00
mischa
468192b046 fix NetworkIdentityTests by applying the workaround for #3525 2023-07-06 20:01:31 +08:00
mischa
acf67dddb0 fix: #3525 by explaining the solution in the Error message. 2023-07-06 19:59:16 +08:00
mischa
7c86f6a129 Re-enable the failing tests 2023-07-06 19:47:29 +08:00
mischa
69647f26a1 NetworkClient OnGUI: better rtt display 2023-07-06 17:11:20 +08:00
mischa
59e04f7902 breaking: NetworkTime.PingFrequency renamed to PingInterval. Makes it more obvious that we use it as interval, not as frequency in Hz. 2023-07-06 16:45:11 +08:00
mischa
d64c5fb61b fix PrepareToSpawnSceneObjects tests after recent fix 2023-07-06 16:45:03 +08:00
mischa
a463d48681 NetworkTime: more readable ping interval check 2023-07-06 16:33:08 +08:00
James Frowen
08fa0269de
fix: #3538 calling unspawn on scene objects in DestroyOwnedObjects (#3542)
* fix: calling unspawn on scene objects in DestroyOwnedObjects

fixes: https://github.com/MirrorNetworking/Mirror/issues/3538

* Update NetworkConnectionToClient.cs

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-07-06 09:59:28 +02:00
James Frowen
51c7162af7
fix: PrepareToSpawnSceneObjects checks netId instead of activeSelf [fixes: #3541] (#3543)
* fix: fixing PrepareToSpawnSceneObjects not added enabled objects

fixes: https://github.com/MirrorNetworking/Mirror/issues/3541

Should be safe to remove this extra check complete, it is safe to add spawned object to `spawnableObjects`. For now this just changes it to NetId to ensure that the object really is unspawned and not just enabled

* Update NetworkClient.cs

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-07-06 09:56:23 +02:00
mischa
110625b102
feature: Lag Compensation V1 (#3534)
* Lag Compensation Example based on Snapshot Interpolation example

* rename scene

* increase latency

* update scripts

* instructions

* better

* rename to rollback

* rename scene

* rebase

* rename to LagComp

* collider, onclick

* CmdClick

* flash color

* cleanup

* LagCompensationSettings

* caputre in interval

* comment

* syntax

* catpure, comp

* ns

* stuff

* source

* syntax

* naming

* history and draw history

* adjust

* cleanups

* tests

* sample and tests

* simplify tests

* out interpolation factor t

* tostring

* show result duration

* sample and interpolate

* fix

* logs

* better gizmos

* store size

* EstimateTime

* demo: estimate time

* estimation tests

* perf: Queue instead of List

* comment

* syntax

* cleaner

* cleanup

* syntax

* comment

* DrawGizmo(s)

* syntax

* extrapolation tests

* fix insert and test

* extrapolation

* fix extrapolation out values

* comments

* TODO

* TODO
2023-07-05 12:08:20 +02:00
mischa
4972b8004a Tests: fix failing NetworkManagerTests because DeeplyTested test didn't register the GameObject for cleanup 2023-06-29 19:56:17 +08:00
mischa
13e07f5603 NetworkTime: rttVar renamed to rttVariance for consistency with old Mirror versions. makes it easier to upgrade. 2023-06-27 21:40:45 +08:00
mischa
37bbd7eb3d fix: SnapshotInterpolation.Insert() now has a bufferLimit to avoid ever growing snapshot buffers on extremely low-fps clients 2023-06-27 19:20:03 +08:00
mischa
60936f0646 perf: NetworkTransformBase SortedLists now allocate with a default capacity to avoid early resizing & allocations 2023-06-27 18:57:05 +08:00
mischa
97313bd295
feature: ConnectionQuality Heuristic + Callback + GUI (#3526)
* ConnectionQuality.cs

* NetworkClient.ConnectionQuality with virtual NetworkManager calculation

* NetworkPingDisplay displays ConnectionQuality

* Tanks: adjust NetworkPingDisplay size

* NetworkManager: provide simple version too

* color coding

* extension

* virtual claculate

* on changed hook

* better heuristic

* syntax

* remove comment

* naming

* update in interval

* tweaking

* enable log

* naming

* color

* log message

* comment

* syntax

* explanations
2023-06-26 05:50:03 +02:00
mischa
deaf53a9bb NetworkTime: reintroduce Round Trip Time Variance to prepare for ConnectionQuality 2023-06-25 10:33:23 +08:00
mischa
db83a4cca2 NetworkClient: initialBufferTime for debugging, comparisons, and to prepare for ConnectionQuality 2023-06-25 10:27:14 +08:00
mischa
00f20bca2e Tanks demo: always show time interpolation GUI for easier debugging 2023-06-25 10:20:59 +08:00
mischa
c599fb616e fix: NetworkClient TimeInterpolation: add 'current' bufferTimeMultiplier field to not overwrite the initial SnapshotSettings.bufferTimeMultiplier. Allows us to reset bufferTimeMultiplier in InitTimeInterpolation and prepares for ConnectionQuality. 2023-06-25 10:03:08 +08:00
mischa
16efc7eedf Disable the failing tests for now, so at least the project compiles without Weaver errors 2023-06-24 20:35:26 +08:00
mischa
2b6212b088 fix: Weaver SyncVarAttributeAccessReplacer now detects modifying [SyncVar] in another assembly and logs an error, instead of silently failing at runtime (#3525) 2023-06-24 12:34:59 +08:00
mischa
6465ac5394 Weaver: SyncVarAccessReplacer: pass Logging 2023-06-24 12:34:59 +08:00
mischa
19065acb19 Weaver: SyncVarAccessReplacer: syntax & comments to make it more obvious 2023-06-24 12:34:59 +08:00
mischa
6fb0b33188
fix: Weaver now weaves NetworkBehavious in nested type definitions (#3524)
* test for deeply nested weaving

* fix
2023-06-23 14:11:34 +02:00
mischa
d5664ab202 feature: Weaver adds 'bool Weaved()' to each NetworkBehaviour, which can be checked at runtime #3523 2023-06-23 20:07:28 +08:00
mischa
1d7af1b750 Tests: remove unused 'using' 2023-06-23 10:01:41 +08:00
mischa
d1719c1e7b fix: tests work on Unity 2022.2+ [imer] 2023-06-22 23:48:26 +08:00
mischa
73c9990f03 comments 2023-06-20 19:58:46 +08:00
mischa
4d127ad370 naming 2023-06-20 19:58:46 +08:00
mischa
c687bdd24a Weaver ILPostProcessorAssemblyResolver: use GetFileNameWithoutExtension 2023-06-20 19:58:46 +08:00
mischa
8cb58d73e8 syntax 2023-06-20 19:58:46 +08:00
mischa
74bbd295d5 readonly 2023-06-20 19:58:46 +08:00
mischa
69d4d251e2 comments 2023-06-20 19:58:46 +08:00
mischa
eb33dfd40e perf: Weaver ILPostProcessorAssemblyResolver FindFile searches dllname / exename in one iteration & without Linq 2023-06-20 19:58:46 +08:00
mischa
1cc888f287 Weaver: ILPostProcessorAssemblyResolver FindFile comments 2023-06-20 19:58:46 +08:00
mischa
5b7d9560c0 Weaver: ILPostProcessorAssemblyResolver caches FindFile for a 50x improvement in TypeReference.Resolve(), and a 22x improvement in total Weaver time for large projects 2023-06-20 19:58:46 +08:00
mischa
c960377911 Weaver: ILPostProcessorAssemblyResolver comment 2023-06-20 19:58:46 +08:00
mischa
443d1541d1 perf: Weaver ILPostProcessorAssemblyResolver FindFile caches exeName, dllName for ~0.1ms speedup per call 2023-06-20 19:58:46 +08:00
mischa
97f3d2dff4 Weaver ILPostProcessorAssemblyResolver: FindFile uses string name parameter directly 2023-06-20 19:58:46 +08:00
mischa
c6be031783 perf: Weaver ILPostProcessorAssemblyResolver uses ConcurrentDictionary to avoid multithreading locks 2023-06-20 19:58:46 +08:00
mischa
c5ad884145 RigidbodyPhysics demo: disable 'onlySyncOnChange' until #3519 is fixed 2023-06-20 19:53:40 +08:00
mischa
8be961bfb5 Examples/VR link 2023-06-20 16:17:53 +08:00
mischa
d0edb2d7a4 Unbatcher: Unity 2019 fix 2023-06-16 17:25:50 +08:00
mischa
fc561918a8 remove leftover comment 2023-06-16 17:19:03 +08:00
mischa
13fd7211e0
fix: Batching VarInt size header added to fix custom serializated NetworkMessages with size mismatch corrupting the next message in a batch (#3516)
* repro test

* Batcher, Unbatcher VarInt size prefix

* NetworkServer/Client adjusted

* add check

* fix tests

* Batcher: rename headersize

* NetworkMessages: MaxContentSize adjusted

* max size calculations adjusted

* fix tests

* Batcher.MaxMessageOverhead

* naming
2023-06-16 10:58:54 +02:00
mischa
6ac67b9b5f feature: NetworkRigidbody Benchmark demo 2023-06-16 12:26:59 +08:00
mischa
b49f5b39de fix: NetworkRigidbody/2D now uses .target's Rigidbody and supports child Rigidbodies 2023-06-16 10:42:39 +08:00
mischa
bbf1140fc9 NetworkRigidbody: MovePosition overwrite comments 2023-06-16 10:31:49 +08:00
mischa
84b408e377
feature: NetworkMessageId <> Type lookup and log function for debugging (#3515)
* feature: NetworkMessageId <> Type lookup and log function for debugging

* better to do in NC/NS
2023-06-16 03:48:08 +02:00
mischa
581d16eb75 Unbatcher: simplify GetNextMessage 2023-06-15 19:37:53 +08:00
mischa
54f6abb6ce feature: VarInt size prediction 2023-06-15 16:35:18 +08:00
mischa
cdf5edae0d syntax 2023-06-15 15:45:00 +08:00
mischa
321b68b2bc NetworkMessages: keep GetId<T> for convenience 2023-06-15 15:44:06 +08:00
mischa
4cb2e75d4f syntax 2023-06-15 15:36:19 +08:00
mischa
86064080f9 breaking: NetworkTransform renamed to NetworkTransformUnreliable for consistency 2023-06-15 15:27:33 +08:00
mischa
2c075c94ad wat 2023-06-15 15:10:38 +08:00
mischa
128da59c76 remove duplicate NetworkRigidbody scripts 2023-06-15 15:09:03 +08:00
mischa
627db15d4a NetworkTransform: moved all related scripts into one NetworkTransform folder 2023-06-14 17:57:28 +08:00
mischa
7e0e02f5d8
perf: NetworkRigidbody Reliable/Unreliable via NetworkTransform for smooth interpolation (#3510)
* RB

* fix clientauthority warning

* reset iskinematic and add a player to try local sync

* delete red ball, fix

* spawns multiplayer

* sc

* textmesh

* better

* better

* reset latency sim

* NetworkRigidbody folder

* syntax

* fix rese tflags

* 2D
2023-06-14 11:24:18 +02:00
mischa
8cd13328ca fix: NetworkBehaviourInspector 'had no target' warning 2023-06-14 17:21:45 +08:00
mischa
e5be10ff71 NetworkTransform: show Gizmos as WriteCube instead of solid Cube for easier visual debugging 2023-06-13 12:55:07 +08:00
mischa
f72d35987a Rigidbody Example: gray background so we can see overlays easier 2023-06-13 11:20:30 +08:00
mischa
62503601af Rigidbody Example: show time interpolation GUI 2023-06-13 11:20:30 +08:00
mischa
f89b9cbfae RigidbodyPhysics Example: fix missing component warnings 2023-06-13 11:20:30 +08:00
mischa
dbe8a37bcd
fix: Weaver runtime fuse to ensure weaving succeeded before starting Server/Client (#3509)
* fix: Weaver runtime fuse to ensure weaving succeeded before starting Server/Client (#3506)

* WeaverFuse Core/ and Tests/

* runtime safety checks

* weaver

* cleanups

* remove log

* comments updated

* WeaverTypes variant

* update comment

* comment updated

* more accurate errors

* host check

* better

* better logs

* redundabt

* fix 2019 support
2023-06-12 17:57:58 +02:00
mischa
f5fa952937 Snapshot Interpolation Example: README 2023-06-12 23:43:19 +08:00
mischa
278f44673d CompilationFinishedHook: add explanation 2023-06-11 16:52:34 +09:00
mischa
30437a934f fix NetworkClientTests for Unity 2019 2023-06-11 16:42:31 +08:00
mischa
afd275ad87 NetworkMessages.WrapHandler: improve log message to make it easier to search for 'Disconnect' in logs 2023-06-11 16:10:00 +09:00
mischa
e58e47fc47
fix: NetworkClient unbatcher is now reset in host mode connect as well [credit: BigBoxVR] 2023-06-11 08:27:16 +02:00
mischa
1e199caab0 Unbatcher: readonly fields 2023-06-11 09:06:07 +09:00
mischa
6be1a25338 fix: KcpServer.Stop now clears connections so they aren't carried over to the next session 2023-06-10 21:33:55 +09:00
James Frowen
bd66be3d1c
fix: fixing use of new c# in 2020 (#3507)
* fix: fixing use of new c# in 2020

* fixing doc comment
2023-06-09 14:09:16 -04:00
James Frowen
176a2d3b66
feat: adding option to get Ip behind reverse proxy (#3505)
* feat: adding option to get Ip behind reverse proxy

When running behind a reverse proxy the IP endpoints will be that of the reverse proxy, not the client.
Reverse proxies like Nginx set the ip if the host in a http header, the server can read this header during the handshake and store it so it knows the IP address of the client

* feat: adding method to get request

allows users to get other headers if they need to

* caching remote address

* fix and simplify

* inlining extra var

* string interpolation

* changing request log message to info

* adding GET back in inside ReadToEndForHandshake

* updating log message

* max split 2

* returning ipv4 address

* checking if address is ipv4

* adding using

* fixing maping
2023-06-09 09:50:41 -04:00
mischa
220937cc4a MIRROR_79_OR_NEWER 2023-06-08 10:38:16 +09:00
mischa
aaaa62e9c9 kcp2k V1.36 [2023-06-08]
- fix: #49 KcpPeer.RawInput message size check now considers cookie as well
- kcp.cs cleanups
2023-06-08 10:31:26 +09:00
Robin Rolf
37d762c2c3
fix: Test prefab loading might not cause log (#3502) 2023-06-07 19:04:09 +08:00
Robin Rolf
f11a7b44fe
fix: failing NetworkClientTests (#3500) 2023-06-07 17:21:51 +08:00
JesusLuvsYooh
f0005f0021
Changed default NT BRM to 3 (#3496)
5 (the previous default) covers really bad pings in return for noticeable delay. However, not every game should have this as their default. 1 being almost instant movement for minimal smoothing (could be best for VR and other uses), from testing 3 is a nice balanced result.
2023-06-05 06:18:54 +02:00
JesusLuvsYooh
1b6bb1e28a
NT-UR Example presets (#3494)
Tested on tanks example, parent and child turret.
Scenarios were regular localhost, then latency sim defaults (200ping, 2% loss etc) and bad connection (500 ping, 5% loss etc), along with personal experience of the settings on NT thee 3 presets should cover most peoples scenarios.
2023-06-01 12:37:13 +02:00
mischa
f84a385212
fix: Disallow Child-NetworkIdentities in Scene objects (#3492)
* fix: Disallow Child-NetworkIdentities in Scene objects

* better
2023-05-29 12:05:19 +08:00
mischa
d74e61298e
fix: #3485 Weaver now skips protected fields (Credit: James) (#3493)
* fix: #3485 Weaver now skips protected fields

* simplify
2023-05-27 06:36:05 +02:00
mischa
22134470ed fix Unit tests 2023-05-27 11:47:22 +08:00
mischa
3619be494a feature: allow NetworkBehaviour components in children. solves #2276 (#3486)
* feature: allow child NetworkBehaviour components in children

* Tanks demo: move Turret NetworkTransform to child

* NT TODO

* RequireInParents NI

* NetworkAnimatore allow in children

* call base onvalidate

* Add OnValidate to Script Template

* fix for pre-2020.3 Unity

* MirrorTest: CreateNetworked with NetworkBehaviour in children

* Tests: child networkbehaviours

---------

Co-authored-by: MrGadget1024 <9826063+MrGadget1024@users.noreply.github.com>
2023-05-27 08:25:53 +08:00
mischa
26e83ce645 fix: NetworkBehaviour SendRPCInternal error message fixed. This can happen if an RPC is called after shutting down the server - which doesn't mean that it was called on a client. 2023-05-25 11:16:06 +08:00
JesusLuvsYooh
e0ae55a971
Update NetworkRoomPlayer.cs (#3490) 2023-05-19 19:51:50 +08:00
JesusLuvsYooh
4c6e4e2bd0
NetworkTransform tooltips need use-case explanations. (#3481)
* Removed obsolete comment.

* Tooltip explanations 1
2023-05-19 19:51:27 +08:00
mischa
bf5cd97e69 fix: #3482 Weaver Generic 'out' parameter IL2CPP build failures [credit: JamesDev] 2023-05-14 11:47:05 +08:00
MrGadget1024
22675f40cf NetworkTransform - syntax 2023-05-09 03:01:14 -04:00
MrGadget1024
b7bf117378 NetworkTransform - syntax 2023-05-09 02:59:35 -04:00
ninjakickja
337a0affee
fix #3478 - Changed sendIntervalCounter increment logic (#3480)
Changed sendIntervalCounter logic to fix the issue where if sendIntervalMultiplier = 1, NT will send every frame instead of every send interval.
This is due to sendIntervalCounter being initialised to 1 instead of 0, after NT has triggered it's send.
2023-05-09 06:57:09 +02:00
Louis Bailleau
8a0accc60b
breaking: NetworkDiscovery ServerFoundUnityEvent now supports custom ServerResponse types 2023-05-08 03:59:15 +02:00
MrGadget1024
09496652b7 fix(SimpleWebTransport): fixed ClientUseDefaultPort default 2023-05-04 17:07:55 -04:00
James Frowen
f200b907ac
feat(SimpleWebTransport): adding option to set server and client port different (#3477)
* feat(SimpleWebTransport): adding option to set server and client port different

When running websocket server behind reverse proxy client should connect via port 80 or 443. the reverse proxy should then forward requests to the ServerPort  running on localhost.

* Update Assets/Mirror/Transports/SimpleWeb/SimpleWebTransport.cs

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-05-04 04:59:47 +02:00
mischa
0f41aa7a3e NetworkBehaviour SendCommandInternal: shorter logs 2023-04-29 10:52:07 +09:00
mischa
4193b5401e fix: #3409 - NetworkTime now always uses unscaled time as double. Forgot to push the commit for the previous commit's PR 2023-04-24 20:09:53 +08:00
mischa
754a98fd71
fix: #3409 NetworkTime now always uses (#3475) 2023-04-22 05:12:31 +02:00
mischa
58e7915952 Tests: NetworkBehaviourMock component with call counters for reuse. Tests don't need to manually define call counters anymore. 2023-04-21 14:34:22 +08:00
mischa
b43d920572 Tests: NetworkIdentity tests split into multiple files 2023-04-21 14:14:30 +08:00
mischa
005d8384f4 Tests: NetworkClient namespace changed 2023-04-21 14:03:07 +08:00
mischa
20cf67342d Tests: NetworkTransform namespace for grouping in test runner 2023-04-21 14:01:33 +08:00
mischa
b33d3bb924 Tests: NetworkReaderWriter namespace for grouping in test runner 2023-04-21 14:00:57 +08:00
mischa
ce0b8eabd9 Tests: NetworkMessages namespace for grouping in test runner 2023-04-21 13:58:51 +08:00
mischa
38dd2ae960 Tests: NetworkManager namespace for grouping in test runner 2023-04-21 13:55:30 +08:00
mischa
1012ca0dd6 Tests: NetworkServer namespace for grouping in test runner 2023-04-21 13:54:43 +08:00
mischa
814c5c404c Tests: NetworkIdentities namespace for grouping in test runner 2023-04-21 13:37:18 +08:00
mischa
8b0020f10c Tests: NetworkConnections namespace for grouping in test runner 2023-04-21 13:34:47 +08:00
mischa
14146e61a2 Tests: NetworkClient namespace for grouping in test runner 2023-04-21 13:33:44 +08:00
mischa
0d49bba308 Tests: NetworkBehaviours namespace for grouping in test runner 2023-04-21 13:31:20 +08:00
mischa
eea2099a2d Tests: InterestManagement namespace for grouping in test runner 2023-04-21 13:29:41 +08:00
mischa
9da3e3fa23 Tests: remove unused usings 2023-04-21 13:28:29 +08:00
mischa
8151a4d8f8 Tests: fix namespace for Rpcs 2023-04-21 13:27:51 +08:00
mischa
e47296194f Tests: RemoteAttributeTest namespace renamed to Rpcs 2023-04-21 12:20:25 +08:00
mischa
17811668ab Tests: add missing dependency after recent rename 2023-04-21 12:19:12 +08:00
mischa
d9ba49fa4b Tests: SyncCollections namespace for grouping in test runner 2023-04-21 12:18:43 +08:00
mischa
0c34dc0c7f Tests: SyncVars namespace for grouping in test runner 2023-04-21 12:17:50 +08:00
mischa
6e372b51fb Tests: Transports namespace for grouping in test runner 2023-04-21 12:16:51 +08:00
mischa
5b08993e62 Tests: Tools namespace for grouping in test runner 2023-04-21 12:16:23 +08:00
mischa
b9e4484215 Tests: NetworkLoop subfolder 2023-04-21 12:05:49 +08:00
mischa
387cd2e0e6 Tests: NetworkTransform subfolder 2023-04-21 12:05:26 +08:00
mischa
5d211ea830 Tests: SnapshotInterpolation subfolder 2023-04-21 12:05:10 +08:00
mischa
d2e60283b3 Tests: StructMessagesTests moved to NetworkMessages subfolder 2023-04-21 12:04:40 +08:00
mischa
d694163a14 Tests: FieldsInBaseClasses moved to NetworkReaderWriter folder 2023-04-21 12:04:04 +08:00
mischa
8696a4f9cd Tests: OverloadMethodTest moved to NetworkMessages subfolder 2023-04-21 12:03:09 +08:00
mischa
24069ab8a2 Tests: add comment 2023-04-21 11:27:26 +08:00
mischa
5b0c9b8425 syntax 2023-04-21 11:26:15 +08:00
mischa
b50a762e1a Tests: CustomRWTest renamed 2023-04-21 11:25:11 +08:00
mischa
1b906a97fa Tests: CustomRWTest renamed 2023-04-21 11:24:28 +08:00
mischa
e60df7c0dc Tests: add comment 2023-04-21 11:21:28 +08:00
mischa
dedcab4402 Tests: CollectionWriterTests moved to NetworkReaderWriter folder 2023-04-21 11:10:24 +08:00
mischa
c3193ab42b syntax 2023-04-21 11:08:04 +08:00
mischa
1601960b53 Tests: AttributeTests subfolder; split up in multiple files; add comments 2023-04-21 11:06:37 +08:00
mischa
d50594db4e Tests: moved file 2023-04-20 22:11:59 +08:00
mischa
ea9f258ceb Tests: moved file 2023-04-20 22:10:32 +08:00
mischa
c6dd55bd69 Tests: NetworkMessages subfolder 2023-04-20 22:10:10 +08:00
mischa
8b3c298a4a Tests: NetworkManager subfolder 2023-04-20 22:09:39 +08:00
mischa
fefdc63341 Tests: NetworkConnection subfolder 2023-04-20 22:08:51 +08:00
mischa
626978c954 Tests: NetworkServer moved to subfolder 2023-04-20 22:08:22 +08:00
mischa
5519c76dab Tests: NetworkIdentity subfolder 2023-04-20 22:06:55 +08:00
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