Commit Graph

4489 Commits

Author SHA1 Message Date
vis2k
2cacb89fae breaking: fix: kcp2k V1.16
- fix: SendUnreliable respects ArraySegment.Offset
- fix: potential bug with negative length (see PR #2)
- breaking: removed pause handling because it's not necessary for Mirror anymore
2022-01-06 20:49:59 +08:00
vis2k
7e0f649f59 Tests: MessagePacking.GetId<T> 2022-01-06 20:06:32 +08:00
vis2k
35be99c5d9 missed an interest management obsolete 2022-01-06 14:17:59 +08:00
vis2k
76fe9759c6 remove unnecessary unsafe keyword 2022-01-06 13:22:23 +08:00
vis2k
dde8cc48f3 string interpolation 2022-01-06 13:19:25 +08:00
vis2k
e14da7a2a0 breaking: removed legacy NetworkVisibility system 2022-01-06 12:59:46 +08:00
vis2k
04a73b94a3 syntax 2022-01-06 12:52:14 +08:00
vis2k
8d00436a8d syntax 2022-01-06 12:27:37 +08:00
vis2k
90ee471bb8 simplify OnSerialize 2022-01-06 12:26:38 +08:00
vis2k
f77396b404 VarInt: remove redundant check 2022-01-06 12:22:38 +08:00
vis2k
eff3687a19 Revert "fix: NetworkManagerHUD use NetworkManager.singleton"
This reverts commit 294011803b.
2022-01-05 17:56:53 +08:00
vis2k
d17f91c447 syntax 2022-01-05 17:54:38 +08:00
MrGadget1024
893cb4590a fix: InterestManagement Awake
- Don't check for active server or client
- static `aoi` must always be set
2021-12-29 08:19:27 -05:00
MrGadget1024
294011803b fix: NetworkManagerHUD use NetworkManager.singleton 2021-12-28 16:06:58 -05:00
MrGadget1024
b659bde111 fix: fixed warnings 2021-12-28 16:05:35 -05:00
MrGadget1024
502d0913d4 fix: fixed warnings 2021-12-28 15:56:18 -05:00
MrGadget1024
473b9f1760 fix: RuntimeInitializeOnLoadMethod BeforeSceneLoad
- RuntimeInitializeLoadType.BeforeSceneLoad is requred so methods with this attribute fire BEFORE Awake
2021-12-28 15:13:19 -05:00
MrGadget1024
e7cec4f943 fix: Fixed PlayerCamera scripts in examples
- can't unparent camera in OnDisable
- Player may be in a subscene so put camera in active scene after unparenting so it's not lost if additive is unloaded.
- Moving player object between subscenes unexpectedly fires OnDisable & OnEnable...who knew?
2021-12-27 07:58:12 -05:00
MrGadget1024
78275ab558 fix: SetClientNotReady must always notify client
- Client may have locally set itself ready
- OnServerReady may be overridden so Server may have the conn as not ready (desync)
2021-12-27 07:48:17 -05:00
MrGadget1024
d5cc5e089c syntax 2021-12-26 06:23:34 -05:00
MrGadget1024
e0016e815a fix: Improved Portal script
- SyncVar for labelText
- Regex for pretty name
2021-12-26 06:14:21 -05:00
MrGadget1024
29fec273cb fix: NetworkStartPosition use Start instead of Awake
- NetworkManager::ResetStatics fires after scene object's MonoB.Awake and wipes the static list
2021-12-25 10:06:09 -05:00
MrGadget1024
9c8f89aec1 fix: MultiSceneNetManager first client in first subscene 2021-12-25 10:01:08 -05:00
MrGadget1024
c18d15fd16 fix: moved MirrorIcon to Editor folder
- excludes it from builds
2021-12-25 09:12:47 -05:00
MrGadget1024
a5245d2317 fix: Updated Player prefabs in examples
- Added PlayerCamera component
  - sepatates camera setup from movement controller
- Lowered max turn speed
- Reset NT components
2021-12-25 09:11:53 -05:00
vis2k
cf94a9b563 syntax 2021-12-21 12:04:22 +01:00
vis2k
dabb01a2f6 syntax 2021-12-21 11:57:24 +01:00
vis2k
759bd14833 NetworkReader/Writer: Read/WriteBlittableNullable to remove redundant code 2021-12-21 11:53:03 +01:00
vis2k
0cdfbf2446 remove unused UIntFloat/Double/Decimal 2021-12-21 11:51:30 +01:00
vis2k
723c5cd441 NetworkWriterTest: add little endian check to guarantee Write/ReadBlittable behaviour 2021-12-21 11:50:58 +01:00
vis2k
4cf0554ae1
perf: NetworkWriter/Reader Write/ReadBlittable<T> for 4-6x performance improvement! (based on #2441) (#3036)
* ReadBlittable

* WriteBlittable

* use ReadBlittable everywhere

* use WriteBlittable everywhere

* char is not blittable

* adjust test
2021-12-21 11:47:30 +01:00
MrGadget
bfb7041ca5
feat: Reader Writer support for Sprite (#3034) 2021-12-21 09:31:10 +01:00
MrGadget
02b8a29914
fix: Use IsNullOrWhiteSpace instead of IsNullOrEmpty (#3033)
- IsNullOrWhiteSpace covers null, empty, and just whitespace.
2021-12-17 23:38:55 +01:00
MrGadget1024
65d99c7a2c moved SyncVar up 2021-12-17 17:22:33 -05:00
MrGadget1024
6d50a5647e moved ResetStatistics up 2021-12-17 17:20:59 -05:00
MrGadget1024
c730ec18c6 Added ResetStatics to Player in Chat example 2021-12-17 14:57:42 -05:00
MrGadget1024
279962579c feat: Updated Chat Example
- Now uses Network Authenticator
- ChatUI is now a networked object with Cmd/Rpc
- Player is much simplified
- LoginUI is a separate canvas
- Login and server HUD combined into one panel
2021-12-17 14:31:42 -05:00
MrGadget1024
de45f8d199 fix: Fixed Debug.Log lines 2021-12-17 11:57:54 -05:00
MrGadget1024
57dfc401c0 syntax 2021-12-17 11:01:19 -05:00
MrGadget1024
942a0383b0 Updated Authenticator Template 2021-12-17 10:26:08 -05:00
MrGadget1024
5a430d3606 Updated Authenticator Template 2021-12-17 10:08:51 -05:00
MrGadget
d92c1cbded
feat: Support Fast Enter Playmode (#3028)
* feat: Support Fast Enter Playmode
- Uses [RuntimeInitializeOnLoadMethod] to reset statics

* fixed namespace

* Added comment

* Don't clear cmdHandlerDelegates

* Don't set aoi null

* renamed Init to Reset in static classes

* renamed method to ResetStatics

* renamed one too many

* marked NetworkServer.Shutdown with RuntimeInitializeOnLoadMethod

* Added RuntimeInitializeOnLoadMethod to NetworkClient.Shutdown

* renamed NetworkTime.Reset to ResetStatics

* reverted changes to Player
- Will be changing Chat example in master

* Renamed NetworkManager.Shutdown to ResetStatics

* fixed comment

* NetworkServer now calls NetworkIdentity.ResetStatics from its Shutdown

* Updated NetworkManagerTest::ShutdownTest

* Updated NetworkServerTest::ShutdownCleanup

* Updated NetworkServerTest::ShutdownCleanup

* Updated NetworkClientTest::ShutdownCleanup

* comments

* Call NetworkIdentity.ResetStatics from NetworkClient.Shutdown
2021-12-16 18:37:20 +01:00
vis2k
82d42591b6
fix: KcpTransport force disables nonalloc when building with IL2CPP (#3030) 2021-12-16 11:08:02 +01:00
MrGadget1024
16e2539efb fix: restored base method calls to NetworkRoomManager 2021-12-14 18:01:53 -05:00
MrGadget1024
78690e7c0d fix: NetworkClient.Shutdown - added all statics 2021-12-14 08:37:16 -05:00
MrGadget1024
0ab31c0c96 fix: NetworkServer.Shutdown - Reset more things 2021-12-14 07:10:54 -05:00
MrGadget1024
950c0cbbd8 fix: NetworkServer Shutdown - added OnErrorEvent = null 2021-12-14 06:57:17 -05:00
MrGadget
c237db48df
fix: Transport default channel = Reliable (#3026) 2021-12-14 09:17:52 +01:00
vis2k
0dea29d741
SnapshotInterpolation: HasEnough, HasEnoughWithoutFirst helper functions for easier understandable code and to prepare for HasEnough check improvements (#3029) 2021-12-14 09:15:54 +01:00
MrGadget1024
a5e189a8c2 syntax 2021-12-13 11:27:53 -05:00
MrGadget1024
abe7d39b65 fix: TeamInterestManagement IsNullOrEmpty checks 2021-12-13 10:48:24 -05:00
MrGadget
88fe9f9820
breaking: NetworkAuthenticator OnClientAuthenticated Changed (#3027)
- No longer passes `NetworkConnection` on Client
- Use `NetworkClient.connection` within your event hanlder

This is only breaking for users that assigned their own events to OnClientAuthenticated in the inspector. Everything else related to an Authenticator works the same with no changes needed because nearly all Authenticator mechanisms are private.

Deprecating would be worse than not in this case, since custom user-made handers would be the far uncommon case as far as I know.
2021-12-13 13:39:30 +01:00
vis2k
ad739e66ff Snapshot Interpolation HasAmountOlderThan: improve explanation 2021-12-13 09:08:38 +01:00
MrGadget1024
17da96c5d9 comments 2021-12-12 21:37:30 -05:00
MrGadget1024
ad4f30df63 Basic example: added missing namespace 2021-12-12 08:29:26 -05:00
MrGadget1024
7366ba3bff fix: fixed deprecated dates 2021-12-12 08:20:48 -05:00
MrGadget1024
985d8af5d4 additive levels - fixed timer 2021-12-12 07:53:51 -05:00
MrGadget1024
0445af105d template syntax 2021-12-12 07:45:27 -05:00
MrGadget
d6048911f2
fix: Obsolete NetworkConnection param in client callbacks (#2820)
* Obsoletes NetworkConnection param in client callbacks
- Use NetworkClient.connection instead

* fixed comments

* fixed more comments

* fixed more comments

* Restored original calls to virtuals with pragmas

* Call both old and new methods where possible

* added comments

* updated deprecated date

* fix parameters

* fixed examples

* comments
2021-12-11 12:16:26 -05:00
MrGadget1024
54756ee8d9 restored changes to NT template 2021-12-11 10:14:22 -05:00
JesusLuvsYooh
e941fd9e5b
NetworkTransform Improvements Reeeeesubmission (#3025)
* NetworkTransform Improvements Reeeeesubmission

1: Optional boolean to allow onlySyncOnChange.

2: Checks if pos/rot/scale changed, if not, sends the value as null (1byte)

* NetworkTransform Improvements +defines

1: Optional boolean to allow onlySyncOnChange.

2: Checks if pos/rot/scale changed, if not, sends the value as null (1byte)

Contains the bundle of latest NT adjustments from the squad.
#3013
#3021
#3019
#3018

Along with a fix for applying latest snapshot, if it exists, before applying local data.
#3024
2021-12-11 09:59:34 -05:00
vis2k
b0b01938e6 fix: #3022 kcp2k V1.15 - MaxRetransmit aka dead_link is now configurable. fixes issues where dead_link may have been too low causing premature disconnects. Default is now '40' instead of Kcp.DEAD_LINK '20'. 2021-12-11 12:55:33 +01:00
vis2k
c08ceb6a82 fix: #3024 Revert NT Bandwidth savings for now 2021-12-11 10:04:01 +01:00
MrGadget1024
4ab59248ab fix: Simplified Portal script 2021-12-10 16:50:55 -05:00
MrGadget1024
c206bb02f9 AdditiveLevels - simplified UI LookAt 2021-12-10 11:37:08 -05:00
MrGadget1024
b11f8c5710 Updated Basic Example
- Moved some code from PlayerUI to Player
- smaller data types
- organization
2021-12-10 11:12:53 -05:00
vis2k
abc521eebc add comment for clarity 2021-12-10 16:09:49 +01:00
MrGadget1024
e5ea17a452 Additive Levels refinements 2021-12-09 18:52:09 -05:00
JesusLuvsYooh
df6a241d19
perf: NetworkTransform smart sync. (#3021)
* NetworkTransform smart sync.

Checks if pos/rot/scale changed, if not, sends the value as null (1byte)

So if someone has rotation and position turned on, but just rotates around Y, they save almost an entire pointless Vector3 position being sent.

- Again, majority of credits to Ninja.

* NetworkTransform smart sync. B

Adjusted to default(Vector3?)/Quat as requested.

Checks if pos/rot/scale changed, if not, sends the value as null (1byte)

So if someone has rotation and position turned on, but just rotates around Y, they save almost an entire pointless Vector3 position being sent.

- Again, majority of credits to Ninja.

* NetworkTransform smart sync. C

Line break added at end of file? as requested.
Adjusted to default(Vector3?)/Quat as requested.

Checks if pos/rot/scale changed, if not, sends the value as null (1byte)

So if someone has rotation and position turned on, but just rotates around Y, they save almost an entire pointless Vector3 position being sent.

- Again, majority of credits to Ninja.
2021-12-09 22:27:53 +01:00
MrGadget
126f6339ea
fix: Explicit types for default nullables (#3020)
* fix: Explicit types for default nullables

* Added unit tests

* Improve Nullable Guid

* more tests
2021-12-09 22:25:02 +01:00
Samuel Schultze
31d2830f9b
fix(simpleWeb): ignore headers case when checking handshake key (#3016) 2021-12-08 17:22:29 +01:00
MrGadget1024
cd68d025fe syntax 2021-12-08 09:43:46 -05:00
MrGadget1024
d4918f4ca3 feat: NT Uses less bandwidth
- updated template
2021-12-08 07:30:20 -05:00
MrGadget1024
a5283ac5ce don't sync turret position 2021-12-08 07:13:21 -05:00
MrGadget1024
e15ca55426 Minor updates to Tank example 2021-12-08 07:06:26 -05:00
MrGadget
0b81f28193
Rename onlySendOnMove to onlySyncOnChange (#3019) 2021-12-08 07:02:51 -05:00
JesusLuvsYooh
b9ae34cb01
Interactable Tank Turret A (#3017)
Added NetworkTransformChild, set target as Turret
Adjust NTC and NT variables
Dragged ProjectileMount and Spot Light into Turret, so they all move together.
Added RotateTurret code
Updated current CmdFire to use projectileMount.rotation
2021-12-08 12:29:06 +01:00
JesusLuvsYooh
fececf4778
Shortened variable name. (#3018)
Shorted timeMultiplierToResetBuffers to bufferResetMultiplier as requested.
2021-12-08 06:18:07 -05:00
JesusLuvsYooh
3d78235d05
fix: onlySendOnMove for new NetworkTransform (#3013)
* onlySendOnMove for new NetworkTransform

Majority of credits to Ninja.
Check comments, tooltips, and messages us if further clarification needed.

* onlySendOnMove for new NetworkTransform B

Majority of credits to Ninja.
Check comments, tooltips, and messages us if further clarification needed.

* onlySendOnMove for new NetworkTransform C

- added defines by request, to easier revert or disable new addition.

Majority of credits to Ninja.
Check comments, tooltips, and messages us if further clarification needed.

* onlySendOnMove for new NetworkTransform D

- added defines by request, to easier revert or disable new addition.
- added cachedSnapshotComparison by request.
- adjusted default variable and buffer check + thoroughly tested.
Majority of credits to Ninja.
Check comments, tooltips, and messages us if further clarification needed.

* onlySendOnMove for new NetworkTransform E

- code style => && adjusted as requested
- added defines by request, to easier revert or disable new addition.
- added cachedSnapshotComparison by request.
- adjusted default variable and buffer check + thoroughly tested.
Majority of credits to Ninja.
Check comments, tooltips, and messages us if further clarification needed.
2021-12-07 20:59:56 +01:00
vis2k
96303fc285 add TODO 2021-12-07 10:06:14 +01:00
JesusLuvsYooh
e69dfb2ee3
Optimised example game textures. (#3014)
* Optimised example game textures.

The 6 skyboxes for AdditiveLevels
Lowered from 4k .png (50 mb per image)
 to 1k .jpg (70 kb per image)

* Delete .vsconfig

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
2021-12-06 15:12:34 -05:00
MrGadget1024
4e73489752 Added [ServerCallback] on Int. Mgmt. virtuals 2021-12-02 18:21:26 -05:00
MrGadget1024
3a1a97f759 Updated Custom Interest Mgmt Template 2021-12-02 18:20:14 -05:00
MrGadget1024
051ebd9b26 Updated NetworkRoomManager 2021-12-02 07:55:48 -05:00
MrGadget
9c95219a9b
Suppress Cmds when conn not ready (#3011) 2021-12-02 13:55:21 +01:00
MrGadget
c291932717
fix: Suppress Commands When Not Ready (#3009)
* fix: Suppress Commands When Not Ready

* typo

* reverted change to separate PR
2021-12-02 13:54:55 +01:00
MrGadget
38c641b948
feat: Added Reset to Interest Management (#3008)
* feat: Added Reset to Interest Management
- Used in Distance and Spatial to reset `lastRebuildTime`.

* Updated Template

* Update Assets/Mirror/Runtime/NetworkServer.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-12-02 13:54:39 +01:00
MrGadget1024
9862af3aa5 Updated Template 2021-12-01 12:37:40 -05:00
MrGadget1024
bd562a609b fix: NT2 - public virtual void Reset 2021-12-01 12:01:06 -05:00
MrGadget1024
be23d3a67a fix: Updated Chat example 2021-12-01 08:01:11 -05:00
MrGadget1024
65f6c09599 updated examples
- syntax
- comments
2021-12-01 06:24:04 -05:00
vis2k
ee4399b3ce fix: kcp2k V1.14 [2021-11-30]
- fix: Send() now throws an exception for messages which require > 255 fragments
- fix: ReliableMaxMessageSize is now limited to messages which require <= 255 fragments
2021-11-30 10:28:40 +01:00
MrGadget1024
dc60d0e6c8 Additive Levels Improvements
- Skybox with fog
- ground plane larger and fixed color
2021-11-29 13:17:20 -05:00
MrGadget1024
1324d59901 adjusted font 2021-11-29 11:33:22 -05:00
MrGadget1024
e4b5a8f975 removed extraneous code 2021-11-29 11:18:33 -05:00
MrGadget1024
259e61411c Disabled Debug logging in Portal script 2021-11-29 11:15:19 -05:00
vis2k
975828f3dc
fix: "Spawned object not found when handling Command message" for unreliable commands which may have arrived before spawning, e.g. for NetworkTransform (#3007) 2021-11-29 11:13:03 -05:00
vis2k
78d9f948f2 feature: NetworkServer RegisterHandler / WrapHandler version with channelId parameter 2021-11-29 16:51:14 +01:00
MrGadget1024
fb27a4f760 Added Debug logging 2021-11-29 10:32:06 -05:00
MrGadget1024
40d551fe2f fixed portal label 2021-11-29 09:18:16 -05:00