1,270 Commits over 1,371 Days - 0.04cph!
No wonder this wasn't getting received
Custom (INetworkCustom such as NetList/NetDictionary) not including in delta snapshot for now as they handle this sort of thing themselves. Stepping stone
Only run logic in SceneNetworkSystem.OnBecameHost if scene is valid - we could just be in a lobby/party but not in-game
Stash all this work so I can make ubre happy
Stash this as well first
If GameObject isn't valid when trying to call an RPC, call the method anyway but only if we can determine that we have permission to do so - this way we can ensure RPC methods are still not called when they shouldn't be for any given user. (Fixes Facepunch/sbox-issues#6270)
Fixed an issue where if you're Small Fish and disconnect yourself from a created lobby immediately by calling GameNetworkSystem.Disconnect in OnLoad, a TCP socket would remain open preventing you from starting a lobby again. This is because Disconnect is called before the asynchronous method CreateLobbyAsync has finished, so it goes and adds/creates new sockets that never get closed.
Stash all this work so I can make ubre happy
Idea for custom writing / reading data to snapshot per component (if it overrides those methods)
Some docs
Explicit ISnapshotWriter interface
Read snapshot immediately - no need for this prop
Dispose ByteStream properly
Rename to INetworkSnapshot
Component.INetworkSnapshot - improve some docs
Component.INetworkSnapshot - improve some docs
Idea for custom writing / reading data to snapshot per component (if it overrides those methods)
Some docs
Explicit ISnapshotWriter interface
Read snapshot immediately - no need for this prop
Dispose ByteStream properly
Rename to INetworkSnapshot
Rename to INetworkSnapshot
Dispose ByteStream properly
Read snapshot immediately - no need for this prop
Explicit ISnapshotWriter interface
Idea for custom writing / reading data to snapshot per component (if it overrides those methods)
Fix deserializing across network when GameObject reference on a property doesn't exist on the receiving end
Better warning messages on unknown component / gameobject for RPC - try to log the RPC method name, and if unknown component the GameObject name
Don't need to use the RPC filter here this should fix Tony's issue - doing a check inside the RPC callback anyway
Fix parent setting, flush for appropriate game object only, ++
Add undo support / unsaved changes to advanced network settings
Clearer logic for these flags
Only log this message if networking debug is on
Re-enable Nagle by default, Protocol++
Component RPCs sent Id instead of type name string allowing RPCs from multiple components of the same type. Protocol++
Make sure we do include reliable transform update when changing ownership
Squashed commit of the following:
commit 76f039bef3ee819f4b5e0b34179223405196d5bd
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 15:50:41 2024 +0100
Cleanup
commit 7559957d809b94986d20f93f417f69194138782a
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 15:43:55 2024 +0100
Some logs
commit ed9cb58705a97c3889d8d7a4ef97d8895b93dc98
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 15:04:35 2024 +0100
Remove debug log
commit 91c006383091050f87ac0a75b70df02e9ac17498
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 14:54:41 2024 +0100
Remove debugging - fix spike when flushing pending updates
commit a681e665208d87bc99c82ffb9865abc24365caa5
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 14:43:32 2024 +0100
Fix flags
commit 5eee6683b66a3b38390605a1f7ba72aaf51cc68a
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 14:34:28 2024 +0100
More debug
commit f35802593b1e9af772bf91a3eb451cb6c1c6dc3a
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 14:30:52 2024 +0100
Debugging
commit 42e0e1d3d06f4cce830c530e7b2e3943b94921e4
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 12:52:35 2024 +0100
++
commit d2402c9253ef520bdea0b141a393d0baa72a8d82
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 12:46:25 2024 +0100
Initial commit
Remove debugging - fix spike when flushing pending updates
Actually log the result code from SendMessageToUser so can debug issues here
NetworkSpawnRemote after all NWOs from snapshot deserialized but before callback batch to ensure references exist ( Fixes Facepunch/sbox-issues#6086 )
Add global:: to generated code for attributes with CodeGenerator ( Fixes Facepunch/sbox-issues#6055 )
Branch for experimenting and fucking around with networking w/ diagnostics
Test trying to reduce packet sizes a lot
Only do parent rpc if we're network root
Change order here
Go back to reliable test
Test
Reduce initial size
Test unreliable again
Unreliable transform updates test
Prevent calling Msg_ClearInterpolation for ourselves
Fix
drop older updates
Fix
Remove this log
When flushing pending updates before RPC calls - send reliable transform update
Move net stats drawing out into system
Only flush pending updates on reliable RPCs
Some docs
Don't call set parent if we called the rpc
Call these flags Transmission maybe
Some refactor, try to branch out with convar where possible
Make internal for now
Remove net_experiment convar
Network protocol++
Send if unreliable anyway - should be acceptable it'll either drop or not