* Start work on extracting remote communication
* ok
* Dockerfile fixes
* More fixes
* Prepare /Api/Announce and /Api/HeartBeat
* Decrease publish race conditions
* OK
* Misc
* Misc
* Misc
* Move Steam group part back to ASF core
* Finally implement match actively v2 core
* Update RemoteCommunication.cs
* Use single round exclusively, report inventories more often
* Use randomization when asking others for assetIDs
* Add support for license and crowdin
* Kill dead code
* Fix return type of inventories
* Fix responses for good
* Unify old backend with new
* Report whole inventory, always
Helps with optimization on the backend side in terms of inventory fetching
* Update RemoteCommunication.cs
* Determine index of each asset and tell server about it
* Update AnnouncementRequest.cs
* Fix ASF screwing up with the order
* Fix warnings
* Misc rename
* Final logging touches
Failure of IPC startup currently corrupts ASF logging mechanism, and since ASF expects that logging mechanism to be operative afterwards, it crashes in internal code the moment it requires user input.
Fix that, and add additional safety safeguards in case we have a legit lack of logging configuration.
https://steamcommunity.com/groups/archiasf/discussions/1/3422187248450123255/
Asking for password with encryption enabled always resulted in an error, as the password wasn't properly set to the plaintext and we were back to square one.
The previous logic was overly complex, I don't know why, this should achieve the same and be much easier to understand while at it.
Skipping a 20 KB stub in OS-specific non-windows builds and omitting a few very fast if checks isn't worth the code quality degradation that involves all of the ifdef options.
ifdefs should be reserved for stuff that either doesn't compile whatsoever in some specific configurations (NETFRAMEWORK), or is required to make logical decisions based on the compiler input (e.g. DEBUG for detecting debugging builds or ASF_VARIANT_* for hardcoding the platform identifier to use for auto-updates)
In all other situations, we should use OperatingSystem if condition, even if it's equal to hitting them on the platforms that are unlikely to hit them.
And I say unlikely, because nothing stops me from downloading a win-x64 build and running it like a generic one on windows, what you gonna do?
* Bump non-source files to net6.0
* Correct .NET 6.0 warnings
* Correct CI
* Correct linking errors
Not much I can do about them ATM
* Remove TrimmerRoots
At least runtime is no longer needed for our STD plugin, not sure about the dictionary
* Correct cc.sh
* Revert "Remove TrimmerRoots"
This reverts commit 11f603d3d6.
* First round of cat & mice game
* Update Directory.Build.props
* Update Startup.cs
* Update Startup.cs
* Update Startup.cs
* Fix new warnings
* Update SDK
* Address netf error
* Update Directory.Packages.props
* Support lol-US locale for IPC requests
* Support sr-CS as well
* Apply feedback
* Apply feedback and Rider cleanup
* Less allocations make everyone happy
* Apply feedback
* Explain why we're doing this stupidity
* Uppercase Windows/Linux compat fix
* Go back to earlier version
* Localize IPC
* Keep logs in one language
* Cleanup
* Revert changes that keep strings in one locale
* Order dependencies alphabetically
* Fix formatting (Thanks, Rider -.-)