250,302 Commits over 3,959 Days - 2.63cph!
Another fix for NRE when inventory is open and server shuts down
Merge from dofexposer_improvements
Dof Exposer will find any dof post process volume in the scene when resetting
Dedicated Server Querying and Session Authentication (#1690)
* Authentication and encryption can now be enabled (by default)
* Session authentication is added for authentication tickets - this is what makes the player count go up on a server or down when they leave
* Dedicated servers use a Fake IP and can be connected to either by their Fake IP or by their associated Steam Id
* Dedicated servers can be queried from the master server using the GameSocketShare mode and so can now be fetched in-game for displaying in some UI later (Steam Server Browser does not display them due to using Fake IP)
* Added Rich Presence support for players who are connected to a dedicated server (and other players can join the game)
* Fixed some issues with headless mode such as when things were attempting to use ISteamFriends or some texture methods
* Stale connections are properly disposed of and cleaned up within a network system where in some cases before they were not
* Ensure that we disconnect from the network system when closing the game/app, this makes sure that the Steam Game Server is properly shut down
* Fixed / implemented Steam Game Server callbacks
* Moved Steam Network Sockets configuration to C# and set them in the right place now
* Ensure that we disallow a player to connect to a dedicated server if there are no player slots remaining
Fix another issue with steam friends not being installed
Some extra fixes for that
Automatically fill in the Post Volume field when making a new DofExposer (if it's on the same gameobject)
TextRendering.GetOrCreateTexture, if we're headless, return Texture.Invalid
Added button to copy current in-game values to DofExposer
[Button] attributes can access Properties via the isTrue and isFalse parameters
Steam Rich Present Join Game support for dedicated server by fake IP or steam id depending on connection type
Update servers list, fix NREs from things tryna access ISteamFriends when they're a dedicated server and that interface isnt loaded
DofExposer values are now multiplied correctly when taking hi res screenshots
Clean up all the logs, better reason code for invalid ticket closure
Properly leave closing remote connection, such as when they dont have a valid auth ticket
Make sure reason code is clamped properly - only call socket disconnect if previously connected
Cleanup
Initial commit
https://files.facepunch.com/louie/1b0711b1/sbox.2024.11.07.00.06.52.mp4
▆█▇▉█ ▉█▉▆▊▇▌▍.▅█▍_▌█▉▄▍▉_▇▉▊▄_▊▉▅▉▄▋_▇▍▊▍▉ ▋█ ▋█▌█▇▌ ▊▌ ▍▉▆ ▆█▅ ▌▇▊▄▌▍█▌▍ █▋ ▊▉▉▄█▉█
▋▅▊▇ ▄▊▄▄ ▅▆▉▄_▆▉▋▇▇▌_█▊▋▇▆_▅▉▇▌▍▌▋▊ ▉▍ ▍▇▌
▋▄▆ ▅ ▊▉▍ ▆▇▋▉▌█▄▅▍█▊▅█▍█▌▊▌▅▆ █▊▄▅ ▇▆ ▌▊▆▉▇▄▆█▍▌▋▌, ▍█▋ ▉▊▄▇▋▍▍▆ ▆▊▇▉▇▉ ▉▇▊▅ ▊▉█▌ ▇▅▉▍ ▍▍▊▄ ▋▍ ▊█▌▍▍▌▊ ▇▍▇ ▄▍▍ █▍▍▇▉▅▋▇▌▇▋▇ ▍▋▋▍▍▉, ▆▌ █▌▍▊▊▇ ▋█▇ ▊▄▌█ ▅▄▄▄ ▉ ▅▌▄▊ ▋▄▅'▊ ▍▅▌▇▍▌
▋▅▉▊▄ ▆▋ ▅▇▆ ▍▆▆▌▍▋▊▋▌██ █▌▌▄_▌▉▄▇▊▉▍▋_▆ ▅▇▊█▄▌, ▌▍█ ▋▊▉▌_▆▋▆▉▅█_█▇▆▆, ▋▉▅▋_▋▌▋▊▍▉_▄▋▉▅, ▅▋▄▊_▉▄▄▅▉▄_▆▆▅▅██, ▆▌▌▄_▍▍▌▅▅_▄▊▄▊, ▍▋▉▅_▄▇▇█▌_▌▆▆▉
Locker adjusted textures and LOD published
Fix map drop object for local maps
Make sure all Tileset Tools account for offset Tilesets
Can change selected Tileset Component in Tileset Tool
https://files.facepunch.com/CarsonKompon/2024/November/06_19-30-MotherlyDiscus.mp4
Fix a silly bounds issue
https://files.facepunch.com/CarsonKompon/2024/November/06_19-35-FabulousLunamoth.mp4
Make sure ListView itemsPerRow can't be zero
Merge from store-ui-gestures-pack
Added internal c# methods for steam auth ticket authentication with game server - add some log output for test
▄▉██▍ ▌▍▉▄▍▍▄▅.▍█▋▊_▆▆▅▉▅▊_▄▊▉▅▇_▇█▇▅▇▊▅▉ ▆▍▋▄▋▄ ▋▆▊▌█▋▉▌ ▅▌ ▌▋ (▇▍▌▇▋▇▋▊▅ ▉▊▋▋█▋▍█▊ ▉▅█▉▇ ██ ▌▅)
▇▋▉▇█ ▆▉▇ ▆▊▍▅▇ ▇▄▌▆ ▉▌ ▅▄▄▉█ █▇ ▋▇▌▉ ▇▍▍▆▇ ▍▊ ▅▆▉ ▆▅█▆▉
Add TrailRenderer.Emitting to control when new points should be added to the trail or not
Fix camera shader node typo with FarPlane
Reverted incorrect change to PageMedia prefab
▇█▉▍▋ ▋▌▄▅▇ ▋▉▆▆▉▇▊ ▍▄█▊█▉ ▊▍▄▄▍█▌▋ ▇█▉ ▋▆ █▅▉▅▇ ▄▋█▍▊
PanelTraversalSystem: Refactor, no more block size, don't use GetPanelsAt, filter root panel descendants by on-screen, eligible panels, then rate them
Set some defaults now stuff is working. Set authentication=true, fakeip=true, and sharedqueryport=true. Servers can be queried in-game, and hide the real IP of the dedi, can be connected to via fake ip or steamid. Oddly though, the Steam Server Browser does not list the server, unless fake ip is off - can look into resolving that later as I don't know who really uses that
Adjusted text sizing on gesture wheel reset to default button
More configuration for debugging purposes
Fix compile error, remove debug log
Fix IP Address byte order retrieved from server list
Add steamnetworkingfakeip to steam headers vpc ..
Make sure we disconnect from the network when exiting the game (especially for dedicated servers, we need to clean up properly)
Request and use Fake Ip when starting a dedicated server (test)
Only pass the result, its all we need anyway
Move net config bootstrap stuff to c# so we can set it there, now can be set after steamgameserver init too for custom opts
TilesetTool draws grid at the TilesetComponent's position so the grid is actually aligned to the object
disable TOD dithering, redundant on top of global post process dither
Gizmo.Draw.Grid can be drawn at an offset