Every time we Join via New Instance, the new instance is given an new id - that id is used locally to determine the SteamId it gives the server (from some base SteamId for bots). This means you can properly test stuff like persistent data per SteamId rather than local instances using the same SteamId as the editor host. This is safe from spoofing though, because real servers and lobbies verify the SteamId the user provides.
Added BlobData API which will serialize as a binary file blob.
> Useful for large data structure
```csharp
class MyBinaryData : BlobData
{
public override void Serialize( ref Writer writer )
{
writer.Stream.Write( 1337 );
}
public override void Deserialize( ref Reader reader )
{
int val = reader.Stream.Read<int>();
}
}
```
* Enable CA2000 in editorconfig
* Remove unused CaptureStdOut class
* Add missing dispose calls in Sandbox.Tools
* Add missing dispose calls in tests
* Add missing dispose calls in launchers
* Add missing dispose calls in Topten.RichtTextKit
* Add missing dispose calls in Engine
* Add missing dispose calls in SboxBuild
* Add nullchecks to a few dispose calls
* Fix more missing disposal calls and leaks
* Disable CA2000 for Textures
* Fix disposing too early in ImageFileTextureGenerator
* Fix disposing codec, ownership is transferred to animation
* Add missing using in ByteStream benchmark
* Stop generating solutions via -test flag add -generatesolution
* Add TestAppSystem remove Application.InitUnitTest
Avoids some hacks and also makes sure our tests are as close to a real AppSystem as possible.
* Add shutdown unit test
shuts down an re-inits the engine
* Properly dispose native resources hold by managed during shutdown
Should fix a bunch of crashes
* Fix filesystem and networking tests
* StandaloneTest does proper Game Close
* Make sure package tests clean up properly
* Make sure menu scene and resources are released on shutdown
* Report leaked scenes on shutdown
* Ensure DestroyImmediate is not used on scenes
* Fix unmounting in unit tests not clearing native refs
* Force destroy native resource on ResourceLib Clear
Update QueryServers to stop throwing on cancellation and return any collected server data. Catch OperationCanceledException, letting callers treat timeouts as empty/partial results.
Co-authored-by: trende2001 <68961063+trende2001@users.noreply.github.com>