- KcpClient: Tick/Incoming/Outgoing can now be overwritten (virtual)
- breaking: KcpClient now takes KcpConfig in constructor instead of in Connect.
cleaner, and prepares for KcpConfig.MTU setting.
- KcpConfig now includes MTU; KcpPeer now works with KcpConfig's MTU, KcpServer/Client
buffers are now created with config's MTU.
* breaking: Remove NetworkClient.serverIP
- If we're never going to set it to anything, no reason to have it.
- Transport has no mechanism to return anything for it
Host client hardcodes `address` to "localhost" in both LocalConnectionToServer and LocalConnetionToClient, so obsolete the former telling users to use the latter if they aren't already.
Users can get the endpoint from NetworkManager or Discovery, as they must be doing now since those work and serverIp does not.
* Update main.yml
* fix: kcp2p V1.30 (#3391)
- fix: set send/recv buffer sizes directly instead of iterating to find the limit.
fixes: https://github.com/MirrorNetworking/Mirror/issues/3390
- fix: server & client sockets are now always non-blocking to ensure main thread never
blocks on socket.recv/send. Send() now also handles WouldBlock.
- fix: socket.Receive/From directly with non-blocking sockets and handle WouldBlock,
instead of socket.Poll. faster, more obvious, and fixes Poll() looping forever while
socket is in error state. fixes: https://github.com/MirrorNetworking/Mirror/issues/2733
* Shortened PingWindowSize to get a faster more accurate result. (#3395)
* Shortened PingWindowSize to get a faster more accurate result.
Shortened PingWindowSize to get a faster more accurate result.
It taking too long to calculate the average may look bad to users
* Revert "Shortened PingWindowSize to get a faster more accurate result."
This reverts commit 0a5916b4dc.
* Revert "Shortened PingWindowSize to get a faster more accurate result."
This reverts commit 0a5916b4dc.
* Shortened PingWindowSize to get a faster more accurate result.
Shortened PingWindowSize to get a faster more accurate result.
It taking too long to calculate the average may look bad to users
* Shortened PingWindowSize to get a faster more accurate result.
Shortened PingWindowSize to get a faster more accurate result.
It taking too long to calculate the average may look bad to users, choosing 6 gives us an average of 3 results, where as the previous 10, would wait for 5, it should be a slight visual improvement.
* fix: Use PingWindowSize instead of hardcoded value (#3396)
fix: Use PingWindowSize instead of hardcoded value
* KcpClient: Tick/Incoming/Outgoing can now be overwritten (virtual)
* RunUnityTests - Updated unityVersion
* fix: Write for non-spawned NB only writes 0 netId (fixes: #3399) (#3400)
* Failing test for non-spawned NB writer/reader
* fix: Write for non-spawned NB only writes 0 netId
Instead of writing 0 and component index which does not match what the reader expects (it will stop reading netId is 0)
Fixes#3399
* breaking: Removed old Unity 2018 / 2019_3 compiler defines (#3397)
- we only suppport Unity 2019.4.40 and later LTS releases.
BREAKING: Removed old 2018 / 2019 compiler defines
* RunUnityTests - try different test reporter
* RunUnityTests commented out Archive and Publish temporarily
* RunUnityTests - disable game-ci built-in test reporter
* RunUnityTests - cleanup
---------
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
Co-authored-by: JesusLuvsYooh <57072365+JesusLuvsYooh@users.noreply.github.com>
Co-authored-by: vis2k <info@noobtuts.com>
Co-authored-by: Robin Rolf <imer@imer.cc>
* Failing test for non-spawned NB writer/reader
* fix: Write for non-spawned NB only writes 0 netId
Instead of writing 0 and component index which does not match what the reader expects (it will stop reading netId is 0)
Fixes#3399
* Shortened PingWindowSize to get a faster more accurate result.
Shortened PingWindowSize to get a faster more accurate result.
It taking too long to calculate the average may look bad to users
* Revert "Shortened PingWindowSize to get a faster more accurate result."
This reverts commit 0a5916b4dc.
* Revert "Shortened PingWindowSize to get a faster more accurate result."
This reverts commit 0a5916b4dc.
* Shortened PingWindowSize to get a faster more accurate result.
Shortened PingWindowSize to get a faster more accurate result.
It taking too long to calculate the average may look bad to users
* Shortened PingWindowSize to get a faster more accurate result.
Shortened PingWindowSize to get a faster more accurate result.
It taking too long to calculate the average may look bad to users, choosing 6 gives us an average of 3 results, where as the previous 10, would wait for 5, it should be a slight visual improvement.
Added in NM to include settings for clamp multiplier.
Added clamp multiplier field in NetworkServer for use in snapshot interpolation, similar to send Interval.
Amended all the function call to InsertAndAdjust to include clamp multiplier.
- fix: set send/recv buffer sizes directly instead of iterating to find the limit.
fixes: https://github.com/MirrorNetworking/Mirror/issues/3390
- fix: server & client sockets are now always non-blocking to ensure main thread never
blocks on socket.recv/send. Send() now also handles WouldBlock.
- fix: socket.Receive/From directly with non-blocking sockets and handle WouldBlock,
instead of socket.Poll. faster, more obvious, and fixes Poll() looping forever while
socket is in error state. fixes: https://github.com/MirrorNetworking/Mirror/issues/2733
* Organize WeaverTypes
- Put all NetworkBehaviors together
- Put Writer with Reader
- Put Remote things together
- moved ScriptableObjectType down
* moved NetworkClientConnectionReference up
We always use a specific reader for NB syncvars, so if a custom defined writer handles data differently this leads to data mismatches.
Supporting custom readers for NB syncvars will just lead to too many edge cases and unexpected behaviour, so dont do it (see https://github.com/MirrorNetworking/Mirror/issues/2680#issuecomment-1435093212 for rationale).
Fixes#2680
When a new client joins in between sending frames, server will serialize a current live position to the client. This may not be the last sent copy to everyone, so when the next send happens, the delta sent will be delta-ed against wrong data.
Other changes:
1) Removed CheckLastSendTime() in OnSerialize(), not needed.
2) Only checking sending/set dirty in LateUpdate(). Other users may require positions updated in
update, and do something to it on LateUpdate().
3) Initialize last snapshot to zeroes in Reset(). For syncOnlyOnChange, sender will check against last sent
snapshot for changes. This needs to be zero on a reset.