mischa
a195a07775
kcp V1.39:
...
fix: https://github.com/MirrorNetworking/Mirror/issues/3611 Windows UDP socket exceptions on server if one of the clients died
2023-10-31 23:08:45 +01:00
mischa
b434d001b1
change Debug.Assert to Assert.That
2023-10-29 17:53:03 +01:00
mischa
2ab395cc85
NetworkBehaviour.authority test coverage from #3495
2023-10-29 17:48:06 +01:00
MrGadget
64cb1a0082
fix: Fix Unity 2023 obsoletes ( #3635 )
2023-10-29 17:38:44 +01:00
MrGadget
6a8b4beaa1
breaking: Removed older Obsoletes ( #3633 )
...
BREAKING CHANGE - Removed older Obsoletes
2023-10-29 17:37:44 +01:00
mischa
bdb6cd8e53
fix : #3528 , #3529 NetworkBehaviour.authority now evaluates correctly in host mode too
2023-10-29 17:35:27 +01:00
MrGadget
97dc02ed59
fix: Add missing GetHashCode method for older Unity ( #3631 )
...
* fix: Add missing GetHashCode method for older Unity
- Cures warning about missing override.
* commit changes?
2023-10-29 10:40:10 +01:00
mischa
993ae8dc0f
fix: KCP V1.38 [2023-10-29] ( #3629 )
...
- fix: mismatching cookie race condition. cookie is now included in all messages.
https://github.com/MirrorNetworking/kcp2k/issues/54
- feature: Exposed local end point on KcpClient/Server
- refactor: KcpPeer refactored as abstract class to remove KcpServer initialization workarounds
2023-10-29 10:39:02 +01:00
mischa
9fe1d06ac0
fix: LatencySimulation now always applies latency to both channels. Fixes hard to debug issues where [SyncVar/Command/Rpc]s would be way off while NetworkTime.time was fine, due to latency being applied to only one channel. ( #3627 )
...
* fix: LatencySimulation now always applies latency to both channels. Fixes hard to debug issues where [SyncVar/Command/Rpc]s would be way off while NetworkTime.time was fine, due to latency being applied to only one channel.
* this too
2023-10-27 11:29:10 +02:00
mischa
5d1b041b69
LatencySimulation: syntax / readonly
2023-10-25 16:52:44 +02:00
mischa
334e20d8fa
Billiards example: fix ForceMode and add maxForce
2023-10-25 15:07:37 +02:00
MrGadget1024
36c93d0359
CanvasController - reordered methods and callers
2023-10-22 07:00:26 -04:00
MrGadget1024
76bab63598
AdditiveLevelsNetworkManager - fixed comment
2023-10-22 06:58:54 -04:00
MrGadget1024
2bf9bcdcdf
Portal - improved comments
2023-10-22 06:58:28 -04:00
MrGadget1024
64f2f109d5
Reward - removed erroneous comments
2023-10-22 06:57:57 -04:00
MrGadget1024
5cc090a1a5
MultiSceneNetManager - fixed comment
2023-10-22 06:56:45 -04:00
MrGadget1024
6b4bac7dc2
Unity updated prefab
2023-10-22 06:56:21 -04:00
JesusLuvsYooh
f56394a406
Scenes renamed, see description. ( #3625 )
2023-10-18 12:12:08 +02:00
mischa
809f7a4a0e
feature: kcp2k exposes LocalEndPoint (credits: Whale)
2023-10-13 19:27:18 +02:00
mischa
3bf180c1a6
ILPostProcessorLogger: TODO fix
2023-10-12 11:09:00 +02:00
Robin Rolf
0c5eba7aaa
fix: NetworkTime creates it's own frame time in 2019 ( #3624 )
...
Since we don't have double time there yet and the stopwatch will change during the frame which causes jitter and other artifacts
supersedes #3623
See also #2838
2023-10-08 21:21:52 +02:00
mischa
c312b6ba76
feature: ConnectionQuality details
2023-10-06 13:05:49 +02:00
mischa
52e36977fe
feature: Edgegap Relay from https://github.com/edgegap/distributed-relay-examples
2023-10-05 20:23:04 +02:00
JesusLuvsYooh
04af0fc709
Updated server build tooltip on NM ( #3622 )
2023-10-05 11:02:13 +02:00
Robin Rolf
8a0f6b1329
feat: NetworkManager Populate Spawnable Prefabs button ( #3608 )
...
* feat: Button to add all NI's to NetworkManager
* Undo.RecordObject instead of EditorUtility.SetDirty
* Button rename
* Don't clear list, only add
* ignore Mirror/Examples too
* fix: Undo.RecordObject needs to be called before modifying
* fix: individual entries weren't saved
* sort alphabetically to improve UX
* adjust caption
---------
Co-authored-by: mischa <info@noobtuts.com>
2023-09-30 10:04:11 +02:00
Justin Nolan
24d0ebece9
fix: improve NetworkMessage ID Hashing to minimize collisions ( #3618 )
...
* Improve network message ids
-Replaced the string stable hash function with an fnv1a hash which is a more uniform hash function
-Instead of casting the 32bit hash to 16bit which cuts off data we fold it in its self using xor to improve the 16bit hash
* Fix test
* Update Extensions.cs
---------
Co-authored-by: mischa <16416509+miwarnec@users.noreply.github.com>
2023-09-29 11:16:19 +02:00
mischa
3fff51d4a1
comment
2023-09-18 14:44:08 +02:00
mischa
046e825156
predictedTime: comments
2023-09-18 14:42:19 +02:00
mischa
3d4f54c8dd
fix: Billiards & BilliardsPredicted Rigidbodies now freeze Y position to avoid flying off or over the table
2023-09-18 13:10:24 +02:00
mischa
e3ed9aca2d
fix failing tests
2023-09-18 10:25:40 +02:00
mischa
c903298513
NetworkServer.Destroy: add warning if called on client without server/host to make this more obvious, instead of destroying something locally that doesn't persist on the server ( #3604 )
2023-09-17 11:01:07 +02:00
mischa
c49d188e8b
feature: NetworkManager.exceptionsCauseDisconnect option ( #3605 )
...
* NetworkManager flag
* NetworkMessages handle
* NetworkClient setting
* NetworkSErver setting
* NetworkManager applies it
* this too
* shorter
* bette wording (imer)
* security by default
2023-09-17 10:58:39 +02:00
mischa
94f5a924ff
feature: NetworkTime.predictedTime to prepare for Prediction ( #3599 )
...
* feature: NetworkTime.predictedTime to prepare for prediction
* disable log
* NetworkTime.predictedTime simplified: client timeline based on Time.time to fix first 5s being way ahead, history being too old, etc.
2023-09-14 11:30:33 +02:00
mischa
613f84b494
fix: Billiards / BilliardsPredicted ball Rigidbody CollisionMode changed from Continous to ContinousDynamic to fix white flying through red when applying large forces
2023-09-14 11:30:06 +02:00
JesusLuvsYooh
7b49b7d09d
A drag and drop Canvas UI HUD for NetworkManager ( #3602 )
...
Scales
Contains features of older OnGUI HUD
Credits to Ninja
2023-09-14 10:02:49 +02:00
mischa
0fce9bcdfb
fix : #3595 attempting to sync a Transform that isn't networked will now show a more obvious warning
2023-09-09 12:54:17 +02:00
JesusLuvsYooh
06f1ee09a0
feature: New Example - Character Selection and customisation. ( #3593 )
...
* Draft 1
Scene set up, podium and medic character added, minor ui and idle animation.
* Draft 2
3 characters, medic, assault, heavy.
Canvas linked up, along with character data.
* Draft 3
Map scene
Static variables, save data
Custom network manager
* Draft 4
Character pivots rotated.
Animation changes child, not parent position.
Spawn positions added.
Cheat protection for player prefab number added.
* Draft 5
Adding in customisations ontop of separate prefabs.
Player camera.
* Draft 6, part 1 complete.
Finished Player name, player colours.
Part 1 complete
Needs tidying up and code comments.
* Draft 7, checkpoint before next step.
* Draft 8 - Pre-selection and in-game character selection finished?
Pre-selection and in-game selection finished?
* Draft 9
* Draft 10 - CharacterSelection Example
* Draft 11
* Draft 12
* Draft 13
2023-09-07 21:57:22 +02:00
JesusLuvsYooh
796b0711f0
Update CouchPlayerManager.cs ( #3592 )
...
Moved some code from Awake to OnStartAuthority to prevent a reference from getting overridden.
Fixes Server/Host from not being able to add its own new local players, if remote players have maxed themselves out.
2023-09-07 10:07:37 +02:00
mischa
fcbf841d84
Billiards Demos: change trail debug line color and time
2023-09-07 09:26:51 +02:00
mischa
d9ef6d855c
GUIConsole: don't show in Unity Editor, we already have the Console window there (but keep it as option)
2023-09-06 18:39:38 +02:00
mischa
357e798e25
fix: Unity 2019/2020 compilation failing because ConcurrentQueue<T>.Clear was missing
2023-09-05 09:21:08 +02:00
mischa
55daefab2a
grammar fix
2023-09-05 09:17:10 +02:00
mischa
ae496ef0ee
NetworkTransformBase: virtual SetPosition/Rotation/Scale for users to overwrite if needed
2023-09-01 15:59:10 +02:00
mischa
02db1b03d5
NetworkTransformBase: virtual GetPosition/Rotation/Scale for users to overwrite if needed
2023-09-01 15:51:18 +02:00
mischa
966c4f2bdd
BilliardsPredicted: Player/ folder for PlayerPredicted prefab
2023-09-01 11:54:37 +02:00
mischa
3be960692c
BilliardsPredicted: show FPS at runtime
2023-09-01 11:18:28 +02:00
mischa
9aba125566
BilliardsPredicted: fix prefab script references
2023-08-31 11:08:16 +02:00
mischa
34d3777bc3
BilliardsPredicted: script naming
2023-08-31 11:06:36 +02:00
mischa
ff56210a36
feature: Threaded Transport & Threaded KCP ( #3582 )
...
* Tools: ThreadLog for thread safe logging in Unity builds
* events
* move folder
* WorkerThread & tests
* ConcurrentPool & Tests
* ConcurrentNetworkWriterPool & Tests
* ThreadedTransport empty
* syntax
* server part
* client part
* separate queues and updates
* separate events for strong typing
* virtual awake
* fix & support uri
* threaded early/late
* threaded kcp!
* private
* simplify
* use threaded callbacks
* active flags
* enabledcopy
* fix ids
* fix onsend
* fix disco param
* fix segment copy
* fix
* comment
* deadlock prevention
2023-08-29 12:57:55 +02:00
JesusLuvsYooh
4405082d4b
Example: Couch Co-Op ( #3589 )
2023-08-25 14:15:49 +08:00
mischa
9a4e317874
Examples: BilliardsPredicted. copy of Billiards demo, to apply prediction features onto in the future.
2023-08-17 22:11:41 +02:00
mischa
b7fad3e672
Billiards Demo: create prefab from table in hierarchy
2023-08-16 18:36:44 +02:00
mischa
5fba72dc3c
Billiards Demo: apply red changes to prefab
2023-08-16 18:36:07 +02:00
mischa
d8bb5ec15e
Billiards Demo: move indicator into white ball prefab for ease of use
2023-08-16 18:33:15 +02:00
mischa
b0b6d351b9
Billiards Demo: fix materials
2023-08-16 18:30:09 +02:00
mischa
463028260f
Billiards demo: update namespace
2023-08-16 18:02:09 +02:00
mischa
50e6d5f890
feature: Multiplayer Billiards demo ( #3583 )
2023-08-13 09:54:21 +02:00
mischa
db241bb413
breaking: NetworkReader/Writer Read/WriteBytesAndSizeSegment renamed to Read/WriteArraySegmentAndSize for clarity.
2023-08-12 19:13:15 +04:00
mischa
e799b08303
syntax
2023-08-12 19:08:15 +04:00
mischa
4d7c5b6e41
Reader/Writer: sort WriteBytes(AndSize) functions
2023-08-12 19:05:20 +04:00
mischa
f05df29639
NetworkIdentity: don't need to show assetId in Inspector
2023-08-12 18:59:24 +04:00
mischa
2a29f6e686
NetworkManager: improve warning about player prefab in spawnable prefabs list
2023-08-11 22:16:13 +04:00
mischa
684a61c964
script icons
2023-08-10 18:07:37 +04:00
mischa
2e1e3bfd9c
assign missing icon
2023-08-08 16:40:59 +08:00
mischa
6de9448c4a
small cleanups
2023-08-08 16:34:24 +08:00
mischa
877b249add
MIRROR_81_OR_NEWER
2023-08-08 16:32:59 +08:00
JesusLuvsYooh
10badbe21c
Adjusted UI scaling in new TanksCoop example. ( #3579 )
2023-08-06 10:15:42 +08:00
mischa
2365d301e1
SimpleWeb: minimize logging hot path allocations
2023-08-05 13:47:42 +08:00
mischa
d7757e95f2
perf: VarInt compression performance improvements ( #3578 )
...
* perf: VarInt compression performance improved by writing multiple bytes at once
* merge byte shifting
* this too
2023-08-05 07:13:16 +02:00
mischa
cd390bfce1
VarInt: tests now cover accidentally duplicating bytes
2023-08-04 19:47:12 +08:00
mischa
9d0e90f484
perf: remove O(N) ClearDirtyComponentsDirtyBits calls in NetworkServer.Broadcast() and NetworkClient.Broadcast() ( #3575 )
...
* perf: remove O(N) ClearDirtyComponentsDirtyBits calls in NetworkServer.Broadcast() and NetworkClient.Broadcast()
* only for delta [imer]
2023-08-03 14:01:35 +02:00
mischa
594a0f5c79
Examples: added BenchmarkIdle demo to test with 80% idle objects
2023-08-03 12:34:17 +08:00
mischa
e45c8e2e37
typo
2023-08-03 12:09:40 +08:00
JesusLuvsYooh
d2c475409f
feature: NetworkTransform WorldScale option ( #3565 )
...
* NT WorldScale option DRAFT - Will test, tidy and comment tomorrow.
Currently NT is local, and in some cases world is needed.
* Updated tooltip etc
All tested, using tanks example, and dragging a player tank into empty gameobject, then this gameobjcets position/rotation/scale and hierarchy changing live during gameplay. Switching to world bool fixes any problems caused by that.
* Enum dropdown, rather than bool as requested.
* Ternary shortcuts
* tab
* adjustments
* better
* cleanup
* force disable world scale
---------
Co-authored-by: mischa <info@noobtuts.com>
2023-08-02 08:21:33 +02:00
mischa
c077b53324
NetworkClient: improve 'did not find target for sync message' warning
2023-08-01 23:19:56 +08:00
mischa
7898b559b9
fix: SimpleWebTransport conditionals removed so users can see error messages
2023-08-01 11:53:43 +08:00
mischa
e92e91dcfd
kcp2k V1.37 [2023-07-31]
...
- fix : #47 KcpServer.Stop now clears connections so they aren't carried over to the next session
- fix: KcpPeer doesn't log 'received unreliable message while not authenticated' anymore.
2023-07-31 18:10:23 +08:00
mischa
e4304bfed6
feature: HistoryBounds MVP ( #3563 )
...
* readme, folders
* HistoryBounds.Insert placeholder and test
* Insert: naive implementation
* easier
* simple benchmark
* move into lag comp
* benchmark improvements
* deterministic benchmark
* tests: revisit coverage
* syntax
* HistoryBounds data structure - wip
* Reset
* oops
* insert in structure
* historyBounds.total
* comment
* test
* comments
* tests: insertfar
* simplify insertion; only recalculate when removed
* fix comment
* recalculate every nth
* benchmark simplified
* benchmark variant
* BUCKETS
* perf: use (min, max) bounds representation internally to avoid Unity's Bounds.Encapsulate conversion overhead
* HistoryCollider component WIP
* ...
* steps
* things
* gizmo
* syntax
* unused
* child collider
* counter rotate
* warning
* detect scale changes
* syntax
* Unity 2019 support
2023-07-31 12:38:42 +08:00
JesusLuvsYooh
593226b02c
Tanks co-op example, take control of vehicles via Mirrors Authority assigning feature. ( #3564 )
2023-07-30 17:06:14 +08:00
mischa
28859fb84a
fix: NetworkReader ReadBytes/Array<T>/List<T> allocation limit to prevent ClientToServer [SyncVar] allocation attacks [credit: James] ( #3562 )
...
* fix: NetworkReader.ReadArray: remove misleading 'length > reader.Remaining' check since not all arrays are byte arrays
* fix: NetworkReader AllocationLimit to prevent ClientToServer [SyncVar] allocation attacks [credit: James]
* ReadBytes: check allocation limit
* ReadList: check allocation limit
* ReadArray: check allocation limit
* ReadTexture2D: check allocation limit
* limit as count
* writer checks
* test wip
* throw
* add test
* test
2023-07-27 10:27:00 +02:00
mischa
120bdcb855
remove unused import
2023-07-27 13:39:09 +08:00
mischa
d4de45c374
comment
2023-07-27 13:32:06 +08:00
mischa
53b0258904
NetworkWriter: clean up old UIntDouble comments
2023-07-27 13:08:23 +08:00
mischa
a91f3a88c3
comments
2023-07-27 12:32:19 +08:00
mischa
7b2427ce76
more comments
2023-07-27 12:27:38 +08:00
mischa
c81ce3ec26
NetworkReader/Writer Read/WriteList: comments
2023-07-27 12:26:59 +08:00
mischa
d2b6cfdc2a
NetworkWriter: syntax
2023-07-27 12:03:58 +08:00
mischa
9311ef3523
fix: NetworkConnection "cannot send packet larger than ..." message now includes the message type which was too large. ( #3560 )
2023-07-24 06:08:55 +02:00
mischa
871a08c266
resaved test prefabs
2023-07-22 21:59:29 +08:00
mischa
6830a6e52c
fix: NetworkMessages.MaxContentSize now considers channelId instead of always assuming reliable
2023-07-22 21:59:07 +08:00
mischa
71f64c70f1
feature: bring back NetworkServer.disconnectInactiveConnections ( #3556 )
2023-07-21 06:11:14 +02:00
mischa
adee4ad140
fix: remove redundant RPC buffering. saved bandwidth, but introduced data races, complexity, extra buffer copies [credit: James, imer] ( #3497 )
2023-07-20 09:10:00 +02:00
mischa
d7fbee9d50
fix: NetworkIdentity.AssignAssetId() is now saved properly. fixes a bug where duplicated prefabs and prefab variants would still have the original prefab's assetId on disk, even though the Inspector showed the proper one.
2023-07-20 14:29:40 +08:00
mischa
ac6a881f1b
fix: NetworkTime RTT now checks for malicious timestamps from the future
2023-07-19 19:24:05 +08:00
mischa
e45bfb47ab
Compression: remove unnecessary QuaternionElement function
2023-07-19 13:15:40 +08:00
mischa
7e28e4ea02
Compression: more obvious TenBitsMax representation
2023-07-19 12:59:51 +08:00
mischa
483006eadc
feature: NetworkConnectionToClient.rtt via Ping & Pong Messages ( #3545 )
...
* NetworkConnectionToClient: send Ping message every PingFrequency
* breaking: NetworkPing/PongMessage .clientTime renamed to .localTime because it'll be used in both directions
* Server->Client->Server Ping/Pong messages and rtt
* don't ping in host mode
* adjust tests
* TODO
2023-07-18 11:19:12 +02:00
mischa
398d2e6d2c
Examples: default send rate increased from 30 Hz to 60 Hz for remaining examples
2023-07-18 16:58:05 +08:00
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
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