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.