1,281 Commits over 1,371 Days - 0.04cph!
Add NetTransmission flag support when using SendMessage via Steam Sockets
Some cleanup - fix issue where system isn't initialized so can't serialize. Could be wrong here, but only one system can be active so just use that.
Remove this log
system must be set to SendMessage to a Connection. Fix an issue with SenderId when receiving a TargetedMessage - this can't be local, so try to find the connection but if we can't find it just use the source.
Serialize TargetMessage flags as byte
Initial branch commit for dedi server message routing
* Try to synchronize Connection State through ConnectionInfo where possible
* Use Connection.All for filtered broadcasts so that will use ConnectionInfo if exists
* TargetedMessage support for byte[] array for already packed messages, and pass in NetTransmission flags for routing as well
* For now, one idea is to override SendRawMessage on MockConnection - for these type of Connection we can route through the host
Store Connection internal state if ConnectionInfo doesn't exist then we can just use that
Better synchronization of Connection State - now working as it was before, but should also synchronize other clients properly when on a dedicated server
For filtered connection list / broadcast - if we're the host then use the connections we have, otherwise we should use Connection.All
Include Connection with available connections when broadcasting - as Dedicated Server won't be included in Connection.All (maybe it should, or maybe people should just use Connection.Host)
Fix exec command not working with spaces in dir for these csproj files
Include Connection with available connections when broadcasting - as Dedicated Server won't be included in Connection.All (maybe it should, or maybe people should just use Connection.Host)
For filtered connection list / broadcast - if we're the host then use the connections we have, otherwise we should use Connection.All
Better synchronization of Connection State - now working as it was before, but should also synchronize other clients properly when on a dedicated server
Store Connection internal state if ConnectionInfo doesn't exist then we can just use that
Initial branch commit for dedi server message routing
* Try to synchronize Connection State through ConnectionInfo where possible
* Use Connection.All for filtered broadcasts so that will use ConnectionInfo if exists
* TargetedMessage support for byte[] array for already packed messages, and pass in NetTransmission flags for routing as well
* For now, one idea is to override SendRawMessage on MockConnection - for these type of Connection we can route through the host
Implement basic viewing of net stats per connection in Networking tab of Console - GetStats public on Connection for this to be available ( https://files.facepunch.com/conna/1b2111b1/Medal_Pzi3rxHXV8.mp4 )
Tab views for in-game console, defaults to console output, can switch to networking stats (empty page for now)
Left this opacity low by mistake
Tab views for in-game console, defaults to console output, can switch to networking stats (empty page for now)
Left this opacity low by mistake
Left this opacity low by mistake
Tab views for in-game console, defaults to console output, can switch to networking stats (empty page for now)
Run-DedicatedServer will load garry.scenemap instead of empty map / minimal for Walker
Added interp_debug ConVar and simple representation using sphere gizmos (white is the current interpolated position, cyan is the target position)
Added Show Interpolation Debug options to debugging menu and Game Debug context menus. Fixed toggle not working for Show Physics Debug in Debug menu (use ConsoleSystem.GetValueInt)
Prevent processing any snapshot information from an old owner. Ensure interpolation clear flag is sent when dropping ownership and interpolation is cleared when ownership is changed at all. This resolves a lot of issues in Walker when picking up / dropping / throwing objects.
Fixed query mode Sync vars
Fix error in OnChangePropertySet if the new value is null
[Hide] IsValid on Resource so that it doesn't show Is Valid tickbox in inspector for game resources
Fix Close On Launch not being saved properly in Startup Window (Fixes Facepunch/sbox-issues#5718)
Fix logs being cleared too late when Clear Console On Play is checked (Fixes Facepunch/sbox-issues#6103)
Use safe scale in Transform.ToLocal and Transform.PointToLocal so that it cannot produce NaN or infinity values. This fixes a bug where a child of a parent with a scale of 0,0,0 cannot set position programatically without the position being infinity. It should also fix any other issues with NaN values where ToLocal is concerned (such as GameTransform) in cases where any component of scale was 0.
Don't invoke change callback when loading or deserializing (Fixes Facepunch/sbox-issues#6406)
Make sure CodeGen is using global:: for everything - add a unit test to confirm
Put LONG obsolete method back again so tests pass because someone is still using it (grr)
Restore functionality to clear interpolation over the network with new system
Re-instate these long-obsolete methods for now because something is still using one of them :(
Ensure last update is sent properly when ownership changes (Fixes Facepunch/sbox-issues#6394)
Move ChangeAttribute back to Sandbox.System but put the callback in Sandbox.Game so we don't break anything.
Upgrade ChangeAttribute to support any property not just for [ConVar], so it now works with [Sync], too. Move ChangeAttribute to Sandbox.Game so it can use TypeLibrary for CodeGenerator wrapped property stuff. Resolves Facepunch/sbox-issues#6386
More accurately synchronize Time.Now between clients. Fixes Facepunch/sbox-issues#6326 (at least with the repro they attached.)
Fixed Sync attribute / CodeGenerator wrapped properties ignoring existing modifiers (Fixes Facepunch/sbox-issues#5867)
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