1,090 Commits over 1,280 Days - 0.04cph!
Delta Snapshot Slots (#1660)
Test fix for "Unknown Player" has left the game
Put this warning behind a network debug check
Testing disable Nagle's algorithm on snapshots - it may caused delayed snapshots
Some final refactoring of DeltaSnapshot/DeltaSnapshotContainer
Further optimization - this is quicker than WriteArray/ReadArray
Optimization here to only re-serialize changes for snapshots
Optimize lookups - fix bug with reconnecting clients not processing snapshot
Clean up - make things more explicit in seperation of snapshot supported network table entries
Remove this obsolete - it's been obsolete forever
Stash all this work so I can make ubre happy
Stash this as well first
Custom (INetworkCustom such as NetList/NetDictionary) not including in delta snapshot for now as they handle this sort of thing themselves. Stepping stone
++
Logs
No wonder this wasn't getting received
Don't log these now
Test
Remove this now
Go on server time
Test
More tests
Some cleaning
Compress test
Remove for comparison
Pack them up
Some cleanup
Force a single delta snapshot when owner changes to simulate old behavior
Interp test
Revert that
Force a single delta snapshot when owner changes to simulate old behavior
Stash all this work so I can make ubre happy
Stash this as well first
Custom (INetworkCustom such as NetList/NetDictionary) not including in delta snapshot for now as they handle this sort of thing themselves. Stepping stone
++
Logs
No wonder this wasn't getting received
Don't log these now
Test
Remove this now
Go on server time
Test
More tests
Some cleaning
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, ++