Commit Graph

8311 Commits

Author SHA1 Message Date
mischa
e3ed9aca2d fix failing tests 2023-09-18 10:25:40 +02:00
mischa
c903298513
NetworkServer.Destroy: add warning if called on client without server/host to make this more obvious, instead of destroying something locally that doesn't persist on the server (#3604) 2023-09-17 11:01:07 +02:00
mischa
c49d188e8b
feature: NetworkManager.exceptionsCauseDisconnect option (#3605)
* NetworkManager flag

* NetworkMessages handle

* NetworkClient setting

* NetworkSErver setting

* NetworkManager applies it

* this too

* shorter

* bette wording (imer)

* security by default
2023-09-17 10:58:39 +02:00
mischa
94f5a924ff
feature: NetworkTime.predictedTime to prepare for Prediction (#3599)
* feature: NetworkTime.predictedTime to prepare for prediction

* disable log

* NetworkTime.predictedTime simplified: client timeline based on Time.time to fix first 5s being way ahead, history being too old, etc.
2023-09-14 11:30:33 +02:00
mischa
613f84b494 fix: Billiards / BilliardsPredicted ball Rigidbody CollisionMode changed from Continous to ContinousDynamic to fix white flying through red when applying large forces 2023-09-14 11:30:06 +02:00
JesusLuvsYooh
7b49b7d09d
A drag and drop Canvas UI HUD for NetworkManager (#3602)
Scales
Contains features of older OnGUI HUD
Credits to Ninja
2023-09-14 10:02:49 +02:00
mischa
0fce9bcdfb fix: #3595 attempting to sync a Transform that isn't networked will now show a more obvious warning 2023-09-09 12:54:17 +02:00
JesusLuvsYooh
06f1ee09a0
feature: New Example - Character Selection and customisation. (#3593)
* Draft 1

Scene set up, podium and medic character added, minor ui and idle animation.

* Draft 2

3 characters, medic, assault, heavy.
Canvas linked up, along with character data.

* Draft 3

Map scene
Static variables, save data
Custom network manager

* Draft 4

Character pivots rotated.
Animation changes child, not parent position.
Spawn positions added.
Cheat protection for player prefab number added.

* Draft 5

Adding in customisations ontop of separate prefabs.
Player camera.

* Draft 6, part 1 complete.

Finished Player name, player colours.
Part 1 complete
Needs tidying up and code comments.

* Draft 7, checkpoint before next step.

* Draft 8 - Pre-selection and in-game character selection finished?

Pre-selection and in-game selection finished?

* Draft 9

* Draft 10 - CharacterSelection Example

* Draft 11

* Draft 12

* Draft 13
2023-09-07 21:57:22 +02:00
JesusLuvsYooh
796b0711f0
Update CouchPlayerManager.cs (#3592)
Moved some code from Awake to OnStartAuthority to prevent a reference from getting overridden.
Fixes Server/Host from not being able to add its own new local players, if remote players have maxed themselves out.
2023-09-07 10:07:37 +02:00
mischa
fcbf841d84 Billiards Demos: change trail debug line color and time 2023-09-07 09:26:51 +02:00
mischa
d9ef6d855c GUIConsole: don't show in Unity Editor, we already have the Console window there (but keep it as option) 2023-09-06 18:39:38 +02:00
mischa
357e798e25 fix: Unity 2019/2020 compilation failing because ConcurrentQueue<T>.Clear was missing 2023-09-05 09:21:08 +02:00
mischa
55daefab2a grammar fix 2023-09-05 09:17:10 +02:00
mischa
ae496ef0ee NetworkTransformBase: virtual SetPosition/Rotation/Scale for users to overwrite if needed 2023-09-01 15:59:10 +02:00
mischa
02db1b03d5 NetworkTransformBase: virtual GetPosition/Rotation/Scale for users to overwrite if needed 2023-09-01 15:51:18 +02:00
mischa
966c4f2bdd BilliardsPredicted: Player/ folder for PlayerPredicted prefab 2023-09-01 11:54:37 +02:00
mischa
3be960692c BilliardsPredicted: show FPS at runtime 2023-09-01 11:18:28 +02:00
mischa
9aba125566 BilliardsPredicted: fix prefab script references 2023-08-31 11:08:16 +02:00
mischa
34d3777bc3 BilliardsPredicted: script naming 2023-08-31 11:06:36 +02:00
mischa
ff56210a36
feature: Threaded Transport & Threaded KCP (#3582)
* Tools: ThreadLog for thread safe logging in Unity builds

* events

* move folder

* WorkerThread & tests

* ConcurrentPool & Tests

* ConcurrentNetworkWriterPool & Tests

* ThreadedTransport empty

* syntax

* server part

* client part

* separate queues and updates

* separate events for strong typing

* virtual awake

* fix & support uri

* threaded early/late

* threaded kcp!

* private

* simplify

* use threaded callbacks

* active flags

* enabledcopy

* fix ids

* fix onsend

* fix disco param

* fix segment copy

* fix

* comment

* deadlock prevention
2023-08-29 12:57:55 +02:00
JesusLuvsYooh
4405082d4b
Example: Couch Co-Op (#3589) 2023-08-25 14:15:49 +08:00
mischa
9a4e317874 Examples: BilliardsPredicted. copy of Billiards demo, to apply prediction features onto in the future. 2023-08-17 22:11:41 +02:00
mischa
b7fad3e672 Billiards Demo: create prefab from table in hierarchy 2023-08-16 18:36:44 +02:00
mischa
5fba72dc3c Billiards Demo: apply red changes to prefab 2023-08-16 18:36:07 +02:00
mischa
d8bb5ec15e Billiards Demo: move indicator into white ball prefab for ease of use 2023-08-16 18:33:15 +02:00
mischa
b0b6d351b9 Billiards Demo: fix materials 2023-08-16 18:30:09 +02:00
mischa
463028260f Billiards demo: update namespace 2023-08-16 18:02:09 +02:00
mischa
5fa9f4bf65 Readme: updated discord invite 2023-08-15 14:50:35 +02:00
mischa
50e6d5f890
feature: Multiplayer Billiards demo (#3583) 2023-08-13 09:54:21 +02:00
mischa
db241bb413 breaking: NetworkReader/Writer Read/WriteBytesAndSizeSegment renamed to Read/WriteArraySegmentAndSize for clarity. 2023-08-12 19:13:15 +04:00
mischa
e799b08303 syntax 2023-08-12 19:08:15 +04:00
mischa
4d7c5b6e41 Reader/Writer: sort WriteBytes(AndSize) functions 2023-08-12 19:05:20 +04:00
mischa
f05df29639 NetworkIdentity: don't need to show assetId in Inspector 2023-08-12 18:59:24 +04:00
mischa
2a29f6e686 NetworkManager: improve warning about player prefab in spawnable prefabs list 2023-08-11 22:16:13 +04:00
mischa
684a61c964 script icons 2023-08-10 18:07:37 +04:00
mischa
2e1e3bfd9c assign missing icon 2023-08-08 16:40:59 +08:00
mischa
6de9448c4a small cleanups 2023-08-08 16:34:24 +08:00
mischa
877b249add MIRROR_81_OR_NEWER 2023-08-08 16:32:59 +08:00
JesusLuvsYooh
10badbe21c
Adjusted UI scaling in new TanksCoop example. (#3579) 2023-08-06 10:15:42 +08:00
mischa
2365d301e1 SimpleWeb: minimize logging hot path allocations 2023-08-05 13:47:42 +08:00
mischa
d7757e95f2
perf: VarInt compression performance improvements (#3578)
* perf: VarInt compression performance improved by writing multiple bytes at once

* merge byte shifting

* this too
2023-08-05 07:13:16 +02:00
mischa
cd390bfce1 VarInt: tests now cover accidentally duplicating bytes 2023-08-04 19:47:12 +08:00
mischa
17a60915dd
Update README.md 2023-08-04 11:43:56 +02:00
mischa
9d0e90f484
perf: remove O(N) ClearDirtyComponentsDirtyBits calls in NetworkServer.Broadcast() and NetworkClient.Broadcast() (#3575)
* perf: remove O(N) ClearDirtyComponentsDirtyBits calls in NetworkServer.Broadcast() and NetworkClient.Broadcast()

* only for delta [imer]
2023-08-03 14:01:35 +02:00
mischa
594a0f5c79 Examples: added BenchmarkIdle demo to test with 80% idle objects 2023-08-03 12:34:17 +08:00
mischa
e45c8e2e37 typo 2023-08-03 12:09:40 +08:00
JesusLuvsYooh
d2c475409f
feature: NetworkTransform WorldScale option (#3565)
* NT WorldScale option DRAFT - Will test, tidy and comment tomorrow.

Currently NT is local, and in some cases world is needed.

* Updated tooltip etc

All tested, using tanks example, and dragging a player tank into empty gameobject, then this gameobjcets position/rotation/scale and hierarchy changing live during gameplay. Switching to world bool fixes any problems caused by that.

* Enum dropdown, rather than bool as requested.

* Ternary shortcuts

* tab

* adjustments

* better

* cleanup

* force disable world scale

---------

Co-authored-by: mischa <info@noobtuts.com>
2023-08-02 08:21:33 +02:00
mischa
c077b53324 NetworkClient: improve 'did not find target for sync message' warning 2023-08-01 23:19:56 +08:00
mischa
7898b559b9 fix: SimpleWebTransport conditionals removed so users can see error messages 2023-08-01 11:53:43 +08:00
mischa
e92e91dcfd kcp2k V1.37 [2023-07-31]
- fix: #47 KcpServer.Stop now clears connections so they aren't carried over to the next session
- fix: KcpPeer doesn't log 'received unreliable message while not authenticated' anymore.
2023-07-31 18:10:23 +08:00