Commit Graph

5575 Commits

Author SHA1 Message Date
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