4,794 Commits over 1,371 Days - 0.15cph!
Update Dedicated Server bootstrap logs
Dedicated Server (#1679)
* 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)
* Serialize TargetMessage flags as byte
* 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.
* Test logs
* 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
* Remove unusued code
* Add NetTransmission flag support when using SendMessage via Steam Sockets
* Don't forget to add arg to header
* Clearer docs here, only log warning if networking debug is enabled here
* Some tidy up here
* Reset local connection state to Unconnected when closing network system - some debug log for other machine
* Close these connections
* Remove this log
* Add Dedicated Server page to Project Config with its own option for a Startup Scene. When loading a game, if we're headless, use that if its set instead of the usual one.
* Don't call INetworkListener.OnActive for dedicated server, similarly don't call OnDisconnected. OnConnected will never get called anyway because it doesn't go through the handshake.
* This bit isn't needed actually
* Test boot back to main menu
* Properly get when disconnected
* Use CollectionExtensions properly
* Fix test, re-add system member
* Fix this state
---------
Co-authored-by: Garry Newman <garrynewman@users.noreply.github.com>
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)
Serialize TargetMessage flags as byte
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.
Test logs
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
Remove unusued code
Add NetTransmission flag support when using SendMessage via Steam Sockets
Don't forget to add arg to header
Clearer docs here, only log warning if networking debug is enabled here
Some tidy up here
Reset local connection state to Unconnected when closing network system - some debug log for other machine
Close these connections
Remove this log
Add Dedicated Server page to Project Config with its own option for a Startup Scene. When loading a game, if we're headless, use that if its set instead of the usual one.
Don't call INetworkListener.OnActive for dedicated server, similarly don't call OnDisconnected. OnConnected will never get called anyway because it doesn't go through the handshake.
This bit isn't needed actually
Test boot back to main menu
Properly get when disconnected
Use CollectionExtensions properly
Fix test, re-add system member
Fix test, re-add system member
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)
Serialize TargetMessage flags as byte
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.
Test logs
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
Remove unusued code
Add NetTransmission flag support when using SendMessage via Steam Sockets
Don't forget to add arg to header
Clearer docs here, only log warning if networking debug is enabled here
Some tidy up here
Reset local connection state to Unconnected when closing network system - some debug log for other machine
Close these connections
Remove this log
Add Dedicated Server page to Project Config with its own option for a Startup Scene. When loading a game, if we're headless, use that if its set instead of the usual one.
Don't call INetworkListener.OnActive for dedicated server, similarly don't call OnDisconnected. OnConnected will never get called anyway because it doesn't go through the handshake.
This bit isn't needed actually
Test boot back to main menu
Properly get when disconnected
Properly get when disconnected
Test boot back to main menu
This bit isn't needed actually
Don't call INetworkListener.OnActive for dedicated server, similarly don't call OnDisconnected. OnConnected will never get called anyway because it doesn't go through the handshake.
Update sbproj with DedicatedServerStartupScene
Add Dedicated Server page to Project Config with its own option for a Startup Scene. When loading a game, if we're headless, use that if its set instead of the usual one.
Reset local connection state to Unconnected when closing network system - some debug log for other machine
Clearer docs here, only log warning if networking debug is enabled here
Don't forget to add arg to header
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
Don't create a player if we're the dedicated server
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)
Fix Molotov not spawning fire nodes. When a node is extinguished, give some time for its particle emitters to die nicely. Add new fire effects stolen and tweaked from Walker.
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
Add basic selectable tree model, fix hover outline showing on already selected item
Mark procedurally added outline comp as NotSaved, NotNetworked
Some test maps plus repro case for weird nav
Merge IEnterStateEvent/ILeaveStateEvent into IGameStateEvent
Add some placeholder assets for testing. Add CursorController + some cursor types.
Fix error in OnChangePropertySet if the new value is null
Cleanup. Add test aoe_damage ability. Network selected ability (for when targeting)
Separate overloads for different activation types
For PlayerState selection process, check with Hero if we wanna override it. Implement selection of location or target for selected ability - find closest point on nav mesh when selecting a location for AoE stuff