mischa
8164018483
perf: default send rate increased from 30 Hz to 60 Hz for users to get better initial results
2023-07-18 16:54:49 +08:00
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