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