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
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
MrGadget1024
bfcef5563b
ClientHandshake -added log
2023-03-12 14:21:06 -04:00
MrGadget1024
8d348a75f6
WebSocketServer - Improved logging
2023-03-12 14:11:07 -04:00
MrGadget1024
8638ab96eb
SimpleWebServer - log ProcessMessageQueue overflow
2023-03-12 14:05:38 -04:00
MrGadget1024
d7315be32e
ServerSslHelper - added logging
2023-03-12 14:04:26 -04:00
MrGadget1024
cc6f4aa120
ClientHandshake - log Unexpected Handshake Response
2023-03-12 14:02:18 -04:00
MrGadget1024
46b30aafe0
SimpleWebClient - log ProcessMessageQueue overflow
2023-03-12 13:59:54 -04:00
MrGadget1024
724be4ffd1
RemoteStatistics - syntax
2023-03-12 13:36:54 -04:00
MrGadget1024
c7ddae1bc3
NetworkStatistics - move UI down
2023-03-12 13:32:42 -04:00
mischa
7137ace5fd
fix: NetworkTransformReliable fix jitter ( fixes : #3368 ) ( #3410 )
...
* ninja nt
* remove unused
* unused
* comments
2023-03-12 16:12:27 +01:00
vis2k
25ebb0620b
fix: NetworkTransformReliable Reset() now resets 'last' too
2023-03-12 23:08:49 +08:00
vis2k
844fe69e11
fix: SnapshotInterpolation.TimelineClamp uses Mathd.Clamp for Unity 2020 support
2023-03-12 22:50:43 +08:00
vis2k
cae12a43fc
Mathd.Clamp for Unity 2020 support
2023-03-12 22:50:13 +08:00
vis2k
53658a5886
fix: kcp2k V1.32 KcpPeer RawInput now doesn't disconnect in case of random internet noise
2023-03-12 11:07:26 +08:00
vis2k
8762167a13
Snapshot Interpolation demo: reuse SnapshotInterpolationSettings
2023-03-12 10:31:19 +08:00
mischa
2f68666683
breaking: expose NetworkClient's Snapshot Interpolation settings in NetworkManager ( #3411 )
2023-03-12 03:25:43 +01:00
vis2k
5d324d35f1
SnapshotInterpolation: better explain timeline clamp
2023-03-11 13:24:07 +08:00
vis2k
5a0c8269c8
remove unused code
2023-03-11 11:57:21 +08:00
vis2k
313c7a18cd
fix(SnapshotInterpolation): Added TimelineClamp ( #3402 )
2023-03-11 10:46:00 +08:00
vis2k
67aa480fdd
Snapshot Interpolation tests: check local timeline and fail early to prepare for clamping
2023-03-11 10:03:37 +08:00
MrGadget1024
712032a0aa
Formatting
2023-03-10 04:37:01 -05:00
vis2k
80b23f029d
feature: ExpontentialMovingAverage.Reset()
2023-03-10 17:33:25 +08:00
vis2k
b1e62cfac3
SnapshotInterpolation.Timescale: rename threshold parameters to absolute and update comment. because that's what they are.
2023-03-10 16:13:15 +08:00
vis2k
f62d68dbf3
comment
2023-03-10 16:05:47 +08:00
vis2k
fd63333563
SnapshotInterpolation: add explanation why timescale is calculated when inserting
2023-03-10 16:03:40 +08:00
vis2k
86505af92d
Snapshot Interpolation Demo: simulate moving timeline ahead
2023-03-10 14:52:31 +08:00
vis2k
20c2899e3d
Snapshot Interpolation Demo: simulate moving timeline behind
2023-03-10 14:52:29 +08:00
vis2k
60f021e543
Snapshot Interpolation Demo: simulate 1 fps
2023-03-10 14:51:13 +08:00
vis2k
da6c7180bb
CCU demo: readme added
2023-03-08 15:29:51 +08:00
vis2k
733e663d11
syntax
2023-03-08 14:22:58 +08:00
vis2k
0d471af61c
script icon
2023-03-08 10:31:40 +08:00
MrGadget1024
0cd06db1f2
NetworkTransform - formatting
2023-03-06 14:36:00 -05:00
MrGadget1024
4b34dc2fe8
breaking(NetworkManager): Removed obsolete OnServerError / OnClientError
...
BREAKING CHANGE: Removed obsolete OnServerError / OnClientError
2023-03-06 11:52:41 -05:00
MrGadget1024
788fd4df91
Revert "breaking(NetworkManager)!: Removed obsolete OnServerError / OnClientError"
...
This reverts commit 3f7c1af819
.
2023-03-06 11:50:37 -05:00
MrGadget1024
3f7c1af819
breaking(NetworkManager)!: Removed obsolete OnServerError / OnClientError
2023-03-06 09:16:49 -05:00
MrGadget1024
a74f8f9ea2
Revert "breaking!(NetworkManager): Removed obsolete OnServerError / OnClientError"
...
This reverts commit d45bd661ef
.
2023-03-06 09:13:48 -05:00
MrGadget1024
d45bd661ef
breaking!(NetworkManager): Removed obsolete OnServerError / OnClientError
2023-03-06 08:49:37 -05:00
vis2k
a0605ae651
kcp V1.31 [2023-03-05]
...
- KcpClient: Tick/Incoming/Outgoing can now be overwritten (virtual)
- breaking: KcpClient now takes KcpConfig in constructor instead of in Connect.
cleaner, and prepares for KcpConfig.MTU setting.
- KcpConfig now includes MTU; KcpPeer now works with KcpConfig's MTU, KcpServer/Client
buffers are now created with config's MTU.
2023-03-05 14:10:17 +08:00
vis2k
31b6f195ce
KcpTransport: config, server, client protected so inheriting classes can access them
2023-03-04 22:26:24 +08:00
vis2k
582a02eec8
KcpTransport: OnGUIStatistics helper function for easier OnGUI overwrites
2023-03-04 22:23:10 +08:00
vis2k
7b1d6fd412
KcpTransport: virtual Awake/OnValidate/OnGUI to allow inheritance more easily
2023-03-04 22:20:54 +08:00
vis2k
def24f8510
fix: NetworkLoop now only runs in play mode, not in edit mode
2023-03-04 19:33:19 +08:00
vis2k
8f66bd68ca
fix : #3392 NetworkLoop now checks if the function was already added before. fixes functions being added twice with Domain Reload disabled.
2023-03-04 19:29:39 +08:00
MrGadget
91014bd614
breaking: Remove NetworkClient.serverIP ( #3394 )
...
* breaking: Remove NetworkClient.serverIP
- If we're never going to set it to anything, no reason to have it.
- Transport has no mechanism to return anything for it
Host client hardcodes `address` to "localhost" in both LocalConnectionToServer and LocalConnetionToClient, so obsolete the former telling users to use the latter if they aren't already.
Users can get the endpoint from NetworkManager or Discovery, as they must be doing now since those work and serverIp does not.
* Update main.yml
* fix: kcp2p V1.30 (#3391 )
- fix: set send/recv buffer sizes directly instead of iterating to find the limit.
fixes: https://github.com/MirrorNetworking/Mirror/issues/3390
- fix: server & client sockets are now always non-blocking to ensure main thread never
blocks on socket.recv/send. Send() now also handles WouldBlock.
- fix: socket.Receive/From directly with non-blocking sockets and handle WouldBlock,
instead of socket.Poll. faster, more obvious, and fixes Poll() looping forever while
socket is in error state. fixes: https://github.com/MirrorNetworking/Mirror/issues/2733
* Shortened PingWindowSize to get a faster more accurate result. (#3395 )
* Shortened PingWindowSize to get a faster more accurate result.
Shortened PingWindowSize to get a faster more accurate result.
It taking too long to calculate the average may look bad to users
* Revert "Shortened PingWindowSize to get a faster more accurate result."
This reverts commit 0a5916b4dc
.
* Revert "Shortened PingWindowSize to get a faster more accurate result."
This reverts commit 0a5916b4dc
.
* Shortened PingWindowSize to get a faster more accurate result.
Shortened PingWindowSize to get a faster more accurate result.
It taking too long to calculate the average may look bad to users
* Shortened PingWindowSize to get a faster more accurate result.
Shortened PingWindowSize to get a faster more accurate result.
It taking too long to calculate the average may look bad to users, choosing 6 gives us an average of 3 results, where as the previous 10, would wait for 5, it should be a slight visual improvement.
* fix: Use PingWindowSize instead of hardcoded value (#3396 )
fix: Use PingWindowSize instead of hardcoded value
* KcpClient: Tick/Incoming/Outgoing can now be overwritten (virtual)
* RunUnityTests - Updated unityVersion
* fix: Write for non-spawned NB only writes 0 netId (fixes : #3399 ) (#3400 )
* Failing test for non-spawned NB writer/reader
* fix: Write for non-spawned NB only writes 0 netId
Instead of writing 0 and component index which does not match what the reader expects (it will stop reading netId is 0)
Fixes #3399
* breaking: Removed old Unity 2018 / 2019_3 compiler defines (#3397 )
- we only suppport Unity 2019.4.40 and later LTS releases.
BREAKING: Removed old 2018 / 2019 compiler defines
* RunUnityTests - try different test reporter
* RunUnityTests commented out Archive and Publish temporarily
* RunUnityTests - disable game-ci built-in test reporter
* RunUnityTests - cleanup
---------
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
Co-authored-by: JesusLuvsYooh <57072365+JesusLuvsYooh@users.noreply.github.com>
Co-authored-by: vis2k <info@noobtuts.com>
Co-authored-by: Robin Rolf <imer@imer.cc>
2023-03-04 06:39:30 +01:00
MrGadget
bb2e7b2308
breaking: Removed old Unity 2018 / 2019_3 compiler defines ( #3397 )
...
- we only suppport Unity 2019.4.40 and later LTS releases.
BREAKING: Removed old 2018 / 2019 compiler defines
2023-02-28 16:11:40 +01:00
Robin Rolf
74f5339b09
fix: Write for non-spawned NB only writes 0 netId ( fixes : #3399 ) ( #3400 )
...
* Failing test for non-spawned NB writer/reader
* fix: Write for non-spawned NB only writes 0 netId
Instead of writing 0 and component index which does not match what the reader expects (it will stop reading netId is 0)
Fixes #3399
2023-02-28 16:10:49 +01:00
vis2k
eaea01caa6
KcpClient: Tick/Incoming/Outgoing can now be overwritten (virtual)
2023-02-26 14:29:15 +08:00
JesusLuvsYooh
3252dec547
fix: Use PingWindowSize instead of hardcoded value ( #3396 )
...
fix: Use PingWindowSize instead of hardcoded value
2023-02-25 09:56:29 -05:00
JesusLuvsYooh
4603bb1a4d
Shortened PingWindowSize to get a faster more accurate result. ( #3395 )
...
* Shortened PingWindowSize to get a faster more accurate result.
Shortened PingWindowSize to get a faster more accurate result.
It taking too long to calculate the average may look bad to users
* Revert "Shortened PingWindowSize to get a faster more accurate result."
This reverts commit 0a5916b4dc
.
* Revert "Shortened PingWindowSize to get a faster more accurate result."
This reverts commit 0a5916b4dc
.
* Shortened PingWindowSize to get a faster more accurate result.
Shortened PingWindowSize to get a faster more accurate result.
It taking too long to calculate the average may look bad to users
* Shortened PingWindowSize to get a faster more accurate result.
Shortened PingWindowSize to get a faster more accurate result.
It taking too long to calculate the average may look bad to users, choosing 6 gives us an average of 3 results, where as the previous 10, would wait for 5, it should be a slight visual improvement.
2023-02-25 11:11:56 +01:00
mischa
228a577683
fix: kcp2p V1.30 ( #3391 )
...
- fix: set send/recv buffer sizes directly instead of iterating to find the limit.
fixes: https://github.com/MirrorNetworking/Mirror/issues/3390
- fix: server & client sockets are now always non-blocking to ensure main thread never
blocks on socket.recv/send. Send() now also handles WouldBlock.
- fix: socket.Receive/From directly with non-blocking sockets and handle WouldBlock,
instead of socket.Poll. faster, more obvious, and fixes Poll() looping forever while
socket is in error state. fixes: https://github.com/MirrorNetworking/Mirror/issues/2733
2023-02-23 03:14:31 +01:00
MrGadget
a1db764b7c
Organize WeaverTypes ( #3393 )
...
* Organize WeaverTypes
- Put all NetworkBehaviors together
- Put Writer with Reader
- Put Remote things together
- moved ScriptableObjectType down
* moved NetworkClientConnectionReference up
2023-02-22 07:07:45 +01:00
MrGadget
69d5cf3c8f
breaking: AsmDef Updates ( #3388 )
...
* breaking: AsmDef Updates
- KcpTransport moved up
- SimpleWeb moved into folder
- AsmDef chains updated and simplified
* Reverted accidental change
* reverted accidental change
* Mirror.Tests - reverted ref removal
- needed for 2019 and 2020
2023-02-20 04:56:52 +01:00
Robin Rolf
cfe27a179b
fix: never use custom NB writers for SyncVars ( #3387 )
...
We always use a specific reader for NB syncvars, so if a custom defined writer handles data differently this leads to data mismatches.
Supporting custom readers for NB syncvars will just lead to too many edge cases and unexpected behaviour, so dont do it (see https://github.com/MirrorNetworking/Mirror/issues/2680#issuecomment-1435093212 for rationale).
Fixes #2680
2023-02-20 04:29:48 +01:00
Robin Rolf
94bb3690ae
fix: NetworkBehaviour SyncVar uses netId lookup ( #3386 )
...
* fix: NetworkBehaviour SyncVar uses netId lookup
Not only types derived from NetworkBehaviour
Fixes #2939
* Update Assets/Mirror/Editor/Weaver/Extensions.cs
* Update Assets/Mirror/Editor/Weaver/Processors/NetworkBehaviourProcessor.cs
* Update Assets/Mirror/Editor/Weaver/Processors/SyncVarAttributeProcessor.cs
* Update Assets/Mirror/Editor/Weaver/Processors/SyncVarAttributeProcessor.cs
* Update Assets/Mirror/Editor/Weaver/Processors/SyncVarAttributeProcessor.cs
* Update Assets/Mirror/Editor/Weaver/Readers.cs
* Update Assets/Mirror/Editor/Weaver/Writers.cs
---------
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-02-17 12:09:53 +01:00
MrGadget1024
5784ff6d8a
script icons
2023-02-16 21:55:50 -05:00
MrGadget1024
4f1a1899aa
Extensions - updated comment
2023-02-16 09:07:55 -05:00
MrGadget1024
2f2a6907de
Extenstions - Added comment to GetStableHashCode
2023-02-16 09:04:43 -05:00
MrGadget1024
adafd484d7
Fixed log msg
2023-02-16 08:27:11 -05:00
MrGadget1024
e4281fe5bf
fix: fixed warning in test
2023-02-16 08:20:01 -05:00
MrGadget1024
9e0c59526c
fix: Extensions - Remove static StableHashes dictionary
...
- Now that all callers to GetStableHashCode are either one-timers or design-time (weaver) the dictionary is no longer needed.
2023-02-16 08:19:48 -05:00
Robin Rolf
5d6022ff19
Remove outdated comment ( #3385 )
2023-02-16 13:21:01 +01:00
Robin Rolf
8b7bc6858f
perf: Weave in pre-computed function hash for RPCs ( #3384 )
...
* perf: Weave in pre-computed function hash for RPCs
Instead of computing it at runtime for every call
See #3381 , #3377 and #3375
* Update Assets/Mirror/Editor/Weaver/Processors/CommandProcessor.cs
* Update Assets/Mirror/Editor/Weaver/Processors/RpcProcessor.cs
* Update Assets/Mirror/Editor/Weaver/Processors/TargetRpcProcessor.cs
---------
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-02-16 13:01:03 +01:00
Robin Rolf
b933dcbe1a
feat: InterestManagementBase ( #3379 )
...
* feat: InterestManagementBase
A interest management base class that allows more advanced interest management by bypassing the built-in HashSet checks via Rebuild overriding
* Update Assets/Mirror/Core/InterestManagementBase.cs
---------
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-02-16 12:57:31 +01:00
Robin Rolf
c2d834315c
cleanup: move observer HashSet rebuild logic to IM ( #3383 )
...
This cleanup step prepares for InterestManagement classes being able to customize the rebuild logic, but for that we should move it out of the NetworkServer class
2023-02-16 12:11:54 +01:00
JesusLuvsYooh
e0e262678b
feature: NetworkTransform interpolation can be disabled ( #3378 )
...
* Interpolation off bools for NetworkTransform.
Gives a snap-like effect to position, rotation and scaling.
* Update Assets/Mirror/Components/NetworkTransformBase.cs
* Update NetworkTransformBase.cs
---------
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-02-16 04:19:02 +01:00
Robin Rolf
569938c8c7
perf: Use static generic class to cache message id ( #3381 )
...
* perf: Use static generic class to cache message id
we can (ab)use c# generics to cache the message id in a static field
this is significantly faster than doing a runtime Dictionary lookup in my testing (16% thread cpu-> ~0.22% for 121 moving nts)
generic classes have separate static fields per type specification, so we can store things per-type there, exactly what we need!
* Obsolete NetworkMessages.GetId
* Update Assets/Mirror/Core/NetworkMessages.cs
* Copy comment from GetId up to the Id field
* wording
---------
Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
2023-02-15 16:39:25 +01:00
MrGadget
59dc88c981
perf: Cache Stable Hashes ( #3377 )
...
* perf: Cache Stable Hashes
- Static dictionary of message hashes
- ResetStatics
* Added debug log for future debugging.
* Update Extensions.cs
---------
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-02-14 02:45:36 +01:00
JesusLuvsYooh
adc28267f7
Updated function name in code summary.
2023-02-12 16:19:43 +00:00
MrGadget1024
80211ba827
fix: NetworkRoomManager.ReadyStatusChange is now a virtual method
...
- Script Template updated accordingly.
Fixes #1889
2023-02-09 11:21:06 -05:00
MrGadget
e260d1eb2a
fix: NetworkWriter - Change MaxStringLength to ushort.MaxValue ( #3374 )
...
* fix: NetworkWriter - Change MaxStringLength to ushort.MaxValue
- local `realsize` in NetworkReaderExtensions.ReadString changed to ushort with proper casting
- Comments added to NetworkWriterExtensions
- Comments added to NetworkReaderExtensions
- Log output updated in both for consistency
* Added comment
* Changes per request
2023-02-09 09:24:03 -05:00
MrGadget
9f7ed98ccc
feat: Read / Write DateTime ( #3373 )
...
* feat: Read / Write DateTime
- no UTC conversion...users can do that on their own if they want / need to.
DateTime is a public struct but has no public fields (all properties) so no error is thrown if users try to use it in SyncVar / Cmd / Rpc / NetMsg, but no value is put on the wire and SyncVar hooks don't fire because the client determines no actual value change.
* Added nullable DateTime support
* Removed mysterious using
2023-02-09 09:25:57 +01:00
MrGadget1024
efeab67331
NetworkRoomManager - refactor CheckReadyToBegin
2023-02-08 10:05:01 -05:00
MrGadget1024
324c41e1c7
NetworkRoomManager - refactor CheckReadyToBegin
2023-02-08 10:04:30 -05:00
MrGadget1024
bbcf4b38c0
breaking: MIRROR_73_OR_NEWER
2023-02-08 03:04:41 -05:00
MrGadget1024
3ef5e06431
Revert "breaking: MIRROR_73_OR_NEWER"
...
This reverts commit 8596f1d827
.
2023-02-08 03:02:30 -05:00
MrGadget1024
8596f1d827
breaking: MIRROR_73_OR_NEWER
2023-02-08 02:57:27 -05:00
MrGadget
229a1a6509
perf: Distance Interest Management caches custom ranges to avoid runtime TryGetComponent overhead ( #3372 )
...
* fix: Distance Interest Mgmt static dictionary
* Clear on Reset
* Allow for changing range at runtime
* Use OnSpawned / OnDestroyed
* reverted default visRange
* Update DistanceInterestManagement.cs
* Update DistanceInterestManagement.cs
---------
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-02-08 05:02:55 +01:00
MrGadget1024
340a4b907a
DistanceInterestManagementCustomRange - larger default visRange
2023-02-07 10:13:41 -05:00
MrGadget1024
f86010b192
DistanceInterestManagement - larger default visRange
2023-02-07 10:12:45 -05:00
MrGadget1024
cbcfeede16
fix: Removed buggy canvas from example player prefabs
2023-02-07 10:09:24 -05:00
Robin Rolf
2a021f73f5
fix: Weaver doesn't NRE on generic array ( #3371 )
...
* Failing generics weaver test for T[]
* fix: weaver doesn't handle generic array field
T[] would cause a NRE:
(0,0): error ----------------------------------------------
(0,0): error Exception :System.NullReferenceException: Object reference not set to an instance of an object.
(0,0): error at Mirror.Weaver.Extensions.IsDerivedFrom(TypeReference tr, Type baseClass) in Mirror\Editor\Weaver\Extensions.cs:line 21
(0,0): error at Mirror.Weaver.Extensions.IsDerivedFrom[T](TypeReference tr) in Mirror\Editor\Weaver\Extensions.cs:line 17
(0,0): error at Mirror.Weaver.SyncObjectProcessor.FindSyncObjectsFields(Writers writers, Readers readers, Logger Log, TypeDefinition td, Boolean& WeavingFailed) in Mirror\Editor\Weaver\Processors\SyncObjectProcessor.cs:line 25
(0,0): error at Mirror.Weaver.NetworkBehaviourProcessor.Process(Boolean& WeavingFailed) in Mirror\Editor\Weaver\Processors\NetworkBehaviourProcessor.cs:line 76
(0,0): error at Mirror.Weaver.Weaver.WeaveNetworkBehavior(TypeDefinition td) in Mirror\Editor\Weaver\Weaver.cs:line 109
(0,0): error at Mirror.Weaver.Weaver.WeaveModule(ModuleDefinition moduleDefinition) in Mirror\Editor\Weaver\Weaver.cs:line 125
(0,0): error at Mirror.Weaver.Weaver.Weave(AssemblyDefinition assembly, IAssemblyResolver resolver, Boolean& modified) in Mirror\Editor\Weaver\Weaver.cs:line 208
(0,0): error ----------------------------------------------
2023-02-07 14:10:15 +01:00
MrGadget1024
63235f2f73
fix: Added missing EventSystem to example scenes
2023-02-07 02:42:09 -05:00
MrGadget1024
a3dbc9dbb6
fix: Improved Player Controller in examples
2023-02-06 11:27:29 -05:00
MrGadget1024
a8a6b403fe
fix: Updated Multiple Matches example
...
- MatchController needed longer delay in ServerEndMatch
- Syntax and formatting
2023-02-05 23:53:24 -05:00
MrGadget1024
1399a930ac
Extended wait to .5 seconds for RpcExitGame to process
2023-02-05 22:55:23 -05:00
MrGadget1024
10553cab84
Removed Debug logs
2023-02-05 22:54:32 -05:00
MrGadget1024
4920f5ff6b
Merged master
2023-02-05 20:35:40 -05:00
MrGadget1024
42d4723f4e
fix: Network Manager - don't call OnClientConnect from FinishLoadScene
2023-02-05 19:37:56 -05:00
MrGadget1024
40e4a57be2
fix: Network Manager now calls OnClientConnect as soon as authenticated
...
- No longer waits for scene change first so users can override on successful connect.
- clientLoadedScene flag is set before calling OnClientConnect.
2023-02-05 19:32:36 -05:00
MrGadget1024
70cee43a71
fix: Examples code review and updates
...
- ServerCallback / ClientCallback attributes applied
- Commented out Debug.Logs removed
- Syntax cleanup
- Reset Player prefabs to Default layer
- Simplified TryGetComponent usage
- All Prefabs updated to Unity 2021.3.17
2023-02-05 18:04:54 -05:00
MrGadget1024
5a161a07ce
Simplified TryGetComponent usage
2023-02-05 14:14:21 -05:00
MrGadget1024
f451087d81
WIP
2023-02-05 12:16:09 -05:00
MrGadget1024
467aa70e3d
CanvasController - use attributes
2023-02-05 08:28:07 -05:00
MrGadget1024
35f72c198e
MatchNetworkManager - removed comments
2023-02-05 07:08:37 -05:00
MrGadget1024
dca22bd5d3
MatchController - syntax
2023-02-05 07:08:19 -05:00
MrGadget1024
d3038478cf
fix: Updated examples to handle StopClient for Host
2023-02-04 21:19:29 -05:00
MrGadget1024
3d9e95e52c
fix: NetworkManager - keep in DDOL if ServerOnly
...
- like when StopClient called for Host
2023-02-04 21:19:08 -05:00
MrGadget1024
a83379fe17
fix: NetworkManager - handle StopClient in Host mode
2023-02-04 20:13:17 -05:00
JesusLuvsYooh
5e0b450f87
LatencySimulator - User friendly changes. (ready for approval) ( #3316 )
...
* syntax
* SyncDirection example: increase spacing
* LatencySimulator - User friendly changes.
Changed "ping" to milliseconds, from seconds.
Changed % from 0-1, to 0-100 (previously 1 on slider, meant 100%)
Tooltip adjusted to show a good default value to use, and a worst case scenario value.
* Delete Scene.unity
* Revert "Delete Scene.unity"
This reverts commit 305235f6f4
.
* Revert "SyncDirection example: increase spacing"
This reverts commit c2176876cb
.
* Revert "syntax"
This reverts commit a668c78f68
.
* Tooltip adjustments, also now has default values.
* Update LatencySimulation.cs
---------
Co-authored-by: vis2k <info@noobtuts.com>
2023-02-03 07:08:31 -05:00
MrGadget1024
dc8f0b3165
Unity updated Player prefab
2023-02-02 19:17:50 -05:00
MrGadget1024
2554372913
Updated Interest Management Script Template
2023-01-29 06:44:20 -05:00
vis2k
c4e9071700
unused import
2023-01-29 19:08:19 +09:00
vis2k
deddbe6ee9
fix : #3367 NetworkTransformReliable now checks for changes at the end of UpdateServer, not at the beginning [imer]
2023-01-29 13:11:33 +09:00
vis2k
3815fe94a8
fix : #3259 NetworkClient.ApplySpawnPayload now initializes NetworkIdentity flags before DeserializeClient invokes SyncVar hooks
2023-01-29 12:54:44 +09:00
vis2k
db83e2dd42
naming
2023-01-29 12:46:29 +09:00
vis2k
8d8bde72f4
fix: NetworkClient now sets NetworkIdentity.connectionToServer before OnStartAuthority/OnStartClient callbacks.
...
previously this was only available in OnStartLocalPlayer
2023-01-29 12:40:03 +09:00
vis2k
384e551245
NetworkClient.BootstrapIdentity split into SetIdentityFlags and InvokeIdentityCallbacks
2023-01-29 12:40:03 +09:00
MrGadget1024
d27e08647a
NetworkClient - comment typo
2023-01-28 13:00:47 -05:00
vis2k
5c989491b9
NetworkClient.NetworkLateUpdate: use .localTime in all Unity versions
2023-01-29 01:48:56 +09:00
vis2k
a0accce89a
syntax: remove redundant type qualifiers
2023-01-29 01:46:26 +09:00
vis2k
46f07cc71a
syntax
2023-01-29 01:44:55 +09:00
MrGadget1024
7dd3ce0163
AdditiveLevelsNetworkManager - comments
2023-01-28 11:23:18 -05:00
vis2k
5bbad6fd2f
kcp2k V1.29 [2023-01-28]
...
- fix: KcpServer.CreateServerSocket now handles NotSupportedException when setting DualMode
fixes https://github.com/MirrorNetworking/Mirror/issues/3358
2023-01-28 23:59:54 +09:00
vis2k
7d2d21ac2c
fix : #3365 NetworkClient.OnTransportDisconnected now always invokes OnDisconnected, even during connecting phase
2023-01-28 23:41:14 +09:00
vis2k
e21d42a324
syntax
2023-01-28 23:14:09 +09:00
vis2k
c389a526a9
kcp2k V1.28 [2023-01-28]
...
- fix: KcpClient.Connect now resolves hostname before creating peer
https://github.com/MirrorNetworking/Mirror/issues/3361
2023-01-28 23:11:33 +09:00
JesusLuvsYooh
56a01c3941
Application.isFocused check on tanks Update input. ( #3364 )
2023-01-28 11:37:23 +01:00
vis2k
0312bf7103
fix : #3362 BootstrapIdentity now initializes isClient/isLocalPlayer flags before calling OnStartAuthority
2023-01-28 13:20:21 +09:00
vis2k
25ef55413c
BootstrapIdentity: local player code simplified
2023-01-28 13:13:13 +09:00
vis2k
77c915eb34
NetworkClient: CheckForLocalPlayer merged into BootstrapIdentity
2023-01-28 13:10:22 +09:00
vis2k
4d8c74593d
NetworkClient.ChangeOwner: remove dependency on CheckForLocalPlayer to prepare merging CheckForLocalPlayer into BootstrapIdentity
2023-01-28 13:03:38 +09:00
vis2k
7cea78fae5
syntax
2023-01-28 12:54:34 +09:00
vis2k
a48f0af43b
NetworkClient.CheckForStartClient merged into BootstrapIdentity
2023-01-28 12:49:15 +09:00
vis2k
b6cee2aae2
remove unnecessary HostMode.ActivateHostScene function.
...
this would call OnStartClient for scene objects if .isClient was false.
however, NetworkManager.FinishStartHost calls NetworkServer.SpawnObjects first.
which always sets isClient = true for all scene objects.
2023-01-28 12:47:37 +09:00
vis2k
bb6c0de495
NetworkServer.SpawnObject: add explanation
2023-01-28 12:34:38 +09:00
vis2k
547da088b1
syntax
2023-01-28 12:33:48 +09:00
vis2k
99360ffbcb
NetworkClient.BootstrapIdentity helper function to move OnStartAuthority/Client/LocalPlayer callers in one place
2023-01-28 12:15:23 +09:00
vis2k
e9e3874205
fix: NetworkClient.OnHostClientSpawn now sets AOI visibility before invoking user callbacks.
2023-01-28 12:07:45 +09:00
MrGadget1024
7318dfed3f
fix: Use GUID's in AsmDef's
...
- Unity also appled changes per 2021.3.17
See https://docs.unity3d.com/2021.3/Documentation/Manual/class-AssemblyDefinitionImporter.html#asmdef-references
2023-01-27 04:27:15 -05:00
MrGadget1024
900c23a173
fix: Removed invalid reference from KCP AsmDef
2023-01-27 04:17:57 -05:00
MrGadget1024
79718d0638
fix: Added SimpleWebTransport to Mirror.Transports AsmDef
2023-01-27 04:13:56 -05:00
MrGadget1024
f16e1973c0
Additive Levels Offline Scene resaved
2023-01-26 03:28:29 -05:00
vis2k
5802fec712
SHA-1 comments
2023-01-26 01:41:34 +09:00
vis2k
01d0ae1a6b
SimpleWebTransport: add SHA1 comments
2023-01-26 01:31:15 +09:00
MrGadget1024
debc78310d
AdditiveLevels Example - Portal.cs typo
2023-01-24 15:16:46 -05:00
MrGadget1024
22ac763199
NetworkTransformBase - OnClientAuthorityChanged is Server Only
2023-01-20 19:32:06 -05:00
MrGadget1024
2239bb0245
NetworkTransformBase - syntax
2023-01-20 19:29:27 -05:00
MrGadget1024
dd5d7cab01
fix: NetworkTransform classes - methods in call order
2023-01-19 07:26:56 -05:00
MrGadget
af0bacf8ae
NetworkTransformBase - Reset when changing authority ( #3357 )
2023-01-19 12:04:14 +01:00
MrGadget1024
16b60e80f3
PlayerCamera - Added warnings for no MainCamera
2023-01-18 09:10:48 -05:00
MrGadget1024
a35c0dbd9a
fix: ChangeOwner now adds/removes from owned hashset
...
We do this in spawn and destroy already.
2023-01-16 07:30:39 -05:00
MrGadget1024
3e7837cebd
Revert "Added License, Notice, Version files"
...
This reverts commit 585be60d38
.
2023-01-14 11:01:42 -05:00
MrGadget1024
585be60d38
Added License, Notice, Version files
2023-01-14 11:01:14 -05:00
MrGadget
a024753a42
fix: Fixes #3317 - NetworkTransformReliable: don't send last snapshot ( #3355 )
2023-01-14 11:34:28 +01:00
MrGadget
875b34540a
fix : #3351 - Reset Statics in NS, NC, and NC_TimeInterpolation ( #3353 )
...
* fix: Fix #3351 - NetworkClient_TimeInterpolation reset statics
- Fixes #3351
* NetworkServer - reset actualTickRate
* NetworkClient - reset lastSendTime
* NetworkClient_TimeInterpolation - reverted reset of bufferTimeMultiplier
- added comment as to why we're not resetting it.
2023-01-13 22:11:43 +01:00
MrGadget1024
626180b2d3
Network Manager HUD - made it wider so it doesn't wrap as much
2023-01-12 22:09:15 -05:00
MrGadget1024
0cc27d2372
NetworkClient - added bufferTimeMultiplier to OnGUI
2023-01-12 22:08:38 -05:00
vis2k
027458db96
fix : #3344 NetworkServer.Shutdown sets active=false after destroying spawned objects.
...
this way scene objects without owners can still modify SyncLists in OnStopServer without IsWriteable() throwing an exception about NetworkServer being inactive.
2023-01-12 12:06:04 +01:00
vis2k
74e6b72239
fix: NetworkServer.DisconnectAll doesn't set inactive anymore. it should simply "disconnect all" connections.
...
otherwise Shutdown may not be able to properly clean up all objects.
prepares to fix #3344
2023-01-12 11:46:45 +01:00
vis2k
c04eeacba6
comment improved
2023-01-12 11:38:24 +01:00
vis2k
e16e55616b
fix : #3354 SyncList callback for OP_SET index parameter fixed
2023-01-12 00:44:18 +01:00
MrGadget1024
3e8880db1c
BasicAuthenticator - comment typo
2023-01-11 15:47:37 -05:00
MrGadget1024
655d0b0aa8
fix: NetworkClient - make OnGUI public
2023-01-09 19:24:49 -05:00
MrGadget1024
b642da6b2f
fix: Fix #3349 - NetworkTransformReliable use correct value in OnSerialize
...
- Fixes #3349
2023-01-09 09:41:19 -05:00
vis2k
2c9f6c4960
fix: kcp2k V1.27. fixes #3337
2023-01-08 11:51:50 +01:00
MrGadget1024
c93935422e
Check for no Camera.main in OnGUI
...
- avoids NRE flood if no camera with MainCamera tag.
2023-01-06 18:50:13 -05:00
mischa
3c85efa2d9
fix : #3330 #2422 SpawnObjects now activates, but does not spawn scene objects with inactive parents ( #3347 )
...
* fix : #3330 #2422 SpawnObjects now activates, but does not spawn scene objects with inactive parents
* helper function
* remove old workaround.
identities which aren't active in hierarchy don't have Awake called forcefully anymore.
it's not necessary because the second pass won't spawn them anymore.
* add comments
2023-01-06 18:21:03 +01:00
vis2k
c9dfd95bb7
add comment
2023-01-06 17:40:57 +01:00
vis2k
7b7ad85204
fix : #3340 SyncSet/Dictionary callbacks are only called once
2023-01-05 21:54:53 +01:00
vis2k
c5aa4746e1
fix : #3340 SyncList callbacks are only called once
2023-01-05 21:21:51 +01:00
vis2k
0d53f7c3a0
fix : #3343 allow modifying client synclists for unspawned objects like character previews
2023-01-04 01:32:11 +01:00
vis2k
8570afab94
fix : #3341 SyncLists can now be modified before spawning again
2023-01-04 01:10:53 +01:00
vis2k
02218bda13
fix : #3342 InitSyncObject IsWritable/IsRecording permissions fixed for host mode and other player's objects on client
2023-01-04 01:10:51 +01:00
vis2k
d645aad95c
fix: forgot to remove SyncList OnSerializeAll log message
2023-01-04 01:02:47 +01:00
MrGadget1024
34f6df24a1
NetworkClient - moved RegisterMessageHandlers down
2023-01-03 15:41:01 -05:00
MrGadget
273f91088f
fix : #3326 NetworkIdentity doesn't reset SyncObjects anymore ( #3339 )
...
* Fixes : #3326
- All callers to Reset are either unspawning (disabling) the object or have run a custom UnSpawnHandler
- Sync collections should retain their data in any case because the object may get respawned
- When it is respawned, OnDeserializeAll clears the internal collection and changes lists before adding back the entire payload.
- Users can always call the public Reset on the SyncObject themselves if they want it wiped.
* fixed comment
2023-01-03 09:59:36 +01:00
MrGadget1024
30ec858551
NetworkClient - formatting
2023-01-02 12:50:41 -05:00
MrGadget1024
0189b7f45e
NetworkServer - formatting
2023-01-02 12:49:53 -05:00
MrGadget1024
1f09c7f98d
NetworkIdentity - formatting
2023-01-02 12:49:04 -05:00
MrGadget1024
ed102ffb23
NetworkIdentity - moved SetClientOwner down with AssignClientAuthority
...
- AssignClientAuthority is the only caller in this class
2023-01-02 12:28:58 -05:00
MrGadget1024
9405e9fef6
NetworkIdentity - moved ResetStatics up
2023-01-02 12:26:53 -05:00
MrGadget1024
bc28022552
NetworkIdentity - moved HandleRemoteCall up
...
- Nothing in NetworkIdentity calls this, only external callers
2023-01-02 12:24:20 -05:00
MrGadget1024
de421cdc1f
NetworkIdentity - moved ClearDirtyBits methods up to their respective callers
2023-01-02 12:21:08 -05:00
MrGadget1024
c0e047b01a
NetworkClient - moved NotifyAuthority and 2 related others down below Reset
2023-01-02 12:13:59 -05:00
MrGadget1024
d71c9e2a77
NetworkIdentity - moved ClearObservers down below Reset
2023-01-02 12:09:15 -05:00
MrGadget1024
82ff8fddf7
NetworkClient - moved DestroyObject down
2023-01-02 11:15:13 -05:00
MrGadget1024
3616ad818b
NetworkServer - moved obsoletes
...
- localClientActive to above active
- ActivateHostScene to bottom out of the way
2023-01-02 09:53:01 -05:00
MrGadget1024
ce7706b5a0
NetworkServer - moved RemoveTransportHandlers up
2023-01-02 09:42:46 -05:00
MrGadget1024
ed8baffc6c
NetworkServer - moved Listent and Shutdown up
2023-01-02 09:40:43 -05:00
MrGadget1024
2943aff578
NetworkServer - moved RebuildObserversCustom down
2023-01-02 09:33:52 -05:00
MrGadget1024
c4b919b7bc
NetworkServer - moved AddAllReadyServerConnectionsToObservers down
2023-01-02 09:32:41 -05:00
MrGadget1024
5f455245ee
NetworkServer - moved message handers up with RegisterMessageHandlers
2023-01-02 09:22:49 -05:00
MrGadget1024
ecfa4dd26e
NetworkServer - Organized spawn methods to call order
2023-01-02 09:10:14 -05:00
MrGadget1024
a25502f82d
NetworkServer - put AddPlayerForConnection methods in call order
...
- moved RemovePlayerForConnection up
2023-01-02 08:57:29 -05:00
MrGadget1024
051b63caee
NetworkServer - put Destroy methods together in call order
2023-01-02 08:54:08 -05:00
MrGadget1024
1f87ebdf45
NetworkClient - Moved Destroy method down
...
- put it with DestroyAllClientObjects
- preparing for consolidation
2023-01-02 07:12:21 -05:00
MrGadget
77a4ad9674
breaking: Removed Old Obsoletes ( #3335 )
...
- Also normalized Deprecatd comments for easier searching
2023-01-01 18:37:49 +01:00
MrGadget
c364d194fe
fix : #3334 NetworkClient DestroyAllClientObjects Before ClearSpawners ( #3336 )
...
* fix: NetworkClient DestroyAllClientObjects Before ClearSpawners
- DestroyAllClientObjects needs to be able to call Unspawn handlers
- Fixes: 3334
* Update Assets/Mirror/Core/NetworkClient.cs
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-01-01 18:22:02 +01:00
MrGadget1024
4deb179d62
PreprocessorDefine - fixed typo in comment
2022-12-31 10:32:41 -05:00
MrGadget1024
ff461331d4
PreprocessorDefine - added 12 months comment
2022-12-31 10:29:48 -05:00
MrGadget1024
97547a285c
Culled compiler symbols to last 12 months
...
- Going forward, we need to remove oldest when we add new one each month when we publish to the store, so we only keep them back 12 months.
2022-12-31 10:19:16 -05:00
vis2k
642423aef8
MIRROR_71_0_OR_NEWER
2022-12-31 14:44:09 +01:00
vis2k
ca9f07d812
fix : #3329 NetworkTransform UpdateServer checks if .connectionToClient is null to support room demo / scene changes
2022-12-31 14:36:57 +01:00
vis2k
6581300ce0
remove unused imports
2022-12-31 14:34:28 +01:00
MrGadget
993caf3b36
NetworkClient - Use TryGetComponent ( #3331 )
...
This eliminates allocations, at least in the editor, per Unity docs.
2022-12-31 13:59:57 +01:00
MrGadget
82a7e752a8
Use TryGetComponent ( #3332 )
...
This eliminates allocations, at least in the editor, per Unity docs.
2022-12-31 13:59:42 +01:00
MrGadget
fe4aa931e1
feat: NetManHUD StopClient button for Host ( #3333 )
2022-12-31 13:59:12 +01:00
MrGadget1024
be5cd6472a
fix: set offline mode before OnStopClient
...
- Prevents StopClient from running more than once
- Fixes : #2080
2022-12-30 22:03:53 -05:00
mischa
739ef7ccc0
fix : #2240 #3324 NetworkIdentity.OnDestroy removes from spawned if not removed yet. prevents null entries in .spawned. ( #3327 )
...
* fix : #2240 #3324 NetworkIdentity.OnDestroy removes from spawned if not removed yet.
prevents null entries in .spawned.
* Update Assets/Mirror/Core/NetworkIdentity.cs
Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
2022-12-30 22:38:16 +01:00
mischa
e95c9ae9a7
fix : #3318 NetworkServer.SpawnObjects only spawns objects which haven't been spawned yet. ( #3328 )
...
additive scene loading would call SpawnObjects again, which would attempt to spawn _all_ previously spawned objects _and_ the newly loaded ones.
2022-12-30 21:45:51 +01:00
MrGadget1024
1746468bef
Removed unnecessary check
2022-12-30 15:32:46 -05:00
vis2k
c4e0e1b3bd
NetworkServer: explain 'already spawned' warning in comments
2022-12-30 21:24:01 +01:00
mischa
100847cc31
fix : #3308 scene change NetworkClient.owned null entry. NetworkIdentity.OnDestroy now removes from owned. ( #3325 )
2022-12-30 18:02:34 +01:00
MrGadget1024
17c5a6c956
comment added
2022-12-30 07:23:52 -05:00
MrGadget1024
205ced88aa
fix: Use NetworkClient.Send
...
- there is a null check in Send before attempting to use the connection
2022-12-30 07:20:24 -05:00
MrGadget1024
321b68238d
FPS - fixed namespace
2022-12-28 09:19:45 -05:00
vis2k
ac3d6b7699
NetworkTransformBase: expose lists for outside access
2022-12-28 09:29:40 +01:00
MrGadget1024
fdd7a32402
NetworkManager Template - moved Awake override up
2022-12-27 20:00:33 -05:00
MrGadget
3faec24681
NetworkTransformBase - make snapshot lists readonly ( #3322 )
...
- code smell
2022-12-27 22:42:22 +01:00
MrGadget1024
16d8c08a75
Network Manager Template - moved setting singleton to Awake
2022-12-27 15:23:08 -05:00
MrGadget1024
26e3c5a4fa
TimeSampleTests- Bigger Within so it passes more reliably
2022-12-27 10:38:46 -05:00
mischa
6cf03d60a3
fix : #3315 ClientToServer SyncList support ( #3320 )
...
* SyncDirection demo: add SyncList test
* resaved prefab
* update error message
* logs
* disable AddOperation ReadOnly checks for now
* logs
* IsRecording adjusted to client
* kcp: larger timeout for debugging
* WORKS but not very clean yet
* update comments
* IsReadOnly moved to SyncObject
* IsWriteable lambda
* better
* fix tests
* fix host mode
* tests
* tests
* throw if undefined behaviour
* fix test
* remove logs
2022-12-26 10:39:55 +01:00
vis2k
19b712fac8
Weaver: Rpc hash collision warning improved.
2022-12-23 12:03:21 +01:00
vis2k
e1e6fb0098
NetworkBehaviour.OnSerialize/OnDeserialize: De/SerializeSyncObjects helper functions for cleaner code
2022-12-22 23:38:56 +01:00
vis2k
cd6e34f4b4
fix: kcp2k V1.26 [2022-12-22]
...
- KcpPeer.RawInput: fix compile error in old Unity Mono versions
- fix: KcpServer sets up a new connection's OnError immediately.
fixes KcpPeer throwing NullReferenceException when attempting to call OnError
after authentication errors.
- improved log messages
2022-12-22 22:59:42 +01:00
vis2k
13c349d27a
SyncDirection example: increase spacing
2022-12-22 22:59:39 +01:00
vis2k
a8bb5e3647
syntax
2022-12-22 22:59:37 +01:00
MrGadget1024
4434ab1be3
NetworkServer - added gameobject param to debug logs
2022-12-22 16:23:17 -05:00
MrGadget1024
6c101c5c85
NetworkLerpRigidbody - syntax
2022-12-22 02:44:52 -05:00
MrGadget1024
6bb396ef5b
NetworkRigidbody2D - syntax
2022-12-22 02:41:38 -05:00
MrGadget1024
bcd9621a89
NetworkRigidbody2D - HelpURL
2022-12-22 02:35:22 -05:00
MrGadget1024
faede54e14
NetworkRigidbody - syntax
2022-12-22 02:33:31 -05:00
MrGadget1024
274721b297
fix: AddComponentMenu hide example / obsolete components
...
Added [AddComponentMenu("")] to:
- BenchmarkNetworkManager
- CCUNetworkManager
- NetworkTransformChild
2022-12-22 02:22:23 -05:00
MrGadget1024
b662e367a9
NetworkRoomManager removed maxxConnections checks
...
- NetworkServer cuts them off earlier.
2022-12-21 09:59:27 -05:00
MrGadget1024
e468443a2e
Merge branch 'master' of https://github.com/vis2k/Mirror
2022-12-21 09:57:30 -05:00
MrGadget1024
22fa56da70
Discovery Template - Changed to structs
2022-12-21 09:57:24 -05:00
vis2k
d4dc9a7585
fix broken tests
2022-12-21 10:36:22 +01:00
Tubeliar
74a24150f6
breaking: Reduce code duplication with common base class for NetworkTransform and NetworkTransformReliable ( #3314 )
...
* Move Networktransform OnGUI and gizmos to a common baseclass
* Move networktransform teleportation and reset to common base class
* Move networktransform adding snapshots to common base class
* Move networktransform snapshot construction and application to common base class
* Move networktransform awake, onvalidate and IsClientWithAuthority to common base class
2022-12-20 22:14:18 +01:00
TCROC
ebc087ad54
Fixed server and client connection attempt with AddPlayer before authentication completes ( #3310 )
...
* Fixed server and client connection attempt before authentication completes
* Removed auth check on server
* Updated with suggestions from MrGadget
2022-12-20 11:03:20 -05:00
vis2k
c50ea9cb55
script icons
2022-12-20 10:49:23 +01:00
MrGadget1024
48926e841a
NetworkRoomManager - kick late joiner
...
- OnServerConnect should do this, but for corner case of miraculous timing, do it here too.
2022-12-18 20:31:35 -05:00
MrGadget1024
0b082530ba
Restored [RequireComponent(typeof(NetworkTransform))]
...
In these 4 examples, NT Unreliable is fine.
2022-12-18 18:49:42 -05:00
MrGadget1024
2991598405
Merge branch 'master' of https://github.com/vis2k/Mirror
2022-12-14 23:51:44 -05:00
MrGadget1024
461ce27908
fix: Added clientStarted check to OnStopClient
...
- fixes : #3245
2022-12-14 23:51:08 -05:00
vis2k
fe3627f03b
perf: fix: KcpTransport CongestionWindow force disabled. enabling this would cause a significant slowdown in throughput, with only 2-3 MTU sized messages being flushed per update. best to keep this disabled, as the feature may be broken in kcp.
2022-12-14 21:09:13 +01:00
vis2k
1a0a9a0cce
KcpTransport: [Header] improved
2022-12-14 21:04:39 +01:00
vis2k
f14d423183
kcp2k V1.25 [2022-12-14]
...
- breaking: removed where-allocation. use IL2CPP on servers instead.
- breaking: KcpConfig to simplify configuration
- high level cleanups
- perf: KcpPeer: StopWatch replaced with time parameters.
all peers can now share the same stopwatch on servers.
2022-12-14 21:04:28 +01:00
vis2k
69ac95e55e
NetworkClient: improve 'found null entry' message to not sound the same as on the server
2022-12-14 18:30:16 +01:00
vis2k
3e3a1cbb44
fix : #3307 kcp2k V1.24
2022-12-14 01:04:16 +01:00
mischa
42a0c8ef67
fix : #3302 StartHost: user callbacks OnStartServer/OnStartHost aren't invoked until everything was set up in FinishStartHost. ( #3304 )
2022-12-13 13:17:53 +01:00
mischa
b58084583f
Welcome message moved out of NetworkManager into standalone Editor script, per-session instead of per-play. ( #3306 )
2022-12-13 13:16:59 +01:00
MrGadget1024
83581f0be1
syntax
2022-12-13 05:52:37 -05:00
MrGadget1024
da3f3e2f29
Merge branch 'master' of https://github.com/vis2k/Mirror
2022-12-13 05:27:14 -05:00
MrGadget1024
9c4774f14f
SWT - fixed server logging showColor
2022-12-13 05:27:09 -05:00
vis2k
60948b13b3
NetworkManager.SetupServer: OnStartServer callback is now invoked manually by callers to prepare for host mode fix for #3302
2022-12-12 17:52:37 +01:00
vis2k
db8c54f913
NetworkServer.localConnection: strong typing
2022-12-12 16:35:54 +01:00
vis2k
0e9edbd0ad
NetworkClient.activeHost to replace .isHostClient (consistent with NetworkServer.activeHost)
2022-12-12 15:50:45 +01:00
vis2k
a4f3872a01
NetworkServer.activeHost to replace .localClientActive
2022-12-12 15:50:41 +01:00
vis2k
6088591269
NetworkClient.RegisterSystemHandlers renamed to RegisterMessageHandlers for consistency with NetworkServer.RegisterMessageHandlers
2022-12-12 15:25:59 +01:00
vis2k
725fdc24f4
syntax for readability
2022-12-12 15:19:15 +01:00
vis2k
97b365c54f
NetworkManager.IsSceneActive moved to Utils.IsSceneActive as it's a general purpose Unity function, unrelated to NetworkManager itself
2022-12-12 15:18:17 +01:00
vis2k
599519e163
NetworkManager.FinishStartHostClient merged with FinishStartHost, because the functions configures both server & client, just as FinishStartHost does. this is less confusing.
2022-12-12 14:29:42 +01:00
vis2k
636995e3f0
HostMode.ActivateHostScene to move ActivateHostScene out of NetworkServer.cs
2022-12-12 14:27:12 +01:00
vis2k
0a9fcdcf06
HostMode.InvokeOnConnected to move ConnectLocalServer out of NetworkClient
2022-12-12 14:23:48 +01:00
vis2k
def22c864d
HostMode.cs - to move host mode connection setup out of NetworkClient
2022-12-12 14:13:31 +01:00
vis2k
ca3bfed93a
TODO
2022-12-12 13:58:23 +01:00
vis2k
e0ffc66be8
NetworkClient.ConnectHost: local connection setup moved into a separate function
2022-12-12 13:56:13 +01:00
vis2k
1b7906c1ed
NetworkManager.StartHostClient renamed to FinishStartHostClient to be more obvious
2022-12-12 13:48:11 +01:00
vis2k
d406a55e49
Utils.CreateLocalConnections for use from NetworkClient.ConnectHost & Tests
2022-12-12 13:40:50 +01:00
vis2k
8c5152dc65
revert: "Weaver: added missing HashSet<T> reader/writer generation after recent PR" - tests are still failing
2022-12-10 22:37:59 +01:00
vis2k
51eeb8a22d
add comments
2022-12-10 22:36:27 +01:00
vis2k
5e6b647723
Tests: add missing attribute
2022-12-10 22:16:22 +01:00
vis2k
25794f2411
NetworkClient.InternalAddPlayer: improve error message
2022-12-10 02:47:09 +01:00
vis2k
6f98725247
MIRROR_70_0_OR_NEWER
2022-12-09 21:36:39 +01:00
vis2k
5509bb73bb
fix: 2019 support
2022-12-09 21:36:36 +01:00
vis2k
8f480ad963
add comments
2022-12-09 20:47:50 +01:00
vis2k
c994bb41b7
syntax
2022-12-09 20:47:33 +01:00
Reuben Carolan
7b4e174d23
feature: Weaver HashSet<T> support (we already had List<T> support) for cases where we a struct may need to serialize a HashSet member for serialization etc.
2022-12-09 20:45:49 +01:00
MrGadget1024
c36e1f564d
Added [Multiplexer] to logging
2022-12-09 09:23:53 -05:00
MrGadget1024
6ae165e308
SimpleWebTransport - Added UNITY_SERVER around Exception logging
...
- don't need color tags on server
2022-12-09 09:08:17 -05:00
MrGadget1024
33f1f95b8b
WebSocketServer- added false for showColor to server side logging
2022-12-09 09:01:40 -05:00
MrGadget1024
1412c4606c
Added [SimpleWebTransport] to logging in case using Multiplexer
2022-12-09 08:57:12 -05:00
MrGadget1024
1cf5e7f333
Added [KCP] to logging in case using Multiplexer
2022-12-09 08:42:07 -05:00
MrGadget1024
ce462aea99
Added [Telepathy] to logging in case Multiplexer is used
2022-12-09 08:35:41 -05:00
MrGadget1024
a7fb58d54f
Updated NetworkManager Script Template
2022-12-07 16:22:34 -05:00
vis2k
b91c7027a5
fix: kcp V1.23 - fixes #3296
2022-12-07 19:14:59 +01:00
vis2k
98e7d2f475
Basic Example: added GUIConsole for easier debugging
2022-12-07 19:14:42 +01:00
MrGadget1024
519b9e0bd8
fixed comment
2022-12-07 19:14:39 +01:00
MrGadget1024
05e18380c0
Updated Basic Example
2022-12-07 19:14:35 +01:00
vis2k
566407cd86
Tests: fix Unity 2020 compilation
2022-12-05 07:43:25 -05:00
vis2k
5e1f17373a
comment
2022-12-04 17:03:57 -05:00
vis2k
d5f7c4bc01
fix: ClientToServer [SyncVar] wouldn't be broadcast to other clients because server never set it dirty
2022-12-04 16:51:24 -05:00
vis2k
4743d27f74
SyncDirection demo: add more spacing
2022-12-04 16:38:08 -05:00
vis2k
9d00ba3261
SyncDirection demo: zoom in
2022-12-04 16:37:16 -05:00
vis2k
1598a7cd15
SyncDirection demo: local player color
2022-12-04 16:36:41 -05:00
mischa
4ae4834f7a
fix : #3290 : Weaver HasNetworkConnectionParameter now supports inheritance ( #3293 )
...
* test to reproduce
* fix : #3290 : Weaver HasNetworkConnectionParameter now supports inheritance
2022-12-04 17:31:41 +01:00
vis2k
859138f137
Weaver: add explanations for Is vs. IsDerivedFrom
2022-12-04 11:00:14 -05:00
vis2k
4c0c5e74d3
Tests: TargetThatIsTotallyValid renamed to TargetRpcWithNetworkConnection for easier debugging
2022-12-04 10:47:55 -05:00
mischa
6d60471868
fix : #3280 #3083 #3217 MultiplexTransport connectionId multiplexing out of int.max range ( #3291 )
...
* lookup wip
* so far
* transport lookup
* wip
* okokok
* all done
* better
* x
* tests
2022-12-04 13:57:51 +01:00
vis2k
5991a9a53a
fix: MultiplexTransport.ServerStart: AddServerCallbacks is only called once, not for each transport
2022-12-03 22:20:44 -05:00
vis2k
b770f9ffa9
spacing
2022-12-03 20:04:12 -05:00
vis2k
9fd1e65eab
syntax: move Multiplex connectionId calculations to the top of the file
2022-12-03 20:01:42 -05:00
vis2k
2566911e78
MultiplexTransport: Test to reproduce #3280
2022-12-03 19:49:13 -05:00
vis2k
d77655f19b
comment improved
2022-12-03 19:32:58 -05:00
vis2k
9d212bc117
// A Test behaves as an ordinary method
2022-12-03 19:23:31 -05:00
vis2k
02de011ab0
perf: MultiplexTransport.ServerSend: remove unnecessary O(N) loop
2022-12-03 19:21:56 -05:00
vis2k
25959df80c
MultiplexTransportTests: add ServerSend tests via NSubstitute
2022-12-03 19:17:02 -05:00
vis2k
5bfc646bd8
MultiplexTransportTests: add substitute explanations
2022-12-03 19:11:59 -05:00
vis2k
4f45e9eada
comments
2022-12-03 19:01:24 -05:00
vis2k
9ad3f08392
MultiplexTransport: parameters switched to be more obvious
2022-12-03 18:59:18 -05:00
vis2k
2b1ebea7b7
MultiplexTransport: ID functions renamed to be more obvious
2022-12-03 18:56:54 -05:00
vis2k
0dfd4e15cc
comments
2022-12-03 18:52:13 -05:00
vis2k
33a697896c
syntax
2022-12-03 18:46:21 -05:00
vis2k
2def856707
syntax
2022-12-03 18:45:51 -05:00
vis2k
40564da5cc
Tests: MultiplexTransport To/From ID computations
2022-12-03 18:42:52 -05:00
vis2k
beb9c04218
comments
2022-12-03 18:39:33 -05:00
vis2k
e8d178688f
Tests: MultiplexTest renamed to MultiplexTransportTest
2022-12-03 18:36:32 -05:00
vis2k
576bcd80d7
MultiplexTransport: Id calculations made static for easier testing
2022-12-03 18:31:06 -05:00
vis2k
f4d4563a43
MultiplexTransport: syntax for readability
2022-12-03 18:28:19 -05:00
vis2k
27a22620db
breaking: virtual NetworkManager.OnClientDisconnect is now simply a user callback. users don't need to call base or StopClient anymore when overwriting.
2022-12-03 13:49:27 -05:00
vis2k
ff3039bdb4
breaking: fix: circular calls from Transport -> NetworkClient -> NetworkManager.OnClientDisconnected -> StopClient() -> NetworkClient.Disconnect() -> ...
...
NetworkManager.OnClientDisconnect now doesn't call NetworkClient.Disconnect anymore.
NetworkManager.StopClient() still calls NetworkManager.OnClientDisconnect for compatibility.
2022-12-03 13:49:27 -05:00
vis2k
3a7a5be152
fix : #3152 #3213 NetworkClient.AddTransportHandlers ensures they are only added once, never twice even if a community Transport forgets to call OnDisconnected
2022-12-03 13:36:53 -05:00
vis2k
ce9d52e8fd
fix : #3287 Telepathy NullReferenceException on client after Server was forcefully closed
2022-12-03 13:31:26 -05:00
vis2k
9da1786979
KcpTransport: expose conversion methods
2022-11-30 13:34:45 -05:00
vis2k
aeba5940bf
KcpClient: expose RawReceiveBuffer
2022-11-30 13:29:55 -05:00
vis2k
6938bd15e6
Tanks demo: add NetworkPingDisplay for latency tests
2022-11-30 13:16:31 -05:00
vis2k
f0aae71f16
kcp2k V1.22
2022-11-29 13:33:22 -05:00
MrGadget
563f6feea0
syntax
2022-11-29 06:36:57 -05:00
MrGadget
91c3439948
fix: MatchInterestManagement - Use TryGetValue in Update
2022-11-29 06:35:58 -05:00
MrGadget
904d44333e
MatchInterestManagement - naming consistency
2022-11-29 06:34:19 -05:00
MrGadget
c0908a2f58
fix: SceneInterestManagement - Use TryGetValue in Update
2022-11-29 06:33:33 -05:00
MrGadget
c70145d535
ServerCallback attributes added
2022-11-29 06:23:10 -05:00
MrGadget
94e315caca
TeamInterestManagement- syntax
2022-11-29 06:19:41 -05:00
MrGadget
12c83effbb
fix: SceneInterestManagement - use TryGetValue in OnDestroyed
2022-11-29 06:17:49 -05:00
MrGadget
f67aa64d59
fix: MatchInterestManagement - use TryGetValue in OnDestroyed
2022-11-29 06:16:53 -05:00
MrGadget
186702f810
feat: Add Mirror.Transports AsmDef ( #3282 )
...
- Keeps transports in their own assembly to users' own AsmDef's can reference them.
2022-11-28 12:12:51 +01:00
MrGadget
094b925797
fix: Fix vector3 long warnings ( #3281 )
...
* fix: Suppress Warnings in Vector3Long
* fix comment
* formatting
* Formatting
2022-11-28 12:11:44 +01:00
MrGadget
a86a115a30
Fix time as double unity 2019 ( #3279 )
...
* NetworkServer - TimeAsDouble compatibility for Unity 2019
* NetworkStatistics - TimeAsDouble compatibility for Unity 2019
* Simplified - rely on defines in NetworkTime
2022-11-27 07:35:05 -05:00
MrGadget
abd1c1689d
NetworkRoomManager - Removed OnRoomClientAddPlayerFailed virtual method
...
- Fixes #3168
- There is no good place to call that - use OnRoomClientDisconnect or OnRoomStopClient
2022-11-26 14:03:29 -05:00
MrGadget
71668c530f
Team and Match Interest Management Updates
...
- Fixes #3273 (removed erroneous evaluation in OnCheckObserver)
- NetworkTeam TeamId and Force Shown are now SyncVars for debugging
- Better naming of variables
2022-11-26 13:36:59 -05:00
vis2k
73b83c14cc
Merge remote-tracking branch 'origin/master'
2022-11-24 11:03:34 +01:00
vis2k
d100ecb4c4
kcp2k V1.21 [2022-11-24]
...
- high level refactor, part one.
- KcpPeer instead of KcpConnection, KcpClientConnection, KcpServerConnection
- RawSend/Receive can now easily be overwritten in KcpClient/Server.
for non-alloc, relays, etc.
2022-11-24 10:51:47 +01:00
MrGadget
51209096a3
Updated RigidbodyPhysics Example
2022-11-23 05:56:30 -05:00
MrGadget
8fc73b034b
Updated Examples Player Prefabs
...
Default NT Settings Updated
2022-11-23 05:21:23 -05:00
MrGadget
6c041dce22
Merge branch 'master' of https://github.com/vis2k/Mirror
2022-11-23 05:08:24 -05:00
MrGadget
bd88d665de
Updated Rigidbody Pysics Example
2022-11-23 05:08:10 -05:00
vis2k
e1a5f0300f
perf: kcp2k V1.20 [2022-11-22]
...
- perf: KcpClient receive allocation was removed entirely.
reduces Mirror benchmark client sided allocations from 4.9 KB / 1.7 KB (non-alloc) to 0B.
- fix: KcpConnection.Disconnect does not check socket.Connected anymore.
UDP sockets don't have a connection.
fixes Disconnects not being sent to clients in netcore.
- KcpConnection.SendReliable: added OnError instead of logs
2022-11-23 00:18:41 +01:00
vis2k
9c0814fa54
Tanks demo resaved
2022-11-22 12:04:47 +01:00
vis2k
cc170b2569
update script icon
2022-11-22 12:01:46 +01:00
vis2k
fcf148184e
fix: Unity 2019 Vector3Long semicolon error:
...
https://forum.unity.com/threads/mirror-open-source-networking-for-unity.425437/page-37#post-8592787
2022-11-17 18:41:24 +01:00
JesusLuvsYooh
ca33b91460
A define mistake, fixed Under 2021 support. ( #3276 )
...
There is no HashCode.Combine in this function, so 2021 define is not needed.
Removing the define brings back support for under Unity 2021's
2022-11-17 14:40:12 +01:00
JesusLuvsYooh
eaf16608ca
Support for c# versions under 9 (is not to ! is) ( #3275 )
2022-11-17 14:37:48 +01:00
vis2k
c750851ac4
[RequireComponent(typeof(NetworkTransform))] tags disabled to support both NTs
2022-11-13 18:27:37 +01:00
vis2k
9b39e31e8a
feature: perf: NetworkTransform V3 (Reliable)
2022-11-13 18:09:04 +01:00
vis2k
5f251f00ed
rename NetworkTransform V2 folder
2022-11-13 17:59:54 +01:00
vis2k
c4ca2734fa
NetworkServer.GetEntitySerializationForConnection renamed to SerializeForConnection (shorter)
2022-11-13 16:13:22 +01:00
mischa
260aaf6f8c
perf: bundle Rpcs together for each connection. saves 2 bytes of Rpc message headers per Rpc ( #3257 )
...
* buffer TargetRpcs
* buffer Rpcs
* TODO
* readonly
* ok
* better
* ensure max
* parse on client
* fix size
* oops
* adjust test
2022-11-12 12:53:42 +01:00
vis2k
a9e63724e3
remove old comment
2022-11-11 21:55:27 +01:00
vis2k
b04e8e681a
SetSyncObjectDirtyBit helper function
2022-11-11 21:07:05 +01:00
vis2k
41ef03fff5
OnStartLocalPlayer multiple calls workaround explained
2022-11-11 18:49:43 +01:00
vis2k
7e1a579ff2
OnStartLocalPlayer initialization moved to NetworkClient
2022-11-11 18:25:16 +01:00
vis2k
ce819e253a
OnStartClient initializations moved to NetworkClient
2022-11-11 18:19:04 +01:00
vis2k
8d7b3ec89b
NetworkClient.CheckForStartClient to prepare for OnStartClient cleanup
2022-11-11 18:18:37 +01:00
vis2k
0c116e29f2
perf: NetworkIdentity.observers is now always initialized. removes extra null checks everywhere.
2022-11-10 21:09:29 +01:00
vis2k
264a652abe
use explicit type
2022-11-10 20:49:45 +01:00
vis2k
940a467035
SendToReadyObservers: use explicit type
2022-11-10 20:47:12 +01:00
vis2k
5ffdd06602
OnStartServer isClient assignment moved to caller NetworkServer
2022-11-10 20:27:15 +01:00
vis2k
2c40b15a08
syntax
2022-11-10 20:27:01 +01:00
vis2k
75e7af1312
OnStartServer spawned assignment moved to NetworkServer caller
2022-11-10 20:26:56 +01:00
vis2k
c6df8f01d8
OnStartServer netId assignment moved to NetworkServer caller
2022-11-10 20:26:53 +01:00
vis2k
17d874fee8
OnStartServer netId != 0 check moved to NetworkServer caller
2022-11-10 20:26:49 +01:00
vis2k
e7abbaf531
OnStartServer isLocalPlayer initialization moved to NetworkServer caller
2022-11-10 20:26:34 +01:00
vis2k
f2b0f2bab2
OnStartServer isServer check + initialization moved to NetworkServer for cleaner code
2022-11-10 20:26:29 +01:00
vis2k
d79de6bf0c
fix : #3258 NetworkWriter.WriteString now ensures capacity before manually writing into the buffer
2022-11-10 10:57:13 +01:00
vis2k
53a9717334
fix: Unity 2020 support
2022-11-09 15:04:12 +01:00
vis2k
1dada3bb4b
MIRROR_2022_10_OR_NEWER
2022-11-09 10:55:50 +01:00
vis2k
3617ffac00
comment updated
2022-11-06 20:32:06 +01:00
vis2k
6315260286
syntax
2022-11-06 19:30:54 +01:00
vis2k
761b70e8e7
remove unused import
2022-11-03 16:16:39 +01:00
vis2k
d021c1a01e
TimeSample moved to Tools
2022-11-03 16:15:18 +01:00
vis2k
e6a65bc5b2
breaking: remove SyncVar<T> which was meant to replace [SyncVar]s implementation behind the scenes. this hasn't happened, so we don't actually need it.
2022-11-03 16:09:36 +01:00
vis2k
085ed1da81
NetworkBehaviourSyncVar moved into separate file to keep NetworkBehaviour.cs clean
2022-11-03 15:57:16 +01:00
vis2k
a62452c826
TODO
2022-11-03 15:54:44 +01:00
vis2k
18cc7a0558
Pool moved to Tools
2022-11-03 15:52:39 +01:00
vis2k
a8241e5794
Mathd moved to Tools
2022-11-03 15:52:32 +01:00
vis2k
32561576ec
Tools folder to distinguish between Unity integration and standalone algorithms
2022-11-03 15:50:28 +01:00
vis2k
395c447b02
feature: manual DeltaCompression to prepare for NetworkTransform V3
2022-11-01 17:34:41 +01:00
vis2k
9e352f5be2
Compression: ScaleToLong/Float Vector3Long variants to prepare for NetworkTransform V3
2022-11-01 17:34:10 +01:00
vis2k
701c16a307
feature: Vector3Long to prepare for NetworkTransform V3
2022-11-01 17:33:44 +01:00
MikiBordils
fb95c411ef
fix: NetworkDiscovery BroadcastAddress exposed for iOS support ( #3255 )
...
* exposing BroadCasting Address
iOS build prevents broadcasting to 0.0.0.0, so we needed to expose it to change it for our built
* Update NetworkDiscoveryBase.cs
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2022-10-31 22:12:45 +01:00
vis2k
33e0bea844
CCU test demo: only sync on change
2022-10-31 10:46:34 +01:00
mischa
a2756af514
feature: RemoteStatistics tool ( #3254 )
2022-10-31 10:43:10 +01:00
vis2k
d26d12fb55
feature: CCU test demo
2022-10-31 09:23:26 +01:00
vis2k
68ab1816bb
breaking: NetworkManager.serverTickRate renamed to sendRate because that's what it is
2022-10-31 09:15:19 +01:00
vis2k
723da0cecc
fix: NetworkClient now only tries to broadcast every sendInterval. otherwise ClientToServer NetworkTransform components (which have syncInterval=0) would sync every single tick. prepare for NT V3 as well.
2022-10-30 18:54:50 +01:00
vis2k
3d3a542ddd
comment
2022-10-30 18:53:57 +01:00
vis2k
b0f0c38592
script icons
2022-10-30 12:05:00 +01:00
vis2k
8039bcbda5
syntax
2022-10-27 19:17:42 +02:00
vis2k
c0ac491993
NetworkTransform: reorder code
2022-10-27 19:15:22 +02:00
vis2k
e473d154d9
fix: NetworkRigidbody now uses double time to keep precision over multiple days
2022-10-26 12:28:06 +02:00
vis2k
5abc261320
fix: NetworkLerpRigidbody now uses double time to keep precision over multiple days
2022-10-26 12:27:57 +02:00
vis2k
25d0e7929a
fix: NetworkTransform now always sends at the same sendInterval as time interpolation. as configured in NetworkManager.
2022-10-26 12:17:49 +02:00
vis2k
8d3d623fac
fix: NetworkManager now always applies the exposed NetworkServer.send/tickRate. fixes a bug where some NetworkBehaviours may try to send with NetworkServer.tickRate, which wouldn't be available on client because NetworkManager.StartServer was never called, so the rate was never set.
2022-10-26 11:28:40 +02:00
vis2k
485b65f18d
perf: NetworkBehaviour.IsDirty: check bits before time
2022-10-25 19:05:10 +02:00
mischa
d05feed59e
breaking: NetworkTransform.clientAuthority flag obsoleted. use SyncDirection instead. automatically sets syncDirection if still used. ( #3250 )
2022-10-25 11:53:12 +02:00
mischa
ca25956347
perf: breaking: NetworkTransformChild replaced by NetworkTransform with exposed .target. no more virtual property call. and no more redundant components which do the exact same thing. ( #3249 )
2022-10-25 11:44:24 +02:00
vis2k
79bb48bbf5
Compression: remove unnecessary inline
2022-10-24 12:49:35 +02:00
vis2k
1176494587
fix: NetworkClient.sendRate is now coupled to NetworkServer.sendRate in order to avoid snapshot interpolation errors where server & client may be on different send rates, components use the wrong rate to send vs. interpolate, etc.
2022-10-22 10:41:57 +02:00
vis2k
464bd365fe
NetworkServer: sendRate comments improved
2022-10-22 10:37:20 +02:00
vis2k
b31eeb5a4f
NetworkTransform: force syncDirection to follow the old clientAuthority state to make it obvious that there is only one source of truth
2022-10-22 10:26:31 +02:00
vis2k
dfd4d0b672
NetworkTransform: explain that sendInterval is coupled with time interpolation interval; use OnValidate to force syncInterval so it's more obvious in the Inspector
2022-10-22 10:16:43 +02:00
vis2k
38d94f36b1
NetworkTransform: always show OnGUI buffers. easier to debug issues if they aren't filled.
2022-10-21 19:34:23 +02:00
vis2k
8c09b936b9
syntax
2022-10-21 19:21:55 +02:00
mischa
d46e2eaf74
feature: NetworkBehaviour.SetDirty() to trigger custom OnSerialize without having to call SetSyncVarDirtyBit(1). prepares for NetworkTransform v3. ( #3248 )
...
* perf: SetSyncVarDirtyBit inlining
* feature: NetworkBehaviour.SetDirty() to trigger custom OnSerialize without having to call SetSyncVarDirtyBit(1).
prepares for NetworkTransform v3
* imer
2022-10-21 19:02:46 +02:00
vis2k
7c1fac9085
perf: SetSyncVarDirtyBit inlining
2022-10-21 19:02:41 +02:00
mischa
1b6768a691
feature: perf: NetworkConnectionToClient snapshot interpolated .remoteTimeline to simplify NetworkTransform ( #3247 )
...
* move fields to conn
* syntax
* split into time and value
* timeline moved to conn
* OnTimeSnapshot
* old
* NetworkClient sends TimeSnapshots
* server inserts
* update time interp from server
* buffer size limit moved too
* naming
* fix tests
* non public
* readonly
* comments
2022-10-21 19:02:36 +02:00
vis2k
c07c0797ec
TimeSnapshot moved into it's own file
2022-10-21 12:42:59 +02:00
mischa
e0a91eeb3a
feature: SyncDirection (V2) to easily support client auth components without extra Rpcs/Cmds. previously OnSerialize was only server-to-client direction. ( #3244 )
...
* feature: SyncDirection to easily support client auth components without extra Rpcs/Cmds. previously OnSerialize was only server-to-client direction. (#3232 )
* fix and test
* add test
* remove todo
* comments
* only serialize once
* simplify dirty checks
* syntax
* remove doulbe comments
2022-10-19 23:54:54 +02:00
vis2k
a1fbc55e8a
Tests: syntax for easier debugging
2022-10-19 19:51:30 +02:00
vis2k
6f4c7cb805
feature: NetworkWriter.WriteBytes(byte*) unsafe version to prepare for BitTree delta compression
2022-10-19 19:39:08 +02:00
vis2k
76313cd30c
Mirror.Components.asmdef: allow unsafe to prepare for NetworkTransform V3
2022-10-19 19:39:01 +02:00
vis2k
25a45a9ce8
Revert "Utils.RoundBitsToFullBytes from DOTSNET / Mirror II to prepare for manual per-field Delta Compression for NetworkTransform V3"
...
This reverts commit c7e3dc32d6
.
2022-10-18 09:39:49 +02:00
vis2k
9c2444475c
Tests: allow unsafe
2022-10-17 19:18:01 +02:00
vis2k
c7e3dc32d6
Utils.RoundBitsToFullBytes from DOTSNET / Mirror II to prepare for manual per-field Delta Compression for NetworkTransform V3
2022-10-17 18:41:14 +02:00
vis2k
d9aa7b152e
Compression.ScaleToLong/Float to prepare for next NetworkTransform float<->long compression
2022-10-17 10:04:31 +02:00
vis2k
9d487b3a86
comment
2022-10-15 22:30:24 +02:00
vis2k
743e00bd20
SendTargetRpc: improve error messages
2022-10-15 20:42:43 +02:00
vis2k
ed0b7339eb
assetId is now printed as decimal instead of hex, for consistency with Unity Inspector which also shows it as decimal.
2022-10-14 11:18:33 +02:00
vis2k
270be5f452
fix : #3234 assetId setter now allows overwriting an old assetId after duplicating a prefab.
...
the previous assetId Guid to int commit (4430001521
) changed AssignAssetId() from modifying m_assetId to assetId.set directly, which introduced this bug.
2022-10-14 11:13:42 +02:00
vis2k
8006251382
NetworkIdentity.assetId.set: update explanation, copied the wrong one from Mirror II
2022-10-14 11:00:54 +02:00
vis2k
149d907823
syntax
2022-10-13 17:38:39 +02:00
vis2k
bf55c68d96
unnecessary
2022-10-13 17:27:41 +02:00
vis2k
9120de1016
comment
2022-10-13 13:46:52 +02:00
vis2k
e647df8fa3
feature: NetworkConnection.owned objects are now available on server AND on client
2022-10-13 13:29:06 +02:00
vis2k
6bb42e9e81
breaking: NetworkConnectionToServer.clientOwnedObjects renamed to .owned (simplify API)
2022-10-13 11:03:42 +02:00
vis2k
8cb64383fc
add deprecated dates
2022-10-13 11:01:19 +02:00
mischa
a20bad57e5
breaking: .hasAuthority renamed to .isOwned because it's easier to understand, and to prepare for SyncDirection where there is a difference between: ( #3231 )
...
isOwned = is this one of the client connection's .owned entities?
authority = can we modify this component's state? depends on SyncDirection AND owned
2022-10-13 10:59:39 +02:00
vis2k
90028b43ea
NetworkServer.sendInterval calculated separately so it's easier to change sendRate later
2022-10-13 10:49:07 +02:00
vis2k
1433bb7993
comment
2022-10-12 21:22:16 +02:00
vis2k
2bab435832
perf: NetworkIdentity.Serialize: only iterate if any dirty bit set, otherwise don't need to iterate again
2022-10-12 21:17:10 +02:00
vis2k
4127345f8a
fix: Benchmark demo Spatial Hashing radius reduced from 200 to 30 so the monsters actually despawn when walking out of range in the demo
2022-10-12 21:14:55 +02:00
vis2k
e6886e8a84
fix: ensure Serialize writes nothing at all if not dirty and add test so it's never missed again(!).
...
fixes unchanged objects sending an unnecessary 1 byte dirty mask after recent dirtybits improvement.
2022-10-12 21:06:03 +02:00
vis2k
8ec99fa153
NetworkIdentity: ValidateComponents for use from initialize, serialize, deserialize all together
2022-10-12 12:33:25 +02:00
vis2k
227940e054
comment
2022-10-12 11:13:58 +02:00
vis2k
9dd04e2efa
fix: NetworkIdentity.MaxNetworkBehaviours and EnsureMax function so we have the same code in both places, where previously Serialize() still checked for 255 instead of 64
2022-10-12 11:08:12 +02:00
mischa
c179d233a1
fix: Unity 2019, 2020 support added again ( #3230 )
...
* fix: Examples/AdditiveLevels/Prefabs/Portal doesn't depend on TextMeshPro anymore (for 2019 compatibility)
* packages: removed unnecessary TextMeshPro (causes errors in Unity 2019)
* fix: NetworkReader byte[] constructor added again for 2019 support
* fix: NetworkReader byte[] SetBuffer added again for 2019 support
* fix: NetworkClient OnTimeSnapshotMessage: NetworkTime.localTime for 2019 support
* fix: NetworkServer NetworkLateUpdate: NetworkTime.localTime for 2019 support
* fix: Read/WriteGuid support for 2019
* fix: NetworkTransformBase: NetworkTime.localTime for 2019 support
* fix: Grid2D new hashSet constructor without capacity for 2019 support
* 2019
* this
2022-10-10 23:32:13 +08:00
vis2k
e7110d3015
TODO
2022-10-10 14:52:19 +02:00
vis2k
5efcd8f113
inlining
2022-10-10 10:56:16 +02:00
vis2k
2310c248c1
NetworkBehaviour.IsDirty: shorter
2022-10-10 10:56:05 +02:00
vis2k
76ea4369ba
NetworkClient: common Initialize() method for all connect functions
2022-10-10 10:37:37 +02:00
vis2k
fe6147dd4d
fix: NetworkClient ConnectHost now initializes time interpolation as well
2022-10-10 10:34:08 +02:00
mischa
88e4260252
perf: NetworkBehaviour.Serialize safety check reduced from 4 bytes length header to 1 byte length hash, while keeping error correction ( #3229 )
...
* wip
* self correction
* separate function
* test
2022-10-10 15:51:15 +08:00
mischa
b5ac61c7b2
perf: NetworkIdentity.Serialize bandwidth reduced from 1 byte per component index to (roughly) 1 bit per component ( #3228 )
...
* serialize with varint masks
* deserialize
* test
* fixfix
* redundant
* unused
* comment
* faster
* old
* comment
* comment
2022-10-10 15:50:28 +08:00
vis2k
01cd1041f6
update comment
2022-10-09 22:34:57 +02:00
vis2k
2a3e681e03
comment
2022-10-09 16:47:12 +02:00
vis2k
58a89a5d24
Tests: split VarInt and VarUInt tests
2022-10-09 15:25:52 +02:00
vis2k
16d5a7e6ed
naming
2022-10-09 15:12:01 +02:00
vis2k
822ecdaaba
syntax
2022-10-09 15:11:23 +02:00
vis2k
d2775e5d42
NetworkIdentity.DeserializeAll renamed to Deserialize, now that the other Deserialize method was moved to NetworkBehaviour
2022-10-09 14:03:36 +02:00
vis2k
482d5777d9
NetworkIdentity.SerializeAll renamed to Serialize, now that the other Serialize method was moved to NetworkBehaviour
2022-10-09 14:03:11 +02:00
vis2k
389726b011
NetworkIdentity.Deserialize(NetworkBehaviour) moved to NetworkBehaviour.Deserialize
2022-10-09 13:57:43 +02:00
vis2k
882b3a69b3
NetworkIdentity.Serialize(NetworkBehaviour) moved to NetworkBehaviour.Serialize
2022-10-09 13:56:46 +02:00
vis2k
10296e0586
syntax
2022-10-09 13:51:01 +02:00
vis2k
10e34488e2
NetworkIdentity: OnDeserializeAllSafely renamed to DeserializeAll
2022-10-09 13:45:56 +02:00
vis2k
41f60a5486
NetworkIdentity: OnSerializeAllSafely renamed to SerializeAll
2022-10-09 13:45:08 +02:00
vis2k
b292aebd08
NetworkIdentity: OnDeserializeSafely renamed to Deserialize
2022-10-09 13:42:22 +02:00
vis2k
deeddac185
NetworkIdentity: OnSerializeSafely renamed to Serialize
2022-10-09 13:42:02 +02:00
vis2k
22b3c71a6c
comment
2022-10-09 13:38:24 +02:00
vis2k
0745e44c5c
syntax
2022-10-09 13:20:57 +02:00
vis2k
3b78b87ee9
perf: all client NetworkTransforms now run on the same NetorkClient.timeline instead of each component computing its own
2022-10-09 10:45:27 +02:00
vis2k
47d5ecd776
fix: LatencySimulation now flushes properly. fixes barely any packets getting through even on 0 settings
2022-10-09 10:31:48 +02:00
vis2k
a6d055db51
syntax
2022-10-09 10:09:44 +02:00
vis2k
666d1d7df2
fix: LatencySimulation now uses Time.unscaledTimeAsDouble for long running server precision
2022-10-09 10:08:47 +02:00
vis2k
5a2962c27b
syntax
2022-10-09 10:06:37 +02:00
vis2k
f1f7b37288
NetworkManager: always show OnGUI because snapshot interpolation gui is useful in builds / for debugging as well
2022-10-09 10:04:38 +02:00
vis2k
b9bf63790f
breaking: perf: fix: NetworkTime from NetworkClient snapshot interpolation timeline.
...
-> fixes initial delayed NetworkTime jump after 1-2s from 1.. to 500... depending on how long server was running.
-> improves accuracy / precision of NetworkTime
-> prepares for NetworkTransform & NetworkTime being on the same timeline instead of each component calculating their own timeline separately
2022-10-09 08:40:01 +02:00
vis2k
7298de3929
feature: global NetworkClient snapshot interpolation timeline.
...
=> for usage as significantly better NetworkTime after
=> for usage in NetworkTransform after
2022-10-09 08:36:17 +02:00
vis2k
f5d1a55fdd
fix tests after recent commit
2022-10-08 08:58:09 +02:00
vis2k
1ebb4368dd
perf: NetworkServer: Broadcast() now only runs every tickInterval, even if Application.targetFrameRate isn't set in host mode.
...
previously a host may run at 120 Hz, and even with tickInterval set to 10 Hz, Broadcast() would run 120 times per second, checking every component's dirty bits + send interval.
note that the actual _send rate_ wasn't broken.
this change simply reduces the need to check for "has send rate elapsed?"
=> prepares for NetworkClient time snapshot interpolation, where time snapshots need to be sent only every sendInterval.
=> if host mode would send every update, this would be way too much.
2022-10-07 21:44:02 +02:00
vis2k
0f8553ff2f
feature: AccurateInterval from Mirror II to prepare for proper RemoteStatistics measurements & snapshot time interpolation, which requires accurate send interval even if .targetFrameRate can't be set (i.e. in host)
2022-10-07 21:20:38 +02:00
vis2k
9870705141
Header
2022-10-06 13:53:11 +02:00
vis2k
c940963779
breaking: NetworkServer.tickRate and .tickInterval, set from exposed NetworkManager.serverTickInterval.
...
prepares for NetworkClient time interpolation
2022-10-06 13:50:48 +02:00
vis2k
d72c769882
NetworkRoomManager: remove redundant maxConnections validation
2022-10-03 09:28:15 +02:00
vis2k
26144edc22
syntax
2022-10-03 09:27:49 +02:00
vis2k
b4149f2b94
syntax
2022-10-03 09:06:05 +02:00
vis2k
4fbbc0cbc1
NetworkManager: SetupClient() for consistency with SetupServer()
2022-10-03 08:51:50 +02:00
vis2k
d4b1239dc4
syntax
2022-09-28 11:57:02 +07:00
vis2k
7a7b5a0072
syntax
2022-09-28 11:50:54 +07:00
vis2k
02336b41b5
syntax
2022-09-28 11:34:18 +07:00
vis2k
b56b12ff54
partial classes
2022-09-28 11:33:52 +07:00
vis2k
7123a7925c
feature: Snapshot Interpolation split into time + value interpolation (backported from Mirror II) to allow for global time interpolation with local value interpolation, instead of interpolating everything locally per-component
2022-09-27 13:40:57 +07:00
vis2k
34acc450bd
syntax
2022-09-27 12:19:15 +07:00
vis2k
fcc6c31c7a
breaking: NTSnapshot renamed to TransformSnapshot
2022-09-27 12:19:08 +07:00
vis2k
6988853ee2
comment
2022-09-27 11:55:51 +07:00
vis2k
136b8d9956
feature: NetworkWriter implicit ArraySegment conversion for convenience.
...
also allows for implicit NetworkWriter to NetworkReader conversion.
2022-09-27 11:53:04 +07:00
vis2k
a84bf0769e
syntax
2022-09-27 11:49:59 +07:00
vis2k
2037b317c1
NetworkWriter.WriteBytes: rename parameter to avoid name collision
2022-09-25 13:56:30 +07:00
vis2k
618b7a6e16
NetworkWriterExtensions: removed static state by moving .encoding into each writer
2022-09-25 13:53:12 +07:00
vis2k
ab9a92388c
Tests: ReadString_InvalidUTF8
2022-09-25 13:53:12 +07:00
vis2k
2ce8ee72a8
NetworkReaderExtensions: removed static state by moving .encoding into each reader
2022-09-25 13:53:12 +07:00
vis2k
e97da2605c
feature: NetworkWriter.ToString in form of "[DD-CC-BB-AA-FF @ 5/1000]"
2022-09-25 13:26:58 +07:00
vis2k
61318d4c82
NetworkWriter.DefaultCapacity exposed
2022-09-25 13:26:53 +07:00
vis2k
3b8810f532
feature: NetworkWriter.Capacity
2022-09-25 13:24:08 +07:00
vis2k
606f147872
comment
2022-09-25 13:20:59 +07:00
vis2k
3664f26d65
Read<T>: error message improved
2022-09-25 13:19:44 +07:00
vis2k
df875a4bc1
syntax
2022-09-25 13:18:38 +07:00
vis2k
6fa5a65cd3
NetworkReader.ToString improved to be more readable: "[B2-C3-D4 @ 0/3]"
2022-09-25 13:18:04 +07:00
vis2k
27398721a2
Extensions: ArraySegment.ToHexString for convenience
2022-09-25 13:17:02 +07:00
vis2k
9525a4649d
NetworkReader.ReadBytesSegment: ensure count >= 0 & guarantee exception with test.
2022-09-25 13:09:54 +07:00
vis2k
44e56ae753
NetworkReader.ReadBytes: ensure count >= 0 & guarantee exception with test.
...
previously it did throw the same exception unintentionally in the Array.Copy call
2022-09-25 13:08:45 +07:00
vis2k
c64925f9f6
Tests cleanup
2022-09-25 13:04:06 +07:00
vis2k
78fb0b57ae
NetworkReader.ReadBytesSegment: use .Remaining
2022-09-25 13:00:57 +07:00
vis2k
98be66ec13
NetworkReader.ReadBytes: use .Remaining
2022-09-25 13:00:38 +07:00
vis2k
6e042ed2a8
NetworkReader.ReadBlittable: use .Remaining
2022-09-25 13:00:13 +07:00
vis2k
81e666af9e
NetworkReader: remove SetBuffer byte[] variant. implicit ArraySegment conversion is enough.
2022-09-25 12:48:09 +07:00
vis2k
0ffa971413
NetworkReader: remove byte[] constructor, implicit ArraySegment constructor is enough
2022-09-25 12:46:47 +07:00
vis2k
c9642dbbb2
NetworkReader.ReadArray: use .Remaining
2022-09-25 12:44:06 +07:00
vis2k
451cd26b47
syntax
2022-09-25 12:43:19 +07:00
vis2k
5fa5269a11
NetworkReader: more readable syntax
2022-09-25 12:43:12 +07:00
vis2k
d3ee9e325e
NetworkReader.Length renamed for Capacity (more obvious, similar to List.Capacity)
2022-09-25 12:43:03 +07:00
vis2k
ee6bbaa8ba
NetworkReader.Remaining uses buffer.Count directly
2022-09-25 12:40:12 +07:00
vis2k
e3c4bf5eba
syntax
2022-09-25 12:38:08 +07:00
vis2k
cf0b884c1f
MessagePacking renamed to NetworkMessages (it contains more network message code than just packing)
2022-09-25 12:21:38 +07:00
vis2k
8249508fa7
MessagePacking.Unpack renamed to PackId for consistency
2022-09-25 12:10:29 +07:00
vis2k
1baadc1dbe
syntax & comments
2022-09-25 12:08:13 +07:00
vis2k
458eeca0e8
syntax
2022-09-25 12:07:14 +07:00
vis2k
92a766af36
update comment
2022-09-25 12:06:16 +07:00
vis2k
4d5bf360ec
MessagePacking.GetId: remove unnecessary AND
2022-09-25 12:05:28 +07:00
vis2k
16c572cfc4
syntax
2022-09-25 12:05:17 +07:00
vis2k
13e6c77bad
MessagePacking.HeaderSize renamed to IdSize
2022-09-25 12:03:49 +07:00
vis2k
c97bf5a06a
syntax
2022-09-25 12:00:03 +07:00
vis2k
f24acb6372
Transport.activeTransport renamed to .active
2022-09-25 12:00:03 +07:00
vis2k
94345c94bf
Tests: Mathd
2022-09-25 11:50:56 +07:00
vis2k
dea63ba59e
syntax
2022-09-25 11:49:35 +07:00
vis2k
827a6d310c
syntax
2022-09-25 11:49:11 +07:00
vis2k
4ea52a0283
fix: InterestManagement.Awake is now protected virtual ( #3214 )
2022-09-24 22:13:46 +07:00
vis2k
6ba926bcb1
NetworkManager: serverTickInterval for convenience (prepares for remote statistics)
2022-09-24 22:08:20 +07:00
vis2k
80abe21047
NetworkManager: auto connect client build option for CCU test bots
2022-09-24 22:08:03 +07:00
vis2k
4d5e55511c
Utils.KeepInScreen
2022-09-24 22:02:35 +07:00
vis2k
4dd3c6df8c
Utils.PrettySeconds
2022-09-24 22:02:30 +07:00
vis2k
72f65a1b66
rename folder
2022-09-24 21:58:23 +07:00
vis2k
c49cc5f422
Examples/_Common folder
2022-09-24 18:17:39 +07:00
vis2k
4430001521
breaking: perf: assetId as uint instead of Guid. saves 12 bytes and much conversion magic (as suggested by james). may need to resave prefabs once in case of spawn issues.
2022-09-24 18:08:12 +07:00
vis2k
9c5e10f71b
breaking: NetworkBehaviour.SerializeSyncVars return type changed from bool to void to simplify weaver (and reduce branches)
2022-09-24 17:30:20 +07:00
vis2k
7c7f83362b
breaking: perf: NetworkIdentity/NetworkBehaviour OnSerialize return type changed from bool to void to a-void confusion (and branches)
2022-09-23 14:21:48 +07:00
vis2k
92ff55120a
weaver comments
2022-09-23 14:21:31 +07:00
vis2k
29fef498eb
Weaver NetworkBehaviourProcessor: add explanation
2022-09-23 14:19:25 +07:00
vis2k
e63742523c
fix broken tests caused by default transport adding. also fixes tests using kcp unintentionally.
2022-09-23 13:55:54 +07:00
vis2k
99851945e9
NetworkManager.transport field made public so it can be set from tests
2022-09-23 13:55:17 +07:00
vis2k
b82bb86fc7
remove unused import
2022-09-23 13:39:12 +07:00
vis2k
6941df570c
NetworkAnimator: remove unnecessary XML comments
2022-09-23 13:37:13 +07:00
vis2k
498c3c568a
remove unused imports
2022-09-23 13:32:24 +07:00
vis2k
63e3780ecd
Runtime folder renamed to Core. makes it more obvious that Components/, Transports/, Authenticators/ etc. are optional
2022-09-23 13:30:08 +07:00
vis2k
f1e53a09ae
remove old Runtime/Transports folder
2022-09-23 13:29:21 +07:00
vis2k
7a8a3c6e1e
KCP transport moved to root Transports folder; removed old auto upgrading which would require a circular dependency
2022-09-23 13:27:19 +07:00
vis2k
70d82f844d
kcp2k moved to root Transports folder
2022-09-23 13:25:57 +07:00
vis2k
8abf17acae
Middleware transport moved to root Transports folder
2022-09-23 13:24:55 +07:00
vis2k
3e4f4d7614
Multiplex transport moved to root Transports folder
2022-09-23 13:23:33 +07:00
vis2k
1507c764cc
Telepathy transport moved to root Transports folder
2022-09-23 13:21:56 +07:00
vis2k
1c9101b3d4
LatencySimulation transport moved to root Transports folder
2022-09-23 13:21:21 +07:00
vis2k
78e65c40ec
Transports folder next to Components; SimpleWebTransport moved from Runtime to Transports
2022-09-23 13:19:19 +07:00
vis2k
de830650a5
script icons
2022-09-23 13:12:47 +07:00
vis2k
a8c84fe9b8
perf: NetworkIdentity.assetId is now cached to avoid expensive "new GUID" construction
2022-09-17 17:13:56 +08:00
vis2k
a94fe67c23
Utils.IsSceneObject common function for NetworkServer/Client
2022-09-17 17:04:25 +08:00
vis2k
a99bc0ebf5
NetworkClient: ConsiderForSpawning renamed to IsSceneObject because that's what it checks
2022-09-17 16:58:52 +08:00
vis2k
4654a281f3
NetworkServer: ValidateSceneObject renamed to IsSceneObject - that's what it checks
2022-09-17 16:58:13 +08:00
vis2k
0fbf400697
fix: Tanks demo: remove light from projectile as well to fix visual glitches
2022-09-17 16:53:15 +08:00
vis2k
478e1d8c0e
perf: NetworkWriter.WriteString now writes directly into the buffer without the intermediate stringBuffer step
2022-09-17 16:51:03 +08:00
vis2k
ed8e5529ad
syntax
2022-09-17 16:42:49 +08:00
vis2k
ddb79ab0eb
NetworkLoop: remove old Unity 2018 code
2022-09-17 16:36:20 +08:00
vis2k
fc0a40f802
syntax
2022-09-17 16:35:19 +08:00
vis2k
5c04b84108
fix: Tanks demo: remove tank prefab spotlight causing visual glitches
2022-09-17 16:27:30 +08:00
vis2k
18abba3506
NetworkBehaviour.ComponentIndex changed to byte for consistency
2022-09-17 16:19:39 +08:00
vis2k
3e4b5b3660
perf: Grid2D initial capacity to avoid warmup allocations
2022-09-17 16:13:09 +08:00
vis2k
a6f450710c
perf: Grid2D as struct to avoid memory indirection
2022-09-17 16:11:38 +08:00
vis2k
34e6e8fbd3
readonly
2022-09-17 16:09:40 +08:00
vis2k
dac82ed1e2
NetworkStatistics: expose statistics to other components
2022-09-15 13:17:38 +08:00
vis2k
bb4f2b99ec
MIRROR_2022_9_OR_NEWER
2022-09-15 12:16:40 +08:00
vis2k
ac352c084d
NetworkManager.GetStartPosition can now be overwritten
2022-09-14 21:38:57 +08:00
vis2k
4b75d2b53d
ConsiderForSpawning & ValidateSceneObject explanations
2022-09-10 21:32:36 +08:00
vis2k
7b08d3afdd
NetworkScenePostProcess set inactive explanation
2022-09-07 13:21:09 +08:00
Robin Rolf
17446f3aa3
perf: Application.isPlaying in hot path is slow ( #3210 )
...
This showed up during a recent il2cpp profile and is accounting for 1% of total cpu usage while being completely unnecessary outside of the editor
https://share.dl.je/2022/08/2022-08-28_14-44-14_CfEcmlR1L6.png
2022-09-01 19:58:32 +08:00
Yu Long
aac75491ac
Add Check for NetworkServer.Spawn ( #3205 )
...
* Added a check for repeatedly calling NetworkServer.Spawn on the same gameObject
* Update NetworkServer.cs
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2022-08-25 11:56:07 +08:00
vis2k
d9394b0dc8
fix: Telepathy Always enqueue Disconnected event (from imer)
2022-08-12 13:01:19 +08:00
Robin Rolf
1891d46b3c
fix: Telepathy ClientDisconnect calls DC event ( #3198 )
...
Kcp calls OnDisconnected for manual disconnections too so this is more consistent
2022-08-08 15:07:43 +08:00
hyouuu
8d1061089b
Make NetworkPingDisplay's width & height configurable ( #3196 )
2022-08-08 10:23:56 +08:00
vis2k
88825e45d5
fix: LatencySimulation error
2022-07-25 23:25:34 +08:00
vis2k
589e1f6258
Benchmark Example: backport FPS counter from Mirror II
2022-07-25 21:24:51 +08:00
eiei114
96b87ae260
fix comment typo ( #3194 )
2022-07-24 16:47:25 +08:00
vis2k
9846468dcc
fix test
2022-07-22 12:40:12 +08:00
vis2k
0b984caced
fix test
2022-07-22 12:39:43 +08:00
vis2k
77cac1b03d
fix test
2022-07-22 12:38:52 +08:00
vis2k
e8fae820d1
fix test
2022-07-22 12:28:31 +08:00
vis2k
7f680ec775
fix test
2022-07-22 12:26:06 +08:00
vis2k
1320472b10
perf: Read/WriteGuid without allocations
2022-07-22 12:26:06 +08:00
vis2k
5f4a03109d
fix: breaking: Spatial hashing interest management resolution formula fixed. this is why spatial hashing visibility range always seemed a bit lower than with distance interest management.
2022-07-11 23:40:37 +08:00
vis2k
97fe2764bc
Tests: Grid2D proper setup
2022-07-11 20:43:56 +08:00
vis2k
0cff9d6f5d
feature: Snapshot Interpolation V2 (make sure call base Awake() when inheriting!; note this removes the interpolatePosition/Rotation/Scale options) ( #3184 )
...
* yo
* fix bug exposed by tests
* tests and latest changes
* NT
2022-06-26 20:03:42 +08:00
vis2k
880a4eebd6
Snapshot Interpolation Demo: adjust namespaces so we can use 'SnapshotInterpolation.' to actual
2022-06-16 13:26:38 +07:00
vis2k
db50c39b91
fix: Snapshot Interpolation Demo: assign material color to instanced material, fixes material asset changing color permanently
2022-06-13 18:18:59 +07:00
vis2k
f92942bb5f
Snapshot Interpolation Demo: vsync notice
2022-06-13 18:17:50 +07:00
vis2k
1b0901e966
fix: Snapshot Interpolation Example: latency was accidentally applied to remoteTime instead of delivery time
2022-06-13 17:48:09 +07:00
vis2k
9915f4c0b3
Snapshot Interpolation Demo: simplify latency jitter for easier testing
2022-06-13 17:46:31 +07:00
vis2k
5063fdd08f
LatencySimulation: latencySpike renamed to jitter
2022-06-13 12:18:28 +07:00
vis2k
999cf0fe32
Snap Interp demo GUI width
2022-06-12 00:15:08 +07:00
Justin Nolan
19efa2dd86
Fix compile error ( #3179 )
2022-06-10 22:53:05 +09:00
Justin Nolan
4b40dea700
switch expressions are not supported in unity 2020 ( #3178 )
2022-06-10 22:25:38 +09:00
Robin Rolf
d48d59cc08
fix: SWT header lookup needs to be case insensitive ( #3176 )
...
* fix: SWT header lookup needs to be case insensitive
See https://github.com/vis2k/Mirror/issues/3175
Closes #3175
* fix: SWT skips headers just ending in the key name
See 3495845b8c
2022-06-09 10:54:23 +08:00
vis2k
7bfa0906b0
Snapshot Interpolation visual example ( #3171 )
2022-06-09 10:53:49 +08:00
vis2k
e04293f980
breaking: SnapshotInterpolation.Compute(): add 'out catchup' for debugging
2022-06-03 16:40:53 +07:00
MrGadget
6de039cf9d
Merge branch 'master' of https://github.com/vis2k/Mirror
2022-05-31 08:29:04 -04:00
MrGadget
77259e1c31
change label text
2022-05-31 08:28:52 -04:00
vis2k
f65b9cadbe
Write/ReadBlittable explanation why private
2022-05-27 22:45:12 +07:00
vis2k
bb8412d5e7
NetworkIdentity Serialization: explain write index
2022-05-26 23:32:08 +07:00
MrGadget
adb66b427c
NetworkBehaviour: Improved logging ( #3165 )
...
* NetworkBehaviour: Improved logging
* NetworkBehaviour: Improved logging
2022-05-25 14:33:23 -04:00
MrGadget
50e6bb1101
Online scene removed Safety plane
2022-05-14 12:20:30 -04:00
MrGadget
8139c28ff0
Online scene lighting
2022-05-14 12:19:55 -04:00
MrGadget
4c52c13160
Removed CanvasRenderer
2022-05-14 12:10:27 -04:00
MrGadget
e0e098531e
fixed NetworkManager Script Tempate
...
- broken by PR #3158
2022-05-13 10:32:44 -04:00
MrGadget
6ac03a02d6
Improved Chat example
2022-05-13 10:09:49 -04:00
MrGadget
876adb8f42
Improved Chat example
2022-05-13 09:54:12 -04:00
MrGadget
e27a1cd1e7
Improved Chat example
2022-05-13 09:39:22 -04:00
vis2k
096fe38080
breaking: OnError(Exception) changed to OnError(enum, reason) ( #3158 )
...
* TransportError
* adjust mirror
* obsoletes
* adjust transports
* Refused
2022-05-13 17:28:47 +08:00
vis2k
a2d35b82b6
Transport syntax: group fields together
2022-05-12 12:36:48 +08:00
vis2k
91e2a0f79b
feature: kcp2k V1.19: OnError ErrorCodes
2022-05-12 10:30:59 +08:00
MrGadget
d3fa0c67e5
fix: NetworkClient - Check for duplicate sceneId ( #3157 )
...
* fix: NetworkClient - Check for duplicate sceneid
* renamed local var
* Update NetworkClient.cs
Co-authored-by: vis2k <info@noobtuts.com>
2022-05-12 00:06:43 +08:00
MrGadget
a8202e5d0c
renamed local var
2022-05-11 10:59:10 -04:00
MrGadget
c35ddd20db
fix: NetworkClient - Check for duplicate sceneid
2022-05-11 10:41:10 -04:00
vis2k
1e40bb4f00
NetworkClient/NetworkServer OnTransportError now logs a warning instead of an exception, indicating that it's a transport error and that it's fine. otherwise all kcp info/warnings would now be logged as exceptions
2022-05-08 10:51:22 +08:00
vis2k
ed8911dfef
NetworkServer.OnError renamed to OnTransportError for consistency
2022-05-08 10:46:04 +08:00
vis2k
4c758c25dc
NetworkClient.OnError renamed to OnTransportError for consistency
2022-05-08 10:45:31 +08:00
vis2k
35f1f225f3
fix: kcp2k V1.18
...
- feature: OnError to allow higher level to show popups etc.
- feature: KcpServer.GetClientAddress is now GetClientEndPoint in order to
expose more details
- ResolveHostname: include exception in log for easier debugging
- fix: KcpClientConnection.RawReceive now logs the SocketException even if
it was expected. makes debugging easier.
- fix: KcpServer.TickIncoming now logs the SocketException even if it was
expected. makes debugging easier.
- fix: KcpClientConnection.RawReceive now calls Disconnect() if the other end
has closed the connection. better than just remaining in a state with unusable
sockets.
=> error handling based on #3155
=> fixes #3143
2022-05-08 10:42:32 +08:00
MrGadget
c65eed8ea8
Merge branch 'master' of https://github.com/vis2k/Mirror
2022-05-06 12:20:34 -04:00
MrGadget
efa2b3d4ca
Syntax
2022-05-06 12:20:23 -04:00
MrGadget
876d6d86dc
removed private
2022-05-06 12:19:50 -04:00
vis2k
818e0ca9fd
NetworkServer.SendToObservers: use explicit NetworkConnectionToClient type
2022-04-29 19:01:26 +08:00
vis2k
298435001a
fix : #3144 Reader/Writer Sprite null support & test to guarantee it never happens again
2022-04-29 10:08:33 +08:00
vis2k
f413c91cde
Test: Reader/Writer Sprite
2022-04-29 10:05:23 +08:00
vis2k
ae1c7c5fe4
fix : #3144 Reader/Writer Texture2D null support & test to guarantee it never happens again
2022-04-29 09:59:52 +08:00
vis2k
b709453057
fix: NetworkReader/Writer Texture2D now sends dimensions too. fixes "Texture2D.SetPixels32: size of data to be filled was larger than the size of data available in the source array. (Texture '')"
2022-04-29 09:55:19 +08:00
vis2k
d235037954
fix: NetworkReader.ReadTexture2D fixed 'reader not found for Color32[]' error when using it from tests
2022-04-29 09:44:58 +08:00
vis2k
3a742bb7da
Tests: NetworkReader/Writer Texture2D tests added
2022-04-29 09:44:54 +08:00
vis2k
728e6e2fdf
syntax
2022-04-28 18:53:37 +08:00
vis2k
6c1dc5255e
remove unused import
2022-04-20 10:33:53 +08:00
vis2k
1aaa4ce2a4
perf: Cmd/Rpc bandwidth hash size reduced from 4 => 2 bytes ( #3148 )
2022-04-20 11:33:14 +08:00
vis2k
98d7a9d7d1
NetworkReader/Extensions: inlining ReadBlittable is enough. Don't inline ReadInt etc. too, we don't want ReadBlittable to be copied in place everywhere.
2022-04-20 10:28:30 +08:00
vis2k
4ffb9dfafc
NetworkWriter/Extensions: inlining WriteBlittable is enough. Don't inline WriteInt etc. too, we don't want WriteBlittable to be copied in place everywhere.
2022-04-20 10:26:43 +08:00
vis2k
cebfab010f
fix: Benchmark movement destinations set around start, not around position. prevents them from stopping to move because of the wander off protection.
2022-04-19 13:29:38 +08:00
MrGadget
99d3a91f17
Fixed Authenticator Comments
...
- Fixes #3146
2022-04-18 22:58:16 -04:00
MrGadget
2db726df2e
fix: TeamInterestManagement OnDestroyed logic
2022-04-18 09:07:15 -04:00
MrGadget
0e9d86f563
breaking: Removed Obsoletes ( #3142 )
...
* Removed Experimental NetworkTransform
* NetworkRoomManager: Removed Obsoletes
* NetworkTransformBase: Removed Obsoletes
* NetworkBehaviour: Removed Obsoletes
* NetworkManager: Removed Obsoletes
* NetworkServer: Removed Obsoletes
* SyncObject: Removed Obsoletes
* fixed comment
* fixed XML comment
2022-04-18 08:05:53 +07:00
MrGadget
8d07be97ed
fixed XML comment
2022-04-17 12:40:17 -04:00
MrGadget
63fdd53903
fixed comment
2022-04-17 12:23:44 -04:00
vis2k
3839fafade
remove unused import
2022-04-17 14:16:36 +08:00
vis2k
bec8e01c69
MIRROR_66_0_OR_NEWER
2022-04-17 14:01:24 +08:00
MrGadget
9c47d87bce
XML Comments
2022-04-16 12:46:33 -04:00
MrGadget
c86deedbd9
Updated NetworkStatistics
...
- Reorganized to method call order
- Added component attributes
- XML comments for docs
2022-04-16 12:24:15 -04:00
vis2k
4d0cd1054a
fix : #3138 , 3135 revert Cmd/Rpc from 2 byte indices back to 4 byte function hashes for stability ( #3139 )
...
* Revert "fix: Weaved static constructors need to always run (#3135 )"
This reverts commit b0624b2f64
.
* Revert "perf: Rpcs/Cmds functionHash bandwidth reduced from 4 => 2 bytes (with the potential for 1 byte VarInt) (#3119 )"
This reverts commit a868368eca
.
* comment
2022-04-16 19:53:55 +07:00
MrGadget
3dba6a3833
NetworkRoomManager log update
2022-04-15 11:25:14 -04:00
Robin Rolf
b0624b2f64
fix: Weaved static constructors need to always run ( #3135 )
...
Static constructors are lazily called when the class is first "used"
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/static-constructors
> It is called automatically before the first instance is created or any static members are referenced.
This means, in particular circumstances, client and server may diverge on which classes they have "loaded"
and thus the rpc index will be desynced
One such example would be on-demand-loading of prefabs via custom spawn handlers:
A game might not want to preload all its monster prefabs since there's quite many of them
and it is practically impossible to encounter them all (or even a majority of them) in a single play
session.
So a custom spawn handler is used to load the monster prefabs on demand.
All monsters would have the "Monster" NetworkBehaviour class, which would have a few RPCs on it.
Since the monster prefabs are loaded ONLY when needed via a custom spawn handler and the Monster class
itself isn't referenced or "loaded" by anything else other than the prefab, the monster classes static
constructor will not have been called when a client first joins a game, while it may have been called
on the server/host. This will in turn cause Rpc indexes to not match up between client/server
By just forcing the static constructors to run via the [RuntimeInitializeOnLoadMethod] attribute
this is not a problem anymore, since all static constructors are always run and all RPCs will
always be registered by the time they are used
2022-04-12 12:00:15 +08:00
MrGadget
3188472f74
Syntax: same method grouping as NetworkReaderExtenstions
2022-04-11 09:42:23 -04:00
MrGadget
2f76c73c41
fix: NetworkWriterExtensions:WriteTexture2D call WriteArray instead of Write
2022-04-11 09:12:35 -04:00