Commit Graph

6391 Commits

Author SHA1 Message Date
MrGadget
ae44268fb3 Examples - Lighting 2024-09-21 16:32:52 -04:00
MrGadget
297a9014f4 Examples - Lighting 2024-09-21 16:32:51 -04:00
MrGadget
a2566d0c4d Examples - Lighting 2024-09-21 16:32:51 -04:00
MrGadget
ff2f42cba1 fix(Example Prefabs): Reset for 2019 (#3880) 2024-09-21 16:32:51 -04:00
MrGadget
914beea1ed fix(PlayerTest Example): Compatible with 2019 (#3879)
* Terrain 2019

* Lighting

* Baked Lighting

* Lighting color

* Terrain Data
2024-09-21 16:32:51 -04:00
MrGadget
73ce5476b2 fix(Examples): Restored example scenes to 2019 compatibility (#3878) 2024-09-21 16:32:51 -04:00
MrGadget
361ae1f405 fix(Example Prefabs): Reset sendIntervalMultiplier to 1 2024-09-21 16:32:51 -04:00
mischa
75c2487299 Benchmarks: reset send interval multipliers back to 1, otherwise it'll give misleading results 2024-09-21 16:32:51 -04:00
mischa
5b772a32f3 NetworkTransformReliable: remove unused 'lastClientCount' 2024-09-21 16:32:51 -04:00
mischa
ca27f3d6c9 NetworkServer/Client Broadcast: consistent syntax 2024-09-21 16:32:51 -04:00
mischa
cfebe511fa NetworkClient/Server Broadcast: make this easier to read 2024-09-21 16:32:50 -04:00
MrGadget
de3bf5d375 fix(NetworkManager): offlineSceneLoadDelaySeconds -> offlineSceneLoadDelay and Range 0-60 2024-09-21 16:32:50 -04:00
mischa
e623c32a0c feature: NetworkManager gentle offline scene transition after disconnect. allows studios to show a 'Connection Lost!' message for a few seconds before entering a potentially minute long black screen scene load (#3875)
Co-authored-by: mischa <info@noobtuts.com>
2024-09-21 16:32:50 -04:00
mischa
f2c318af49 Revert "Edgegap Plugin: switch to Package Manager dependency (#3845)"
This reverts commit 890f4e6c0b.
2024-09-21 16:32:50 -04:00
mischa
b9e9caa844 Edgegap Plugin: switch to Package Manager dependency (#3845)
* remove Hosting/Edgegap

* pull in the plugin via package manager

* 1.0.7

---------

Co-authored-by: mischa <info@noobtuts.com>
2024-09-21 16:32:50 -04:00
mischa
3caa2cff11 Revert "Benchmark: visRange 999 + NT Reliable"
This reverts commit 3f82e7cd11.
2024-09-21 16:32:50 -04:00
MrGadget
e7484bbd1f fix: Tank Prefabs and Controllers restore compressRotation 2024-09-21 16:32:50 -04:00
MrGadget
0614d2ca5b fix(TankTheftAuto): Removed old Canvas UI 2024-09-21 16:32:49 -04:00
mischa
579554b0b4 Benchmark: visRange 999 + NT Reliable 2024-09-21 16:32:49 -04:00
mischa
9bb17e67bc NetworkReader/Writer: all types of collections are now encoded via count-offsetting (null=0, []=1) for consistency and to prepare for VarUInt compression (this way we won't need zig zag VarInt) (#3869)
* better comments about count offsetting

* NetworkReader/Writer: all types of collections are now encoded via count-offsetting (null=0, []=1) for consistency and to prepare for VarUInt compression (this way we won't need zig zag VarInt)

---------

Co-authored-by: mischa <info@noobtuts.com>
2024-09-21 16:32:49 -04:00
MrGadget
14f387f752 fixed broken tests 2024-09-21 16:32:49 -04:00
MrGadget
780445a237 fix(Tanks): NT bufferResetMultiplier 5 -> 3 2024-09-21 16:32:49 -04:00
JesusLuvsYooh
86ad8cb03d chore(CI): Old code removed from NetworkTransformUnreliable (#3867)
* NetworkTransformUnreliable, removed old code.

* NetworkTransformUnreliable, removed old code.

Missed some, sneaky bugger.

* NetworkTransformUnreliable, tests updated (badly).

Needs looking over.
2024-09-21 16:32:49 -04:00
MrGadget
0bee9bbccb fix(Tanks): Updated Tanks Example
- Send Rate 30
- NT Multiplier 3
2024-09-21 16:32:49 -04:00
Richard Possnett
35c1055e24 feat(SimpleWebTransport): Allow https URI scheme (#3850) 2024-09-21 16:32:49 -04:00
mischa
9ea5b3006a Examples/Benchmark: always show NetworkStatistics 2024-09-21 16:32:49 -04:00
mischa
d3a2023163 Revert "Examples/Benchmark: always show bandwidth"
This reverts commit 8144275ec6.
2024-09-21 16:32:49 -04:00
mischa
5846e48d0c Examples/Benchmark: always show bandwidth 2024-09-21 16:32:49 -04:00
MrGadget
f60c62ccdc fix(MultiplexTransportTest): Can't use lambda discard parameters 2024-09-21 16:32:49 -04:00
MrGadget
3e5a55fa85 fix(FadeInOut): Now based on duration and framerate independent 2024-09-21 16:32:49 -04:00
MrGadget
2cd5823d96 TurretUIPrefab -> turretUIPrefab 2024-09-21 16:32:49 -04:00
MrGadget
7fd8302a63 fix(MultiplexTransportTest): Update tests to use OnServerConnectedWithAddress 2024-09-21 16:32:49 -04:00
MrGadget
b9bfc304d8 fix(Transports): Suppress obsolete warnings 2024-09-21 16:32:49 -04:00
MrGadget
f70d7619f2 fix(NetworkServer): Suppress obsolete warnings 2024-09-21 16:32:49 -04:00
MrGadget
55cb34e965 feat(Transport): Obsoloete OnServerConnected
Use OnServerConnectedWithAddress and pass the remote client address instead
- This allows Mirror to cache the remote client address to save round-trip calls to the transport
2024-09-21 16:32:49 -04:00
MrGadget
6de9697e0c fix(Telepathy): Implement OnServerConnectedWithAddress 2024-09-21 16:32:49 -04:00
MrGadget
ce0f70249b fix(SimpleWebTransport): Implement OnServerConnectedWithAddress 2024-09-21 16:32:49 -04:00
MrGadget
96ddfa040d fix(AutoLANClientController): Use FindAnyObjectByType 2024-09-21 16:32:49 -04:00
JesusLuvsYooh
4bb9b33656 New Example, auto LAN connect + client acting as controller for server. (#3863) 2024-09-21 16:32:49 -04:00
mischa
11cc2bc360 NetworkIdentitySerializationTests: fix SerializeClient_NotInitial_NotDirty test setup so it actually would serialize if dirty 2024-09-21 16:32:49 -04:00
mischa
9d757acdd4 NetworkIdentitySerialization: Reset() function for convenience 2024-09-21 16:32:49 -04:00
mischa
c8b7dcc702 NetworkIdentity.DirtyMasks: syntax simplified further 2024-09-21 16:32:49 -04:00
mischa
c7f12420dc NetworkIdentity.DirtyMasks: syntax simplified 2024-09-21 16:32:49 -04:00
mischa
d1d2691159 Tanks demo fixes 2024-09-21 16:32:49 -04:00
mischa
0a0b5f1c78 fix comment 2024-09-21 16:32:49 -04:00
MrGadget
5a3c274ed8 fix: fixed tests 2024-09-21 16:32:49 -04:00
MrGadget
90afea0c57 fix(LatencySimulation): Implement OnServerConnectedWithAddress 2024-09-21 16:32:49 -04:00
MrGadget
131b2d3022 fix(EncryptionTransport): Implement OnServerConnectedWithAddress 2024-09-21 16:32:49 -04:00
MrGadget
63b7113ec9 fix(MiddlewareTransport): Implement OnServerConnectedWithAddress 2024-09-21 16:32:49 -04:00
MrGadget
e6f2768aaa fix(MemoryTransport): Implemented OnServerConnectedWithAddress 2024-09-21 16:32:49 -04:00
MrGadget
9099b420a9 fix(MultiplexTransport) Implement OnServerConnectedWithAddress 2024-09-21 16:32:49 -04:00
MrGadget
2e20a21125 fix(NetworkServer): RemoveTransportHandlers OnTransportConnectedWithAddress 2024-09-21 16:32:49 -04:00
MrGadget
49baf47c1f feat(Examples): Overhauled Examples (#3858)
* Added Player, Flyer, Tank Controllers

* and the meta

* Removed NT from Tank prefab

* Additive Scenes Player with new controller

* Updated Examples

* fixed healthbar

* Updated TankController

* Fixed MouseSteer

* Updated PlayerController

* Updated PlayerController

* Tank and Controller Updates

* Updated Tanks Navmesh

* Updated Tanks example

* Fixed Tank Model

* Tanks fixed

* Removed commented code

* Controller updates

* Projectile and Controller updates

* Tanks Navmesh

* Fixed navmesh

* Updated Projectile destroyAfter

* Update NavMesh

* Fixed spawn point

* TTA Scene Update

* TTA NavMesh

* TTA Tank Prefab

* Added Tank SeatedPlayer and turretAcceleration

* TTA Scene update

* TTA Scene higher walls

* Improved Projectile and PlayerTest

* Default Mouse Lock on

* IgnoreCollision

* Updated prefabs

* Latest

* Cleanup

* Disable sync position, Compress Rotation, and animation
- Animation is interfering with the controls and the child NT sync.

* Cleanup Reset on Disconnect

* Removed dead scripts
2024-09-21 16:32:49 -04:00
James Frowen
f73d4b87df fix(SimpleWebTransport): increasing default handshake max size (#3857)
Some browsers will send handshake larger than 3k, setting default limit to 16k so user dont have to worry about changing it
2024-09-21 16:32:37 -04:00
MrGadget
2241aa5f92 feat(Transport): Added OnServerConnectedWithAddress (#3855)
* feat(Transport): Added OnServerConnectedWithAddress
Transports can now pass the remote client address directly to NetworkServer Action
- Facliltates ThreadedTransport passing the client Address
- KCP Transport Updated accordingly
- Original OnServerConnected passes ServerGetClientAddress result to NetworkConnectionToClient consrtuctor
- Saves round trips back to the transport for client address whenever it's needed

* formatting

* Simplified

* Cleanup
2024-09-21 16:32:37 -04:00
MrGadget
8860fd927e fix(NetworkConnectionToClient): DestroyOwnedObjects use RemovePlayerForConnection for scene objects instead of UnSpawn
- Scene objects need to stay alive for everyone else by default
- Users can choose to Unspawn for themselves.
2024-09-21 16:32:37 -04:00
MrGadget
7eabb5c5f9 fix(NetworkBehaviour): Skip OnValidate in Editor Play Mode (#3852)
OnValidate only runs in Editor, but can get invoked in PlayMode if user fiddles with the inspector or by other Unity activities.
2024-09-21 16:32:37 -04:00
JesusLuvsYooh
a7ca5d4687 fix(TopDownShooter): Adjusted slanted climbable wall colliders (#3849)
* fix(TopDownShooter): Adjusted slanted climbable wall colliders

* Removed previous colliders.
2024-09-21 16:32:37 -04:00
MrGadget
ca3e660fa5 Revert "fix(AdditiveLevels): Text instead of TMP"
This reverts commit 648fb0a489.
2024-09-21 16:32:37 -04:00
MrGadget
024988d50d fix(AdditiveLevels): Text instead of TMP 2024-09-21 16:32:37 -04:00
MrGadget
2428e7efc7 fix(TopDownShooter): Use FindAnyObjectByType for Unity 2022.2+ 2024-09-21 16:32:37 -04:00
MrGadget
0c395d5d6c fix(SimpleWebTransport): Default setup for reverse proxy 2024-09-21 16:32:37 -04:00
MrGadget
a8fd15b794 fix(NetworkBehaviour): Check for non-zero netId before sending Cmd 2024-09-21 16:32:37 -04:00
mischa
d1aa191550 fix: #3832 NetworkServer.Destroy now doesn't call ResetState for prefabs, fixes isServer flag always being false in OnDestroy (#3848)
* repro

* NetworkServer.Destroy(): refactor to split scene vs. prefab cases more obviously

* fix: #3832 NetworkServer.Destroy now doesn't call ResetState for prefabs, fixes isServer flag always being false in OnDestroy

* fix the runtime test

* Revert "repro"

This reverts commit 3a5a33e8e4.

---------

Co-authored-by: mischa <info@noobtuts.com>
2024-09-21 16:32:37 -04:00
JesusLuvsYooh
4e28b1a2b2 feat: MOVING Platforms to Couch Coop Example (#3847)
* Added MOVING Platforms to Couch Coop Example

No constant network sync, they just resync at start and end destination.

* Optional Platform features.
2024-09-21 16:32:37 -04:00
Robin Rolf
7cfd7d942d feat: NetworkRuntimeProfiler (#3846)
* feat: NetworkRuntimeProfiler

Adds a simple text-based network profiler

* Remove unused avg
2024-09-21 16:32:37 -04:00
JesusLuvsYooh
36dcd0df7d feat: Example, TopDown Shooter. (#3836)
* Shooter topdown checkpoint 1

* Topdown shooter, checkpoint 2

* Topdown checkpoint 3

* Topdown Checkpoint 4

* Topdown shooter checkpoint 5

* Port added to UI Canvas Prefab. (#3835)

* Topdown Shooter, checkpoint 6, Alpha.

Almost finished, as of now, whats left is:
Tidy up
Comment code
Add server defines
Test server-only

* Topdown shooter, server defines and server only tested. Checkpoint 7.

Remaining: Tidy up and Comment code

* TopDown Shooter finished?

* Topdown shooter, fixed PNG size.

* Topdown Shooter tidyup.

Removed unused materials, that remained from 3D version of game.
3D sound ranges and volumes adjusted.

* Topdown Shooter, audio conversion and compression.

* TopDownShooter, note about OnStartServer player list.

Added line space to separate some code for easier reading.
2024-09-21 16:32:37 -04:00
Robin Rolf
0300b57804 fix: new GUID for bouncycastle dll meta file (#3844) 2024-09-21 16:32:37 -04:00
Robin Rolf
37cae8ea79 fix: Namespace BouncyCastle lib to avoid conflicts (#3843)
This uses our fork https://github.com/MirrorNetworking/bc-csharp with the Mirror. prefix
dll is generated by CI: https://github.com/MirrorNetworking/bc-csharp/actions/runs/9582807523 so updating in the future should be as "easy" as rebasing on bouncycastle release branches, fixing any naming via search&replace and making a release to trigger CI
2024-09-21 16:32:37 -04:00
JesusLuvsYooh
fc564507f5 Velocity Iterations made public in NM, Drag on Cube prefabs. (#3842) 2024-09-21 16:32:36 -04:00
MrGadget
99fd7c4357 fix(Hosting): Remove Mirror.Hosting AsmDef as not needed (#3841) 2024-09-21 16:32:36 -04:00
MrGadget
987633ffaf style(Welcome): No stacktrace for Mirror welcome message 2024-09-21 16:32:36 -04:00
mischa
3a794eec20 Edgegap Pplugin updated to 1.0.1 (#3834) 2024-09-21 16:32:36 -04:00
JesusLuvsYooh
08ec1e6cac Port added to UI Canvas Prefab. (#3835) 2024-09-21 16:32:36 -04:00
MrGadget
dcace5548b fix(Extensions): GetPositionAndRotation now excluded for 2022.0 or newer
- Some patch versions of 2021.3 don't have it, some do...this is safer.
- Works as expected in 2021.3.39 and 2022.3.32
2024-09-21 16:32:36 -04:00
mischa
dbbe2d74e8 fix(LatencySimulation): SimulateSend now supports all channels. Fixes a bug where projects with multiple channels could not simulate latency on non-default channels 2024-09-21 16:32:36 -04:00
mischa
dddc9dbe37 syntax 2024-09-21 16:32:36 -04:00
mischa
43608b4b4d LatencySimulation: one Queue for all channels to simplify code and support more channels later 2024-09-21 16:32:36 -04:00
mischa
b5a348519e LatencySimulation: QueuedMessage strongly typed constructor 2024-09-21 16:32:36 -04:00
MrGadget
8015350cbb feat(NetworkServer): Improves RemovePlayerForConnectsion (#3833)
* feat(NetworkServer): Improves RemovePlayerForConnectsion
- Replaces `destroyServerObject` with `RemovePlayerOptions`
- Option to keep the player object on server and clients
- Obsoletes old method by calling new method with correct option
- Examples and Tests updated

* Fixed mistake

* Default to DoNothing

* Fixed comments

* Requested Changes

* Fixed gammar
2024-09-21 16:32:36 -04:00
MrGadget
11d65cea34 Added Empty AddComponent attribute to Example scripts 2024-09-21 16:32:36 -04:00
MrGadget
246a95262d Assigned Mirror icon to Common scripts 2024-09-21 16:32:36 -04:00
MrGadget
1b7b20ad52 Deleted other PlayerCamera scripts in favor of Common 2024-09-21 16:32:36 -04:00
MrGadget
bef8245ef2 Updated Example Player Prefabs to use Common PlayerCamera 2024-09-21 16:32:36 -04:00
MrGadget
90000c84ba Moved PlayerCamera to Common 2024-09-21 16:32:36 -04:00
miwarnec
14d2017229 PredictionUtils: Destroy Source is now optional 2024-09-21 16:32:36 -04:00
MrGadget
49c66ccae5 Renamed WeaverSyncVarTests.SyncVarsCanBeArray 2024-09-21 16:32:35 -04:00
mischa
f51b7878f6 fix(LatencySimulation): implement PortTransport since almost all underlying Transports are PortTransports (#3830)
* fix(LatencySimulation): implement PortTransport since almost all underlying Transports are PortTransports

* Update Assets/Mirror/Transports/Latency/LatencySimulation.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

* Update Assets/Mirror/Transports/Latency/LatencySimulation.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
2024-09-21 16:32:35 -04:00
MrGadget
306052569a fix(NetworkManager): OnGUI DEBUG only 2024-09-21 16:32:35 -04:00
MrGadget
af9994ba57 fix(WeaverAssembler): Silence Obsolete Warning (#3826)
We have #3630 for this...silence warning until Unity tells us what to use instead.
2024-09-21 16:32:35 -04:00
MrGadget
94330010c7 fix(NetworkRoomManager): Hashset instead of List 2024-09-21 16:32:35 -04:00
mischa
23b700d287 KcpTransport: reuse IPEndPoint.PrettyAddress extension 2024-09-21 16:32:35 -04:00
mischa
ba219f7e41 Extensions: IPEndPoint.PrettyAddress 2024-09-21 16:32:35 -04:00
mischa
021ac0b488 Telepathy: moved GetClientAddress exception handling from Transport into Telepathy itself 2024-09-21 16:32:35 -04:00
mischa
14ed0696ec KcpTransport: simplify double ternary for readability 2024-09-21 16:32:35 -04:00
JesusLuvsYooh
8867000315 Fancy camera for couch coop example, and player list. (#3821) 2024-09-21 16:32:35 -04:00
mischa
d94db58c49 fix(NetworkConnection): batches are now properly returned to NetworkWriterPool before destroying the connection (#3815) 2024-09-21 16:32:35 -04:00
mischa
4cb665d3aa fix(NetworkTransform): Awake now also configures syncInterval and syncScale, in case OnValidate wasn't called 2024-09-21 16:32:35 -04:00
mischa
a94718f404 fix(Kcp): V1.41 [2024-04-28]
- fix: KcpHeader is now parsed safely, handling attackers potentially sending values out of enum range
- fix: KcpClient RawSend may throw ConnectionRefused SocketException when OnDisconnected calls SendDisconnect(), which is fine
- fix: less scary cookie message and better explanation
2024-09-21 16:32:35 -04:00
MrGadget
15002c8a44 fix(NetworkServer): Spawn for owner client even when Force Hidden (#3809)
Interest Management does this in Rebuild, but without IM involved, we need to handle this case in RebuildObserversDefault
2024-09-21 16:32:35 -04:00